Integrations

Compare payroll from any system, one export at a time

SmartCompaire is system-agnostic. To test a payroll system migration, you export pay results from the old and new systems, load them into a project, and compare them employee by employee and pay code by pay code.

How SmartCompaire works with your payroll systems

SmartCompaire does not connect live to SAP, Workday, Oracle, ADP or any other payroll or time system. There are no scheduled pulls, SFTP drop folders or customer API. Every piece of data comes in through the app as an uploaded spreadsheet or CSV, rows typed on screen, or rows pasted from a spreadsheet.

That is deliberate for migration testing. If a system can export pay results by employee and pay code, SmartCompaire can compare it, whether it is the legacy system you are leaving or the one you are moving to. It also means SmartCompaire never writes anything back to either system. It finds, grades and records differences; fixing them stays with your payroll team.

Each project records a source system and a target system with an ID for each. Those IDs label the template columns, so the two exports are easy to tell apart. The upload does not check which system a file came from, so load each export into the matching source or target step. Each organization can also set up which payroll and time systems are offered per country.

What you load from each system

Every project, whatever the systems, is set up in the same four steps. Each step accepts a file upload, typed entry or rows pasted from a spreadsheet.

  1. Employee mapping

    Pair each source employee number with its target employee number. The template has two columns titled with your source and target system IDs. Each number can be mapped only once in either direction, and duplicates are rejected with their row number.

  2. Paycode mapping

    Translate source pay codes into target pay codes, each tagged with a Bucket such as Earnings or Deductions and a Bucket code type such as Gross or Pre-Tax. Tax authority codes are optional. Two source codes mapped to one target code are summed and compared as a total.

  3. Source pay data

    Export pay results from the system you are leaving into the 15-column pay data template: payroll area, periods, check date, employee, tax authority, pay code, number, rate, amount, and MTD, QTD and YTD amounts. Only PayCode is required on each row.

  4. Target pay data

    Load the same layout from the new system, using the target template, whose columns carry the target system ID. A readiness check then shows how many rows will match a mapping before you start a run.

    Learn more

How exported files are handled

Payroll extracts are rarely tidy. The import is built to accept what systems actually produce and to tell you exactly which rows it could not use.

Downloadable templates

Each setup step offers a downloadable Excel template with the column headers the upload expects. Header matching ignores case, spaces and punctuation. Keep only the template's columns in your file: an extra column whose name ends like a template column, such as "Check Number" or "Gross Amount", can be read in place of the template column.

Excel and CSV

Upload .xlsx, .xls or .csv files; only the first worksheet is read. CSV files can be UTF-8 or Windows-1252, separated by commas, semicolons, tabs or pipes.

IDs and amounts kept intact

Leading zeros in employee numbers are kept when the column is exported as text, as in CSV. Amounts with $ signs, thousands commas or accounting negatives such as (12.00) are parsed and stored as exact decimals, not floating point.

Common date formats

Check dates are accepted as Excel serial numbers or as YYYY-MM-DD, MM/DD/YYYY, DD/MM/YYYY, YYYY/MM/DD, DD-Mon-YYYY and MM-DD-YYYY.

Large extracts in the background

Every upload is imported in the background with progress tracking and a cancel option, 5,000 rows per batch. Files over 2 MB skip the in-browser preview. The default upload limit is 100 MB.

Row-level error reports

Each rejected row is reported with its real spreadsheet row number and a plain reason. The first 100 are shown on screen, and up to 100,000 are in a downloadable CSV with the original cells, so you can see exactly what to correct.

Payroll and time comparisons use the same layout

A project is either a payroll or a time comparison. Time projects use the same file layout and the same comparison logic, with hours or units in the Number column. Number differences are recorded for every row, but only the Amount difference is graded against thresholds.

Because mappings live in SmartCompaire rather than in either system, a mistake is cheap to correct. Each comparison run re-matches pay rows against the current mappings, so fixing a paycode mapping takes effect on the next run without uploading the pay data again.

What to expect from file-based comparison

A few things are worth knowing before you plan your extracts.

  • Totals, not periods. Amounts are added up per employee and pay code across all pay data in a project. To compare period by period, use one project per period or cycle.
  • Current amounts only. MTD, QTD and YTD amounts are imported and stored but not compared.
  • Same logic in every country. Country is a label on the project. There are no country-specific tax rules in the comparison.
  • One worksheet per file. Only the first worksheet of a workbook is imported.

Frequently asked questions

Does SmartCompaire have a live connector to SAP, Workday, Oracle or ADP?

No. SmartCompaire works from files exported from those systems, or from rows typed or pasted in the app. There are no live connections, scheduled pulls, SFTP folders or customer API.

Which payroll systems can I compare?

Any system that can export pay results by employee and pay code to Excel or CSV. You arrange the export to match the pay data template, then map employee numbers and pay codes between the two systems.

What if employee numbers change between the old and new system?

SmartCompaire handles it in the employee mapping step. You pair each source employee number with its target number, and the comparison joins pay rows through that mapping. Employees who appear in pay data without a mapping are listed, up to 200 per side, with their row counts so you can add them.

Can SmartCompaire handle a full payroll extract?

Yes, for typical extracts. Files are imported in the background in batches of 5,000 rows, with progress tracking. The default upload limit is 100 MB per file, and the import streams rows in batches rather than loading the whole file, so large extracts do not need to fit in memory.

Does SmartCompaire change anything in my payroll system?

No. It reads the files you upload and records differences, statuses, defects and comments in SmartCompaire. Nothing is written back to any payroll or time system.

See SmartCompaire on your own payroll data

Bring a source and a target extract from your parallel run; we will walk through the comparison with you.

Request a demo