Every time card, expense, and time off balance has to land on an open payroll cycle for a specific, active employee before Payroll will accept it. Before that can happen, the sync also has to match the record's job, cost code, labor classification, location, and business unit against what is already set up in Hub and Payroll. Most of the messages in this article are one of those checks failing, either because a required field is empty in the source system or because a value cannot be matched to something Payroll or Hub already knows about. A smaller number of messages are about the payroll cycle itself being closed, missing, or not accepting changes.
Error Messages
| Message text | Direction | Occurs when | Outcome | Fix |
|---|---|---|---|---|
| The employee/contractor for the Time Record is not set, and as a result, it cannot be Synced. Please update the missing information and execute the Sync again. | Read and Write | Read: the payroll line item returned by Payroll has no employee that matches an employee already loaded from Payroll for this run. Write: the incoming Arcoro time record has no value in the Person Identifier field. | Whole record skipped. On read, the payroll line item is left out of Arcoro entirely. On write, the time record never reaches Payroll. | On write, set a valid employee on the time entry in Arcoro Time (formerly ExakTime) or Core HR. On read, this points to an unassigned or orphaned line item inside Payroll itself; escalate rather than looking for a fix in Arcoro. |
| The person '[person identifier]' for the Time Record could not be matched to an active Employee/Contractor in Payroll. The record will not be Synced. Please update the missing information and execute the Sync again. | Write | None of the four employee-matching strategies (source id, Arcoro user id, Arcoro person id, employee identifier) find a match in Payroll, or a match is found but that employee is inactive in Payroll and this is not a Terminated pay schedule sync. | Whole record skipped. | In Payroll, confirm the employee exists and is active. If the employee was recently terminated, run the sync with the Terminated pay schedule selected instead of the regular one. |
| Payroll does not support Syncing Time Records for Contractors. These records will be ignored. | Write | The incoming time record's Is Person A Contractor flag is true. | Whole record skipped, by design. | No fix needed. Contractor time is never sent to Payroll; if you expected otherwise, explain this is expected behavior for 1099 contractors. |
| The start date for one or more Time Cards is not set on the record. Those records cannot be Synced but some time cards may still be processed. Please update the missing information and execute the Sync again. | Write | One or more time cards in the batch for this employee has no Start Date/Time value. | Collection item skipped. Only the time cards missing a start date are left out; other time cards for the same employee still process. | In Arcoro Time or Core HR, set a start date on the affected time card and rerun the sync. |
| The end date for one or more Time Cards is not set on the record. Those records cannot be Synced but some time cards may still be processed. Please update the missing information and execute the Sync again. | Write | One or more time cards in the batch for this employee has no End Date/Time value. | Collection item skipped. Only the time cards missing an end date are left out; other time cards still process. | Set an end date on the affected time card in the source system and rerun the sync. |
| The start date must come before the end date for a Time Card. Those records cannot be Synced but some time cards may still be processed. Please update the missing information and execute the Sync again. | Write | A time card has both a start and an end date, but the start date is later than the end date. | Collection item skipped, for that one time card. Other time cards still process. | Correct the start and end date order on the time card in the source system and rerun. |
| Could not find a paid Payroll with Pay Schedule '[pay schedule]' and Pay Date '[pay date]'. Time Records will not be synced. Please verify the Pay Schedule and Pay Date are correct and execute the sync again. | Read | No payroll in Payroll has a status of Paid that matches both the Pay Schedule and Pay Date parameters entered for this sync run. | Sync stopped. The entire read step throws and no time records are read for this run. | In Payroll, confirm a payroll with a status of Paid exists for that Pay Schedule and Pay Date. If the payroll has not been processed to Paid yet, wait until it has, or correct the Pay Date entered on the Run Sync dialog. |
| Could not match a valid Payroll for any Time Cards. The record will not be Synced. Please update the record and execute the Sync again. | Write | After filtering, none of the employee's time cards fall inside any Draft payroll for the matched pay schedule (or the Terminated payroll) that overlaps their date range. | Whole record skipped. | In Payroll, confirm a Draft payroll exists for the employee's pay schedule that covers the date range of their time cards. |
| Time entry for employee [employee] on [date] is outside the date range of any Payroll with a status of Draft and Pay Schedule '[pay schedule]'. This entry will not be synced. | Write | For one specific time card, no payroll matches the pay schedule (or Terminated type) and the time card's date range while also being in Draft status. | Collection item skipped, for that one time card only. Other time cards for the employee still process. | In Payroll, confirm a Draft payroll exists that covers that specific date for the pay schedule shown. |
| Payroll '[pay schedule]' with a Payday of '[pay date]' is not in a status that allows edits. Records for this payroll cycle will not be will not be Synced. | Write | A payroll cycle that otherwise matches the pay schedule and date range has a status other than Draft in Payroll (already processed, paid, or otherwise closed). Fires for both Time Records and Expenses. Note: a Draft payroll that is only internally marked "submitted for approval" does not trigger this message; the sync reverts that flag automatically when it needs to write changes. | Collection item skipped. Time cards or expenses that fall in that specific payroll cycle are skipped for this run; other payroll cycles for the same employee still process. | In Payroll, confirm which cycle theyou expect the data to land in. If that cycle has already been processed or paid, the data has to go into the next open Draft cycle instead; it cannot be added to a closed one. |
| A Time Record has already been updated and has received a second update from the source system. Only the first update will be processed. | Write | Within the same sync run, the earning matched for a time entry already has a pending write recorded against it, meaning more than one time entry in the batch mapped to the same underlying Payroll earning. | Collection item skipped. Only the second, duplicate time entry is dropped; the first update for that earning still goes through. | In the source system, check for duplicate or split entries that map to the same time entry and remove or merge them before rerunning. If this repeats across many employees, escalate as a possible source-data or mapping issue. |
| The company's Location list in Payroll does not contain a match for '[location]'. Any time cards with this Location will not be processed. Verify the Location data in the source system and execute a Sync that includes the Location domain. | Write | A Location value used on one or more of the employee's time cards does not match any Workplace by name in Payroll at all. | Collection item skipped. That Location is not added to the employee's assigned workplaces, and any earnings tied to it are skipped as a result. | Confirm the Location name matches an active Workplace already synced into Payroll. If it does not exist there yet, run a sync that includes the Location domain, then rerun the Time Record sync. |
| The location '[location]' for the Time Record could not be matched to an active Workplace in Payroll. The record will not be Synced. Please update the missing information and execute the Sync again. | Write | A Location value on a time card matches a Workplace by name in Payroll, but that Workplace is not active. | Collection item skipped, same cascading effect as the Location match error above. | In Payroll, reactivate the Workplace, or correct the Location value in the source system to point to an active workplace, then rerun. |
| The location for one or more Time Cards is not set on the record. Those records cannot be Synced but some time cards may still be processed. Please update the missing information and execute the Sync again. | Write | One or more time cards in the batch has an empty Location value. | Collection item skipped, for the time cards missing a location. Others still process. | Set a Location on the time card in the source system and rerun the sync. |
| Unable to find a matching Job in Hub with Id '[job id]'. If your Jobs originate in an external system, you may need to run a Sync to bring that record into Arcoro. If Arcoro Time is where your Jobs originate, you will need to contact Arcoro Support for assistance. | Write | The time entry's Job code does not match any Job in Hub, a Job code was provided, and the connector is not scoped to a single Business Unit. | Collection item skipped. Only that time entry's earning is left out. | In Hub, confirm the Job exists. If Jobs originate in an external system, run a sync to bring the Job into Arcoro first. If Arcoro Time is where Jobs originate, contact Arcoro Support. |
| Unable to find Job '[job code]' in the Business Unit selected on this connector. The Job may belong to a different Business Unit. Assign the Job to this Business Unit in Hub, or select the correct Business Unit on the connector, then run the Sync again. | Write | Same job-not-found condition as the message above, but the connector is scoped to a single Business Unit, so Jobs are filtered down to that Business Unit before matching. The Job may exist in Hub but under a different Business Unit. | Collection item skipped. | In Hub, assign the Job to the connector's Business Unit, or change the Business Unit selected on the connector to the one that owns the Job. |
| Unable to find a matching Cost Code in Hub with Id '[cost code id]' and Name '[cost code name]'. If your Cost Codes originate in an external system, you may need to run a Sync to bring that record into Arcoro. If Arcoro Time is where your Cost Codes originate, you will need to contact Arcoro Support for assistance. | Write | A Cost Code Id or Name was provided on the time card, but no Cost Code in Hub matches both the identifier and the name. | Collection item skipped, for that time entry only. | In Hub, confirm the Cost Code exists with a matching identifier and name. If Cost Codes originate externally, sync them into Arcoro first; otherwise contact Arcoro Support. |
| Unable to find a matching Labor Classification in Hub with Id '[labor class id]' and Name '[labor class name]'. If your Labor Classifications originate in an external system, you may need to run a Sync to bring that record into Arcoro. If Arcoro Time is where your Labor Classifications originate, you will need to contact Arcoro Support for assistance. | Write | A Labor Classification Name was provided on the time card, but no Labor Classification in Hub matches both the name and the identifier. | Collection item skipped, for that time entry only. | In Hub, confirm the Labor Classification exists with a matching name and identifier. If it originates externally, sync it into Arcoro first; otherwise contact Arcoro Support. |
| Unable to find a matching Business Unit in Hub with Identifier '[business unit id]' and Name '[business unit name]'. If your Business Units originate in an external system, you may need to run a Sync to bring that record into Arcoro. If Arcoro Time is where your Business Units originate, you will need to contact Arcoro Support for assistance. | Write | A time card carries a Business Unit Id or Name, you are not on the Sage Intacct required-business-unit path, and that Business Unit cannot be matched by both identifier and name in Hub. | Whole record skipped. This check runs before any time cards are written and stops on the first offending time card, aborting the entire employee's write for this run. | In Hub, confirm the Business Unit referenced on the time card exists with a matching identifier and name. If it originates externally, sync it into Arcoro first. |
| A time card was assigned to Business Unit '[time card business unit]', which does not match the employee's Business Unit '[employee business unit]'. Payroll only supports a single Business Unit per employee. Correct the data in the source system so all time cards for this employee use the employee's Business Unit and execute the Sync again. | Write | A time card's Business Unit is matched in Hub, but its id differs from the Business Unit already assigned to the employee's record. | Whole record skipped, same early-stop behavior as the Business Unit match error above. | In the source system, correct the time card so its Business Unit matches the employee's own assigned Business Unit. |
| To support exporting Time records to Sage Intacct each record must have a valid Business Unit assigned. The time card will not be processed. Correct the data in the source system and execute the Sync again. | Write | Your Payroll company is configured for Sage Intacct export, and a time card's Business Unit does not match any Business Unit in Hub at all (whether or not a value was provided). | Whole record skipped, same early-stop behavior. | In the source system, assign a valid Business Unit to every time card for this employee, since Sage Intacct export requires one. |
| To support exporting Time records to Sage Intacct each record must have a valid Job assigned. The time card will not be processed. Correct the data in the source system and execute the Sync again. | Write | Sage Intacct user, and the Job lookup for the time entry fails, with the connector not scoped to a Business Unit or the Job code left blank. | Collection item skipped, for that time entry. | In the source system, assign a valid Job to the time entry, since Sage Intacct export requires one. |
| To support exporting Time records to Sage Intacct each record must have a valid Cost Code assigned. The time card will not be processed. Correct the data in the source system and execute the Sync again. | Write | Sage Intacct user, and no Cost Code at all was matched for the time entry. | Collection item skipped. | In the source system, assign a valid Cost Code to the time entry. |
| To support exporting Time records to Sage Intacct the Cost Code's Identifier must start with the Sage Intacct Project ID in brackets. i.e. "[24-001S-E] 00 31 46". The time card will not be processed. Correct the data in the source system and execute the Sync again. | Write | Sage Intacct user, and the matched Cost Code's identifier is blank, or it does not start with a bracketed project id that can be parsed out of it. | Collection item skipped. | In Hub, correct the Cost Code's identifier so it starts with the Sage Intacct Project Id in brackets, for example "[24-001S-E] 00 31 46". |
| To support exporting Time records to Sage Intacct the Cost Code must be owned by the Project in Sage Intacct. The time card will not be processed. Correct the data in the source system and execute the Sync again. | Write | Sage Intacct user, the Cost Code's bracketed project id parses successfully, but it does not match the identifier of the Job matched on the same time entry. | Collection item skipped. | In Hub, confirm the Cost Code's bracketed project id matches the Job on the time entry; correct the Cost Code prefix or choose the matching Job. |
| The employee/contractor for the Expense is not set, and as a result, it cannot be Synced. Please update the missing information and execute the Sync again. | Write | The incoming Arcoro expense record has no value in the Person Identifier field. | Whole record skipped. | In Arcoro Time (formerly ExakTime), set a valid employee on the expense and rerun the sync. |
| The person '[person identifier]' for the Expense could not be matched to an active Employee/Contractor in Payroll. The record will not be Synced. Please update the missing information and execute the Sync again. | Write | None of the four employee-matching strategies find a match in Payroll, or a match is found but that employee is inactive and this is not a Terminated pay schedule sync. | Whole record skipped. | In Payroll, confirm the employee exists and is active, or run the sync with the Terminated pay schedule if the employee was recently terminated. |
| Payroll does not support Syncing Expenses for Contractors. These records will be ignored. | Write | The incoming expense record's Is Person A Contractor flag is true. | Whole record skipped, by design. | No fix needed. Contractor expenses are never sent to Payroll. |
| The Date for one or more Expenses is not set. Those records cannot be Synced but some Expenses may still be processed. Please update the missing information and execute the Sync again. | Write | One or more expenses in the batch has no Expense Date value. | Collection item skipped, for the expenses missing a date. Others still process. | Set an Expense Date on the affected expense in the source system and rerun. |
| The payroll for one or more Expenses could not be matched to a Payroll with a status of Draft. Those records will not be Synced. Please update the record and execute the Sync again. | Write | For a given expense line item with a date and a matched pay schedule, no payroll in Draft status covers that date for that pay schedule. | Collection item skipped, for the affected expense. | In Payroll, confirm a Draft payroll exists for that pay schedule covering the expense date. |
| The location for one or more Expenses is not set on the record. Those records cannot be Synced but some time cards may still be processed. Please update the missing information and execute the Sync again. | Write | One or more expenses in the batch has an empty Location value. | Collection item skipped, for the expenses missing a location. | Set a Location on the expense in the source system and rerun. |
| The location '[location]' for the Expense could not be matched to an active Workplace in Payroll. The record will not be Synced. Please update the missing information and execute the Sync again. | Write | An expense's Location does not match any Workplace by name in Payroll, or it matches a Workplace that is not active. Unlike Time Records, both conditions share this one message. | Collection item skipped. That location is not added to the employee's workplaces, and reimbursements tied to it are skipped as a result. | In Payroll, confirm the Workplace exists and is active, or correct the Location value in the source system, then rerun. |
| The employee for the Time Off Balance record is not set, and as a result, it cannot be Synced. Please update the missing information and execute the Sync again. | Write | The incoming Time Off Balance record has no value in the Employee Identifier field. | Whole record skipped. | In Arcoro Time, ensure the balance record carries a valid Employee Identifier and rerun. |
| The employee '[employee]' for the Time Off Balance could not be matched to an active Employee in Payroll. The record will not be Synced. Please add the employee to Payroll and execute the Sync again. | Write | None of the four employee-matching strategies find a match in Payroll, or a match is found but that employee is inactive and this is not a Terminated pay schedule sync. | Whole record skipped. | Add or activate the employee in Payroll first, then rerun the sync. |
| The employee '[employee]' has Time Off Balances but there was no payroll found to update the balances on. This could be valid but it could also mean that the employee has issues with their time cards. | Write | None of the Draft payrolls for the employee's pay schedule that overlap the sync's pay period already contain a payroll line item for this employee, meaning no Time Record or Expense has been synced for them into that payroll yet. | Whole record skipped. It is still logged as an Error and counts against the entity's Errors total, even though the message itself says this can be expected. | Confirm the employee has a Time Record or Expense already synced into an open Draft payroll for this period. If they do and this still fires, escalate. If the employee genuinely has no activity this cycle, this can be treated as informational. |
Confirming the Error
- Open Sync History and find the sync execution for the Payroll connector and date in question.
- Open the step for this connector and locate the row for the Time Record, Expense, or Time Off Balance entity, matching whichever entity reported an issue.
- Check the Errors, Warnings, Information, Failures, Added, Updated, and Unchanged counts for that entity row. A non-zero Errors count is where most of the messages in this article show up; a non-zero Failures count at the step or run level, rather than on the entity row, is what to expect for TimeRecordNoPaidPayrollFound, since that one stops the whole read step instead of failing a single record.
- Open the entity row's errors list and match on the fixed part of the sentence, not the quoted values, since names, ids, and dates in the message change per record.
- If the message doesn't match anything in the table above, treat it as out of scope for this article; check the other Payroll articles linked below or escalate.
Resolving the Error
Employee, contractor, and pay schedule problems
- Confirm the employee is set on the record in the source system (Arcoro Time or Core HR) and that a valid identifier is present.
- Confirm the matching employee exists and is active in Payroll; if the employee was recently terminated, rerun the sync using the Terminated pay schedule option instead of the regular one.
- If the record is for a 1099 contractor, explain that Payroll does not sync Time Records, Expenses, or Time Off Balances for contractors; this is expected behavior, not a defect.
Missing or out-of-order dates and locations
- In the source system, set the missing Start Date, End Date, Expense Date, or Location on the specific time card or expense named in the error.
- If a start date is after an end date, correct the order on that time card.
- Rerun the sync and confirm the previously affected time card or expense no longer appears in the entity's errors list.
Payroll cycle problems
- In Payroll, confirm a payroll exists for the pay schedule and date range in question, and that its status is Draft (for writes) or Paid (for the read-only TimeRecordNoPaidPayrollFound message).
- If the matched payroll cycle has already moved past Draft (processed or paid), the data has to land in the next open Draft cycle; it cannot be added to a closed one.
- Rerun the sync once the correct cycle is open, and confirm the record now appears in the Added or Updated counts instead of Errors.
Job, cost code, labor classification, and business unit mismatches
- In Hub, confirm the referenced Job, Cost Code, Labor Classification, or Business Unit exists with a matching identifier and name (or code) as shown in the error.
- If these entities originate in an external system, run a sync that brings them into Arcoro before rerunning the Time Record or Expense sync.
- If Arcoro Time is where the entity originates and it still cannot be found, escalate to Arcoro Support rather than trying to fix it as a data issue.
- For connectors scoped to a single Business Unit, check whether the Job or Business Unit exists but is assigned to a different Business Unit; either reassign it in Hub or change the Business Unit selected on the connector.
- For Sage Intacct users, confirm the Cost Code's identifier starts with the Sage Intacct Project Id in brackets and that the Cost Code's project matches the Job on the same time entry.
- Rerun the sync and confirm the record moves out of the entity's errors list.
When to escalate
- The error persists after the source and Hub data have been corrected and the sync has been rerun.
- The message text in the log does not match anything in the table above.
- The outcome is Sync stopped (TimeRecordNoPaidPayrollFound), and correcting the Pay Schedule, Pay Date, or payroll status in Payroll does not resolve it.
- TimeRecordEmployeeRequiredError appears on the read side (pulling data from Payroll back into Arcoro); this points to data inside Payroll itself, not at anything you can fix from the source system.
- A Job, Cost Code, Labor Classification, or Business Unit match error persists even though you confirm Arcoro Time is where that entity originates, since the message itself says this needs Arcoro Support.
- DuplicateTimeRecordEarningWriterError repeats across many employees in the same run, which may point to a source-data or mapping defect rather than a one-off duplicate entry.