Onboarding · 3 min

Welcome to Payroll.COMPAIRE.

You're about to run a parallel payroll test. Two systems, tens of thousands of variances, one pay cycle. Before you ingest your first file, let's walk through how this tool turns a three-week review into an afternoon.

Prefer to read? Every step on the left rail covers the same ground — ~3 minutes end-to-end.

Step 2 · The problem

Parallel runs are painful.

Migrating payroll systems means running the old one and the new one side-by-side for three to six cycles. Every cycle produces thousands of variances. Without tooling, reviewers quit by cycle two.

The old way
Analysts in a conference room, spreadsheets for a week.

Three things nobody ships without

  • Classification. Which variances are real defects vs. rounding, timing, or legitimate differences?
  • Explainability. For each variance, the exact rule chain that led to the verdict — auditors insist.
  • Reviewer continuity. What you decided in cycle 1 must roll forward into cycles 2, 3, 4.

Step 3 · Personalize

Name your two systems.

Parallel payroll testing always means two systems: the one you're migrating from (Legacy) and the one you're migrating to (New). Tell us what to call yours — we'll use these names throughout the rest of the walkthrough.

Common: Workday, ADP, Paychex, UKG, PeopleSoft, Ceridian, Paycom, Oracle HCM

Common: SAP, Workday, UKG Pro, Paycom, Oracle Fusion, ADP Lifion

Why this matters

Payroll.COMPAIRE is system-agnostic — the engine doesn't care whether you're moving from Legacy System to New System, from ADP to Workday, or between any other pair. Setting the names here just makes the rest of this onboarding match your actual project. You can change them any time from the Admin page later.

Leave blank and we'll just use "Legacy System" and "New System" everywhere.

Step 4 · Taxonomy

Four dimensions. Every variance.

Every variance in the system carries four independent labels. Confusing them is the single biggest failure mode of home-grown tools. You'll see these four everywhere.

01
What
Classification
The mechanical nature. 22 classes: EXACT_MATCH, ROUNDING, MATERIAL_VARIANCE, TIMING_DIFFERENCE, SIGN_FLIP, MAPPING_UNRESOLVED …
02
Why
Root Cause
Why it happened. Config defect, mapping defect, calc-method difference, timing, tax-table version, etc. 13 codes.
03
How much
Severity
How much it matters. Scored by dollar impact, direction, regulatory risk, employee count. INFO → CRITICAL.
04
Where
Disposition
Workflow state. NEW → UNDER_REVIEW → EXPLAINED / DEFECT_OPEN → FIX_VALIDATED → RESOLVED.

Direction matters, independently

Alongside those four, every variance also carries a Direction — TARGET_HIGHER means the new system is paying more (overpayment / tax risk); TARGET_LOWER means it's paying less (DOL / FLSA risk). Auditors filter by this first, every time.

Step 5 · Ingest

Drop files in. See results.

Export your Legacy System pay-calc results and your New System wage-type report as CSVs. Drag both into the File Import page. We handle encoding, column normalization, and mapping — you see a preview, hit Ingest, and watch the classifier run.

Drop CSVs here
or click to browse · Legacy System + New System required, master-data + postings optional
Legacy System
legacy_payrun_2026-04.csv
New System
new_system_wage_report_2026-04.csv

What happens in seconds

  • Rows pair on (employee_id, canonical_code); orphans become MISSING_IN_* classifications
  • Each pair runs through the Rule Network — a YAML decision tree, first-terminal-match wins
  • Tolerance, known-differences, calc-method rules, timing-pair detection apply in order
  • Every record gets a SHA-256 manifest so auditors can verify bit-for-bit reproducibility
  • If this is cycle 2+, Reason Roll Forward carries prior dispositions and defect links automatically

Step 6 · Overview

Read the whole run at a glance.

The Dashboard is your triage surface. KPIs at the top, classification mix on the left, severity strip and over/under diverging bar on the right, Pareto of worst wage types at the bottom. Every chart is filterable and exports to the audit package.

Employees
2,000
both systems present
Total abs Δ
$18,430
within band
Material
15
need review
Rolled forward
29,749
from PR-001
EXACT 72%
TOLR 12%
CALC 8%
MATL
OTHER
Exact / rounding Within tolerance Calc method (legit) Material (investigate)

Where reviewers start

Click the red segment on the classification bar → you're in the Variances Browser filtered to MATERIAL_VARIANCE. That's the queue. Sort by abs variance, top-down. Most reviewers clear 80% of material variances in under two hours.

Step 7 · Drill down

Every variance. Every employee.

Open any employee to see a side-by-side pay stub — Legacy System on the left, New System on the right, delta column in the middle. Click any line with a variance to expand the full explainability trace: every rule that evaluated, which matched, and which terminal classification it triggered.

E00427 · April 2026
IN_PERIOD · 14 components
Wage type
Legacy System
Δ
REGULAR
$4,800.00
BONUS_DISCR
$2,000.00
+$260.00
FIT
$1,088.00
+$142.27
K401_EE
$680.00
NET_PAY
$4,231.73
−$142.27

The explainability trace

On that FIT line, expanding reveals: both_zero=F → target_null=F → mapping_unresolved=F → category_mismatch=F → integrity_fail=F → matches_known_diff=F → matches_calc_method=T → CALCULATION_METHOD_DIFFERENCE (CM01 bonus-tax aggregate vs 22% supplemental). That's the whole decision, visible. Auditors love it.

Step 8 · Workflow

Open defects. Resolve them.

When a variance isn't explainable by a known rule, open a defect. One defect can link many variances across many employees. The state machine walks it through fix → validation → resolution, with history and comments preserved across cycles.

DEFECT_OPEN · 3
PC-0001
Bonus tax — New System applying 22% flat vs aggregate
PC-0004
HSA catch-up eligibility logic
PC-0005
SDI rate not picking up mid-year bump
FIX_IN_PROGRESS · 2
PC-0002
OT regular-rate excluding non-discr bonus
PC-0003
FUTA credit-reduction state (CA)
FIX_VALIDATED · 1
PC-0006
Imputed GTL Table I calc
RESOLVED · 8
PC-0000
Mapping: new wage type BONUS_RETENTION

Roll forward, automatically

When you ingest cycle 2, every persisting variance carries its cycle-1 disposition, comments, assignee, and linked defect IDs forward. Reviewers typically see a 60–70% time cut from cycle 2 onward.

Step 9 · Readiness

GO or NO-GO. Measured.

Eleven exit criteria, each with a numeric threshold. Live pass/fail against the current pay run. When all eleven are green, the system recommends GO. Override requires a second approver with a documented reason.

EC01100% employee presence in both systems
EC02100% wage types mapped (no MAPPING_UNRESOLVED)
EC03Zero CRITICAL open variances
EC04Zero HIGH open on net pay, FIT, FICA, garnishments
×EC05≤ 0.1% of employees with MATERIAL_VARIANCE on net pay · 0.18%
EC06Total gross pay variance < 0.05%
EC07Total tax variance < 0.1%
EC08Posting file balanced, imbalance < $1.00
EC09All KNOWN_DIFFERENCE records carry valid approval
EC10Two consecutive pay runs meet all criteria
EC11Zero integrity errors

In this example, EC05 fails — 3 employees out of 2,000 have material net-pay variance. Click the row to jump straight to those employees and triage.

Step 10 · Ship it

Sealed sign-off.

When all criteria pass, click Generate sealed sign-off PDF. The signed document captures every count, manifest hash, criterion, signer, and timestamp — and seals the whole payload with a SHA-256 fingerprint. Any tamper invalidates the hash.

Payroll.COMPAIRESign-Off

Pay run PR-2026-04 · Tenant gmt-consulting · Recommendation GO

Pay run
PR-2026-04
Period
2026-04-01 → 2026-04-15
Signed by
alex@gmtconsulting.com · 2026-04-17T14:22:08Z
Engine
v0.9.0 · rule_network v0003 · mapping v0012
Manifest SHA-256
8c43e7a1·b9f5d2c8·44a31e7f·92068b1c·e7d3fb04·61a28d9e·3ff01c85·a24b6e77
· SEALED ·

What lands in the audit ZIP

  • The sealed sign-off PDF (above)
  • The 9-sheet detailed Excel — every variance, every rollup, every mapping
  • The executive PDF — boardroom-ready KPIs + classification mix + exit criteria
  • A manifest.json with every input-file SHA-256 and config version

Step 11 · You're set

Now, go compare.

That's the ritual. Ingest → dashboard → drill down → open defects → exit criteria → sign-off. The first cycle takes a few hours to learn; cycles 2 onward run in under an hour.

The new way
Three days of review, one signed PDF, auditor-ready.

Start with seed data

A 2,000-employee fixture pair is shipped with the app. Upload samples/workday_sample_2000_period1.csv + its SAP counterpart on File Import for a dry run. (These sample files ship from the demo's Workday→SAP reference scenario; your real uploads can be from any two systems.)

Or bring your own

Export this cycle's Legacy System pay-calc + New System wage-type CSVs, drop them into File Import, hit Ingest. You'll have a Dashboard in ~30 seconds.