SAGE PEOPLE MIGRATION RECONCILIATION

    Sage People Migration Reconciliation — to the Person and the Penny

    A row-level, control-total, UK-HMRC-RTI-aware reconciliation engine for Sage People to Oracle Fusion HCM migration. Continuous nightly runs from week 2. Signed audit pack at sign-off. SOX, FCA SMCR, ICO retention, HMRC RTI ready.

    6 tiers
    Of reconciliation evidence
    £0.01
    Variance threshold per worker
    12 mo
    RTI history compared
    Nightly
    From week 2 through cutover

    Why a formal Sage People migration reconciliation framework matters

    Without a structured Sage People migration reconciliation, go-live is a leap of faith — payroll anomalies, employee leave-balance challenges, and HMRC RTI rejections emerge in week one of production. With one, every total is signed off in advance.

    Sage People is built on the Salesforce Platform, which makes its data model deceptively simple to extract — but deceptive is the operative word. Custom fields added by your org over years, Apex triggers that silently transform salary or leave records on read, sharing-rule-driven row visibility that hides workers from an Integration User, effective-dating math that drifts at year-end timezone boundaries — every one of these gotchas surfaces in production unless reconciliation catches them in advance.

    A proper Sage People migration reconciliation is not a one-time UAT activity. It is a continuous comparison framework that runs from the first extract in week 2 through go-live in week 11–14, producing a daily error backlog that trends to zero. By the day of cutover, the variance is provably zero — not asserted to be zero, mathematically proven via content hashes, control totals, and signed sample audits.

    Syntra ETL's Sage People migration reconciliation engine ships pre-built for the standard Sage People to Fusion HCM scenario, including the UK-specific HMRC RTI parallel-cycle comparison that is mandatory for any UK customer running Sage 50 Payroll or a third-party RTI provider behind Sage People. The reconciliation outputs are the audit pack — issued to HR, payroll, finance, and (where applicable) the DPO — before the production cut.

    The six reconciliation tiers

    1
    Row counts
    Worker__c vs Worker, Employment_Record__c vs Assignment, Salary__c vs Salary, Leave_Request__c vs Absence Record — counts matched per filter.
    2
    Control totals
    Active headcount per legal employer, total annualised salary per BU, total leave hours per absence plan — penny-level for the UK.
    3
    Content hashes
    Per-record stable hash (excluding audit cols) — 100% sample for control objects, 10% for transactional.
    4
    UK payroll cycle totals
    Gross, tax, NI, pension, net pay totals matched between Sage 50 / RTI provider and Fusion Payroll UK trial runs.
    5
    HMRC RTI integrity
    FPS / EPS field-by-field comparison for 12 months of YTD figures — NI cat, taxable pay, NI'able pay, statutory payments.
    6
    Manager hierarchy
    Every reporting line traversed root-to-leaf — no broken chains, no orphan nodes, no circular references.

    What the Sage People migration reconciliation engine actually does

    Six capabilities that turn the sage people migration reconciliation from a UAT-week panic into a continuous, evidence-backed sign-off.

    📊

    Row-count comparison

    Worker__c vs Fusion Worker, Employment_Record__c vs Assignment, Salary__c vs Salary, Leave_Request__c vs Absence Record — per BU, per legal employer, per pay group, per effective date snapshot.

    💷

    Penny-level control totals

    Total annualised salary, total active headcount, total leave-balance hours — matched to £0.01 at BU, legal employer, and global rollup. Variance dashboard with named owners.

    🔐

    Content-hash sampling

    Stable per-record hash (excluding system audit cols) — 100% sample on control objects (Worker, Salary, Absence Balance), 10% statistical sample on transactional objects (Leave Request, Timesheet).

    🇬🇧

    UK RTI parallel reconciliation

    12 months of FPS/EPS reconstructed from Fusion YTD figures, field-by-field compared to Sage 50 / RTI provider history. NI cat, taxable pay, statutory payments — all matched to the penny.

    👥

    Manager-hierarchy traversal

    Root-to-leaf depth-first traversal of every reporting chain. No orphans, no circular refs, no missing managers. Hierarchy delta report when re-orgs happen mid-project.

    📜

    Signed audit pack

    Final immutable PDF/CSV bundle with hash manifest, control-total sheet, RTI parallel report, manager traversal proof, named sign-off lines. SOX, FCA SMCR, ICO retention ready.

    The Sage People migration reconciliation cadence

    Reconciliation isn't a UAT activity. It's a continuous framework running from week 2 of the project through cutover sign-off.

    1

    Baseline reconciliation — Week 2

    First extract from Sage People sandbox compared to a synthetic target. Output: error backlog v1 — typically 100–500 items spanning custom-field mappings, sharing-rule gaps, Apex-trigger side effects.

    2

    Daily delta reconciliation — Weeks 3–8

    Nightly extract + recon run. Error backlog burned down by 10–30 items per day as crosswalks tighten, custom fields are resolved, sharing-rule gaps are closed. Trend dashboard shared with HR / payroll / audit.

    3

    Control-total reconciliation — Weeks 6–10

    Headcount, total annualised salary, leave-balance hours matched at BU and legal-employer level. Penny-level variances drilled into. UK RTI 12-month history reconstructed and compared to Sage 50 / RTI provider output.

    4

    Parallel-cycle reconciliation — Weeks 10–13

    1–2 full pay cycles run in parallel — Sage People + Sage 50 / RTI provider live, Fusion Payroll UK in trial. Per-worker, per-component variance report. Threshold for cutover: zero variance over £0.01 per worker.

    5

    Audit-pack assembly — Weeks 13–14

    Final immutable reconciliation pack assembled: extract manifest, hash sample, control-total sheet, RTI parallel report, manager traversal proof, sign-off lines. Pack issued to HR director, payroll manager, finance controller, DPO.

    6

    Post-cutover continuous reconciliation — Weeks 15–18

    First 2 production payroll cycles continuously reconciled against the prior Sage People baselines (frozen at cutover). Any drift surfaces immediately. After 2 clean cycles, Sage People moves to archive-only mode.

    The Sage People migration reconciliation audit pack — what's inside

    The deliverable that turns sign-off from a meeting into a signature. Built for SOX, UK FCA SMCR, ICO retention, and HMRC RTI compliance.

    📦

    Extract manifest

    Salesforce org-id hash, extraction-user permission snapshot, Bulk API job IDs, row counts per object, extract-time timestamp, Salesforce API version used. Immutable.

    🔢

    Hash sample sheet

    Worker, Salary, Absence Balance — 100% content-hash comparison. Leave Request, Timesheet, Expense — 10% statistical sample. Pass/fail per record, drill-through to row diff.

    📈

    Control-total sheet

    Active headcount, total annualised salary, total leave-balance hours, per-BU per-legal-employer. Sage People vs Fusion side-by-side. Variance column. £0.01 threshold flag.

    🇬🇧

    RTI parallel report

    12 months of FPS/EPS field-by-field. NI cat, taxable pay YTD, tax YTD, NI YTD, statutory payments YTD, pension YTD. Per worker, per pay period. Penny variance threshold.

    🌳

    Manager hierarchy proof

    Root-to-leaf traversal log. No orphans, no circular refs. Depth distribution, span distribution, terminal nodes — all matched between source and target.

    ✍️

    Sign-off lines

    Named human sign-off for HR director, payroll manager, finance controller, DPO (UK), HMRC liaison (where applicable). Each tied to a specific evidence section.

    Frequently asked questions

    What is Sage People migration reconciliation and why does it matter?+

    Sage People migration reconciliation is the structured comparison of every record, balance, and total between the source Sage People Salesforce org and the target Oracle Fusion HCM environment — done at row level, control-total level, and sign-off-pack level — to give HR, payroll, audit, and (in the UK) HMRC-facing teams cryptographic evidence that nothing was lost, duplicated, or silently transformed. Without a formal Sage People migration reconciliation framework, customers go live blind: salary anomalies surface in the first Fusion payroll run, leave balances are challenged by employees, and HMRC RTI submissions get rejected because YTD totals don't tie. Syntra ETL ships a reconciliation engine that runs continuously through extract, transform, load, and parallel-run — emitting a final audit pack that maps Sage People active headcount, total annualised salary, leave-balance hours, and (UK) RTI YTD totals to Fusion HCM to the person and to the penny.

    What does a Sage People migration reconciliation actually compare?+

    A robust Sage People migration reconciliation covers six tiers. Tier 1 — row counts: Worker__c count vs Fusion Worker count, Employment_Record__c vs Assignment, Salary__c vs Fusion Salary, Leave_Request__c vs Absence Records. Tier 2 — control totals: total active headcount per legal employer, total annualised base salary per BU, total leave-balance hours per absence plan. Tier 3 — content hashes: per-record stable hashes (excluding system audit fields) confirming field-level fidelity. Tier 4 — UK payroll cycle totals: per pay group, per period — gross pay, tax, NI, pension, net pay totals matched between the legacy Sage 50 / RTI integration outputs and the Fusion Payroll UK trial-run outputs. Tier 5 — RTI submission integrity: HMRC FPS and EPS field-by-field comparison for the parallel cycles. Tier 6 — manager hierarchy: every reporting line from CEO down through every leaf node traversed and matched.

    How does the Sage People migration reconciliation handle UK HMRC RTI submissions?+

    For UK customers, RTI integrity is the most legally consequential part of any Sage People migration reconciliation — get it wrong and HMRC penalties accrue per employee per month. Syntra ETL's reconciliation captures the last 12 months of FPS (Full Payment Submission) and EPS (Employer Payment Summary) data from Sage People (typically via the Sage 50 Payroll integration or third-party RTI provider extract), produces a synthetic Fusion Payroll UK RTI submission for the same period using the migrated YTD figures, and compares field by field: NI category letter, taxable pay YTD, tax paid YTD, NI'able pay YTD, employee NI YTD, employer NI YTD, pension contributions YTD, statutory payments YTD (SSP, SMP, SPP, SAP), student loan deductions YTD. Any variance over £0.01 per employee surfaces in the reconciliation report with the source row pointer for forensic review.

    How does Sage People migration reconciliation handle worker count discrepancies?+

    Worker count discrepancies are the #1 reason go-live slips at the last minute, and Sage People migration reconciliation is built specifically to surface them early. The engine compares Sage People Worker__c (filtered by Employment_Status__c = 'Active' and Effective_End_Date in the future or null) to Fusion Worker (filtered equivalently). Any variance triggers a drill-down report: workers in Sage People not in Fusion (extract gap or hard-filter), workers in Fusion not in Sage People (test-data contamination, M&A merge duplicate, or pre-loaded reference data), workers in both but with different status (effective-dating bug — almost always a date-arithmetic edge case at a TZ boundary). The framework runs nightly through the project, so by go-live the variance is zero and stays zero through cutover.

    Does the Sage People migration reconciliation include a signed audit pack?+

    Yes. The final deliverable is a signed, timestamped, immutable Sage People migration reconciliation audit pack — built specifically to satisfy SOX 404 (US), UK FCA SMCR (financial services), ICO retention requirements (UK GDPR), and external HCM audit reviewers. The audit pack includes: extract manifest with source-org metadata snapshot and Salesforce org-id hash, row-level content-hash comparison summary with 100% sample for control objects (Worker, Salary, Absence Balance) and 10% sample for transactional objects, control-total comparison sheet (headcount, salary sum, leave hours), UK RTI parallel-cycle comparison report, manager-hierarchy traversal proof, error-and-resolution log, and named human sign-off lines for HR director, payroll manager, finance controller, and (where applicable) data protection officer.

    How early in a Sage People to Fusion project should reconciliation start?+

    Sage People migration reconciliation starts on day one — not at UAT and definitely not at cutover. The first reconciliation run happens against the first extract from the Sage People dev or sandbox org in week 2 of the project, even before crosswalks are finalised. The reason: most reconciliation surprises (custom-field collisions, sharing-rule-driven extract gaps, Apex-trigger side effects on extract reads, effective-dating edge cases at year-end boundaries) take weeks to fully diagnose. By running reconciliation continuously from week 2 through go-live, the framework converts cliff-edge surprises into a steadily decreasing error backlog. By UAT in week 8–10, the error backlog is two-digit; by cutover in week 11–14, it is single-digit and every remaining item has a named owner and a date.

    What payroll-cycle totals does the Sage People migration reconciliation match?+

    For UK customers running Sage People feeding Sage 50 Payroll (or a third-party RTI provider like Moorepay or MHR), the Sage People migration reconciliation matches per pay period: total gross pay, total tax deducted, total employee NI, total employer NI, total pension (employee and employer), total salary sacrifice, total statutory payments (SSP, SMP, SPP, ShPP, SAP), total student loan deductions, total post-graduate loan deductions, total court orders, total net pay, total cost-to-company. These totals are compared at three levels: legal employer (PAYE scheme), pay group, and pay date. Any variance over £0.01 at the pay-group level surfaces with drill-through into the contributing worker records. Two clean parallel cycles is the standard threshold for cutover sign-off.

    Can the Sage People migration reconciliation handle multi-country deployments?+

    Yes. Sage People is most concentrated in the UK and Ireland, but mid-market customers frequently run multi-country deployments — UK, Ireland, France, Germany, Netherlands, US, Canada, Australia, Singapore. The Sage People migration reconciliation framework partitions the comparison by legal employer / country, applies the country-specific statutory totals (UK: HMRC RTI; Ireland: Revenue PAYE Modernisation; France: DSN; Germany: ELStAM; etc.), and produces a per-country sign-off sub-pack rolled up into the master pack. Where Sage People is the source of HR data but local payroll providers are kept (a common pattern), the reconciliation focuses on HR-side totals (headcount, salary, leave) and the payroll-integration handoff file fidelity rather than full payroll arithmetic.

    Make your Sage People migration reconciliation provably complete

    Book a 30-minute discovery call. We'll walk through your Sage People org footprint, your UK payroll integration (Sage 50, Moorepay, MHR, third-party RTI), your audit and compliance posture (SOX, FCA SMCR, ICO, HMRC), and design the reconciliation cadence that will get your Fusion go-live signed off the first time.