+ my $matching_order = $matching_orders[0];
+
+ if (!$matching_order->is_sales) {
+ my $err_msg = 'ConvertTimeRecordings: searching related order failed for time recording id ' . $tr->id . ' : found order is not a sales order';
+ $::lxdebug->message(LXDebug->WARN(), $err_msg);
+ push @{ $self->{job_errors} }, $err_msg;
+ return;
+ }
+
+ if ($matching_order->customer_id != $tr->customer_id) {
+ my $err_msg = 'ConvertTimeRecordings: searching related order failed for time recording id ' . $tr->id . ' : customer of order does not match customer of time recording';
+ $::lxdebug->message(LXDebug->WARN(), $err_msg);
+ push @{ $self->{job_errors} }, $err_msg;
+ return;
+ }
+
+ if ($tr->project_id && $tr->project_id != ($matching_order->globalproject_id || 0)) {
+ my $err_msg = 'ConvertTimeRecordings: searching related order failed for time recording id ' . $tr->id . ' : project of order does not match project of time recording';
+ $::lxdebug->message(LXDebug->WARN(), $err_msg);
+ push @{ $self->{job_errors} }, $err_msg;
+ return;
+ }
+
+ return $matching_order;