Module Navigation

Payroll Integration Troubleshooting: Preload or Lookup Data Setup Failure

Before a Payroll entity can read or write any records, it first loads the reference data it depends on: Work Locations, Pay Schedules, Earning Codes, Employees, Payrolls, Company details, and related Arcoro org-structure data such as Cost Codes, Jobs, and Labor Classifications. This loading step is called preload.

If any of that reference data is missing, empty, inactive, or duplicated, the preload step fails and the entity is not read or written at all for that run. The specific message in the log names which piece of reference data was the problem; a second, more generic message usually follows it and reports that the whole preload failed.

A handful of the messages in this article exist in the underlying code but are currently disabled, or are logically impossible to reach given how the surrounding check is written. Those are called out in the table and in Open questions so you do not spend time chasing a message that cannot actually appear.

Error Messages

Message textDirectionOccurs whenOutcomeFix
Preload failed to return any Work Locations. Populate Payroll with Work Locations and execute the Sync again.Read and WritePayroll returns zero Work Locations at all for the connector's company (before any active/inactive filtering). Seen on the Contractor, Employee, Expense, and Time Record preloads, on both read and write.Sync stopped. The entity's whole preload batch fails and a terminal error is thrown right after this message.Add at least one Work Location in Payroll for this company.
Contractor Preload encountered one or more errors. Review the logs, correct the issues and execute the Sync again.ReadAny one of the Contractor preload's parallel loads (Work Locations, Departments, Labor Classifications, Business Units) fails. In practice only the Work Locations load can currently fail. This same text is also wired to the General Ledger preload's batch check, but none of the General Ledger preload's own loads can currently fail, so it cannot appear there.Sync stopped. This is the generic wrapper message that follows a specific error such as the Work Locations messages below.Find the specific error logged immediately before this one and fix that root cause, then re-run.
Preload couldn't find any active Locations on Payroll.Read and WritePayroll has Work Locations, but after filtering to active ones only, none remain. Seen on the Contractor preload, both read and write.Sync stopped.Reactivate at least one existing Work Location in Payroll, or create a new active one.
Employee Preload couldn't find any active Locations on Payroll.ReadNamed for "no active locations", but the Employee read preload does not filter Work Locations by active status before this check runs, and the check only runs after confirming Payroll returned at least one Work Location. As written, this check cannot currently be true.Currently unreachable. It cannot fire in the running application.Not applicable. If this exact text is ever seen in a log, escalate it as unexpected.
Preload failed to find any Pay Schedule with name '[pay schedule name]'. Make sure Pay Schedule '[pay schedule name]' exist in Payroll and execute the Sync again.Read and WriteThe sync's Pay Schedule run-time parameter is set to a specific name (and is not "Terminated") and no Pay Schedule in Payroll matches that name (case-insensitive); or, when no Pay Schedule parameter is set, Payroll has zero Pay Schedules at all. Seen on the Employee, Expense, Time Off Balance, and Time Record preloads, both read and write.Sync stopped.Correct the Pay Schedule run-time parameter on the Run Sync dialog to match an existing Payroll Pay Schedule name, or create that Pay Schedule in Payroll.
Employee Preload encountered one or more errors. Review the logs, correct the issues and execute the Sync again.Read and WriteAny one of the Employee preload's parallel loads fails. This same generic text is also used by the Contractor write preload when one of its own loads fails, not only by the Employee preload.Sync stopped.Find the specific error logged immediately before this one and fix that root cause, then re-run.
The Sync could not read the Master list of Tax Forms from CheckHq. Attempt the Sync again and if the problem persists contact Support.Read and WritePayroll's master list of tax forms comes back empty. On read this only runs when the Federal Taxes scope is enabled; on write it runs when either Federal Taxes or State Taxes is enabled.Sync stopped.Retry the sync. If it keeps failing, escalate; see Open questions for a known code-level defect on the read side.
General Ledger mapping errors occurred: [list of mapping error text].ReadThe internal payroll query used to build the General Ledger export returns one or more mapping errors for the requested Pay Date.Record skipped. Only one General Ledger record is ever attempted per run, so this leaves nothing synced for that run.Review the bracketed error text for the actual cause; it is generated by an internal query, so if it does not point to something you can fix in Payroll, escalate.
No payrolls were found for the PayDate [pay date] and Pay Schedule [pay schedule or [None]]ReadNo payroll's line items match the requested Pay Date (and Pay Schedule, if one was given as a sync parameter).Record skipped.Confirm the Pay Date and Pay Schedule sync parameters match a payroll that was actually run in Payroll.
Multiple payrolls found for the PayDate [pay date] and the PaySchedule [pay schedule or [None]]ReadMore than one distinct payroll matches the requested Pay Date. This is most likely when no Pay Schedule sync parameter was given to narrow the match.Record skipped.Set the Pay Schedule sync parameter so the Pay Date resolves to exactly one payroll.
Preload failed to return any Payrolls in a paid status. Complete a payroll process in the Payroll Application and execute the Sync again.ReadPayroll has no payroll in a Paid status. Seen on the Time Record read preload.Sync stopped.Complete a payroll run in Payroll so it reaches Paid status, then re-run.
Preload encountered a workplace with a Null or Empty Name. Correct the workplace in Payroll and execute the Sync again.Read and WriteAmong the active Work Locations, at least one has a blank or missing name. On write this only runs when the Location scope is enabled.Collection item skipped for that one Work Location, but the whole preload for that entity still fails afterward, so the outcome is Sync stopped.Give every active Work Location a name in Payroll.
Preload failed to return any Company Earning Codes. Populate Payroll with Earning Codes and execute the Sync again.Read and WritePayroll returns zero Earning Codes. On write this only runs when the Compensations scope is enabled.Sync stopped.Add at least one Earning Code in Payroll.
Preload failed to return any Employees. Populate Payroll with Employees and execute the Sync again.Read and WriteAfter filtering to active employees (inactive employees are kept only when the pay schedule parameter is "Terminated") and then to the Employee Id run-time filter (if one was given), zero employees remain. Seen on the Expense, Time Off Balance, and Time Record preloads, both read and write.Sync stopped.Confirm Payroll has active employees, and if an Employee Id filter was entered on the Run Sync dialog, confirm it matches real employee identifiers.
Time Record Preload encountered one or more errors. Review the logs, correct the issues and execute the Sync again.Read and WriteAny one of the Time Record preload's parallel loads fails. This same generic text is also used by the Time Off Balance write preload.Sync stopped.Find the specific error logged immediately before this one and fix that root cause, then re-run.
Time Record Preload did not read any Employees or Contractors. The provider will not be able to process Time Records. Review the logs, correct the issues and/or populate Payroll with People and execute the Sync again.Read and WriteNamed to fire when zero employees were preloaded. As written, the employee load itself already fails and reports "Preload failed to return any Employees" whenever the employee count is zero, which fails the whole preload batch before this separate check ever runs.Currently unreachable. It cannot fire in the running application.Not applicable. Use the fix for "Preload failed to return any Employees" instead. If this exact text is ever seen in a log, escalate it as unexpected.
Preload failed to return any Cost Code. Populate Payroll with Cost Codes and execute the Sync again.Read and WriteThe code that would raise this is commented out in both the Time Record read and write preloads. There is currently no active path that produces this message.Not applicable. This message cannot currently appear.Not applicable. If this exact text is ever seen in a log, escalate it as unexpected.
Preload failed to return any Jobs. Populate Payroll with Jobs and execute the Sync again.Read and WriteThe code that would raise this is commented out in both the Time Record read and write preloads. There is currently no active path that produces this message.Not applicable. This message cannot currently appear.Not applicable. If this exact text is ever seen in a log, escalate it as unexpected.
Preload failed to return any Labor Classifications. Populate Payroll with Labor Classifications and execute the Sync again.Read and WriteThe code that would raise this is commented out in both the Time Record read and write preloads. There is currently no active path that produces this message.Not applicable. This message cannot currently appear.Not applicable. If this exact text is ever seen in a log, escalate it as unexpected.
Preload failed to find a Company with id '[connector company id]' on Payroll. Make sure your connector configuration is correct and execute the Sync again.WriteLooking up the Company configured on the connector in Payroll returns an error, or returns no company. Seen on the Contractor and Employee write preloads.Sync stopped.This is a connector setup issue. Check the Company Id on the connector's configuration and correct it.
Employee Preload couldn't find any Earning Codes on Payroll.WritePayroll returned Earning Codes, but every one of them is one of a fixed set of excluded system earning types (for example cash tips, group term life, or piece-rate types), leaving none usable. Only runs when the Compensations scope is enabled.Sync stopped.Add at least one Earning Code in Payroll that is not one of the excluded system types.
Preload encountered more than one workplace with the Name of [work location name]. Each workplace in Payroll must have a Unique Name. Correct the workplace in Payroll and execute the Sync again.WriteTwo or more active Work Locations share the exact same name (case-insensitive). Seen on the Employee, Expense, and Time Record write preloads. On the Employee write preload this only runs when the Location scope is enabled.Collection item skipped for the duplicate, but the whole preload for that entity still fails afterward, so the outcome is Sync stopped.Rename one of the duplicate Work Locations in Payroll so every active Work Location name is unique.
Expense Preload encountered one or more errors. Review the logs, correct the issues and execute the Sync again.WriteAny one of the Expense preload's loads fails (Employees, Pay Schedules, Payrolls, Work Locations, Business Units, or employee bank accounts).Sync stopped.Find the specific error logged immediately before this one and fix that root cause, then re-run.
Expense Preload did not read any Employees or Contractors. The provider will not be able to process Expenses. Review the logs, correct the issues and/or populate Payroll with People and execute the Sync again.WriteNamed to fire when zero employees were preloaded. As written, the employee load itself already fails and reports "Preload failed to return any Employees" whenever the employee count is zero, which fails the whole preload batch before this separate check ever runs.Currently unreachable. It cannot fire in the running application.Not applicable. Use the fix for "Preload failed to return any Employees" instead. If this exact text is ever seen in a log, escalate it as unexpected.
Preload failed to return any Payrolls in a draft status. Begin a payroll process in the Payroll Application and execute the Sync again.WritePayroll has no payroll in a Draft status. Seen on the Expense, Time Off Balance, and Time Record write preloads.Sync stopped.Begin a payroll run in Payroll for the pay schedule being synced so a draft payroll exists, then re-run.

Confirming the Error

  1. Open the sync execution for the run in the Arcoro sync history.
  2. Open the step for the Payroll connector.
  3. Find the entity row for the affected data: Contractor, Employee, Expense, General Ledger, Time Off Balance, or Time Record. Several of the messages above share nearly identical wording across entities, so confirm you are reading the count under the correct entity row before drawing a conclusion.
  4. Check the Errors, Warnings, Information, and Failures columns for that entity row. Open the entity's message list and match the fixed English wording of the message, ignoring the specific values that appear in quotes or brackets, such as a pay schedule name or a company id.
  5. When a preload failure stops the sync for that entity, expect to see the specific message (for example, a missing Work Locations or Pay Schedule message) together with the entity's generic wrapper message such as "Employee Preload encountered one or more errors" or "Time Record Preload encountered one or more errors." The specific message is the one to act on.

Resolving the Error

Missing or Inactive Setup Data in Payroll

This covers the Work Locations, Pay Schedule, Earning Codes, Employees, and Payroll status messages in the table above.

  1. Identify which kind of record the message names: Work Location, Pay Schedule, Earning Code, Employee, or Payroll status.
  2. In Payroll, open the matching setup screen and add, activate, rename, or otherwise correct the record the message describes.
  3. If the message names a specific value in quotes, such as a Pay Schedule name, confirm that exact value exists and is spelled the same way in Payroll.
  4. Re-run the sync and confirm the entity no longer shows the message in its error list.

Connector Configuration Message

This covers "Preload failed to find a Company with id" only.

  1. Open the connector's configuration in Arcoro.
  2. Confirm the Company Id configured for the connector matches an existing company in Payroll.
  3. Correct the configuration if it does not, then re-run the sync.

Messages Flagged as Currently Unreachable or Inactive

This covers "Employee Preload couldn't find any active Locations," "Time Record Preload did not read any Employees or Contractors," "Expense Preload did not read any Employees or Contractors," and the three Cost Code, Job, and Labor Classification not-found messages.

  1. Do not spend time trying to reproduce these from setup data. As documented in the table, each one is either dead code or is written so that a different message always fires first.
  2. If your log genuinely shows this exact text, treat it as unexpected and escalate rather than troubleshooting it as a normal setup issue.

When to Escalate

If any of the following occur, you may need to reach out to Arcoro support for additional assistance.

  • The specific setup data is confirmed present, active, and uniquely named in Payroll, but the same message still appears after a re-run.
  • The log text does not match any message in the table above.
  • The log shows one of the messages flagged in the table as currently unreachable or inactive.
  • You see "The Sync could not read the Master list of Tax Forms from CheckHq" repeatedly on a Federal Taxes read sync; this can indicate the known code-level issue noted in Open questions rather than a genuinely empty tax form list.
  • The General Ledger mapping error message's bracketed detail text does not describe anything you can fix in Payroll.
Was this article helpful?
0 out of 0 found this helpful