SAGE PEOPLE DATA VALIDATION

    Sage People Data Validation — Counts, Sums, Hashes, Periods

    Post-load reconciliation that proves every Sage People record landed in Oracle Fusion HCM — to the row, to the cent, to the minute. Three-layer reconciliation, period-level payroll, signed audit pack ready for HMRC, ICO, SOX.

    3 layers
    Counts + Sums + Hashes
    £0.01
    Period reconciliation tolerance
    100k/min
    Reconciliation throughput
    Signed pack
    HMRC + ICO + SOX ready

    Why Sage People data validation is the difference between 'we migrated' and 'we proved we migrated'

    Loading data without reconciliation is hope, not engineering. Sage People data validation converts the migration into signed, defensible evidence.

    Every Sage People migration team eventually faces a question with no good answer if they didn't plan for it: 'How do you know the data in Fusion is correct?' A senior HR leader asks it in week 13 of a 14-week project. An auditor asks it six months later during the annual SOX cycle. An HMRC inspector asks it three years later because a former employee challenged a P60 amount. The ICO asks it after a data subject complaint years after that.

    Sage People data validation answers the question definitively — at every layer that anyone could possibly ask about. Row counts prove every record extracted from Sage People landed in Fusion. Sum totals prove the aggregates (total salary, total hours, total balances) reconcile. Content hashes prove each individual record's business-relevant fields reconcile. Period reconciliation proves every pay period's gross-to-net, PAYE, NI, pension, salary sacrifice ties pence-by-pence. Effective-dated history reconciliation proves every historical version of every record is preserved.

    Syntra ETL's Sage People data validation engine produces a signed audit pack at end of every migration. The pack is structured to satisfy GDPR/DPA 2018 evidence (Articles 5, 25, 30, 32), HMRC RTI reconciliation, ICO inspection, SOX testing, and external auditor probing. Customers retain the audit pack for the full regulatory retention window — typically 7 years HMRC, 6 years pension regulation, longer for occupational health. When the question gets asked years later, the answer is a single PDF retrieval.

    The four reconciliation layers in every validation run

    1
    Row counts
    Sage People Worker__c count = Fusion Worker count. Same for Employment_Record__c, Salary__c, Leave_Request__c. Object-by-object.
    2
    Sum totals
    Sage People total annualised salary = Fusion total annualised salary. Total leave balance hours, total active headcount, total cost-centre allocation.
    3
    Content hashes
    Stable per-record hash of business-relevant fields. Catches silent corruption, field swaps, currency conversion errors.
    4
    Period reconciliation
    Per-pay-period gross-to-net, PAYE, NI, pension, salary sacrifice — Sage People payroll output vs Fusion Payroll Run, pence-by-pence.

    What Sage People data validation catches that you'd otherwise miss

    Real examples of issues found in past Sage People-to-Fusion validations — the kinds of things that would have surfaced after go-live as production incidents without proper reconciliation.

    🔢

    Missing records

    Five Worker__c records with a non-printable character in the External_ID__c field rejected silently by HDL load. Caught by row-count layer in first pass.

    💱

    Currency swaps

    Three Salary__c records loaded with USD amounts into GBP-denominated assignments after a Salesforce data sync issue. Caught by sum-total layer.

    🔀

    Field swaps

    Two workers had their National Insurance numbers swapped during a manual data cleanse step pre-extract. Counts and sums both tied — only hash-layer caught it.

    📅

    Effective-date gaps

    Worker had a 14-day gap between Employment_Record__c end of an old contract and start of new contract that wasn't migrated. Caught by historical reconciliation.

    🇬🇧

    Period variance

    Period 3 gross pay for one worker £0.12 short due to salary-sacrifice cycle scheme rounding. Caught by period reconciliation pre-RTI submission.

    🏖️

    Balance carry-over

    23 workers' leave balances under-counted by 1.5 days each due to a public holiday calendar mismatch. Caught by absence balance reconciliation.

    The Sage People data validation execution sequence

    A repeatable validation workflow that runs after every load — initial, dry-run, parallel cycle, final cutover.

    1

    Layer 1: Row Counts — Hour 1

    Per-object row count Sage People (Bulk API count) vs Fusion (BI Publisher query). Worker, Assignment, Salary, AbsenceCase, Position, Department, Location. Any variance triggers immediate investigation.

    2

    Layer 2: Sum Totals — Hour 2

    Per-object sum totals: active headcount, total annualised salary, total leave balance hours, total cost-centre allocation. Sage People aggregates vs Fusion aggregates. Tolerance threshold: £0.01 on currency, 0.01 hours on time.

    3

    Layer 3: Content Hashes — Hours 3-8

    Per-record stable content hash on business-relevant fields. Sage People-side hash computed during extract, Fusion-side hash computed post-load via BI Publisher dump. Per-record reconciliation, mismatches logged.

    4

    Layer 4: Effective-Dated History — Hours 8-16

    Per-worker walk of full historical chain — every Employment_Record__c version reconciled against Fusion Assignment chain, every Salary__c version reconciled against Fusion Salary chain.

    5

    Layer 5: Period Reconciliation — Days 2-4

    Parallel-run period payroll reconciliation: gross-to-net, PAYE, NI, pension, salary sacrifice per worker per period. Sage People payroll output vs Fusion Payroll Run. £0.01 tolerance.

    6

    Layer 6: Sign-off & Audit Pack — Day 5

    Exception register cleared. Audit pack assembled with executive summary, per-object reports, per-worker reconciliation, period reconciliation, exception log. Stakeholder signatures captured. Pack issued.

    What's in the signed Sage People data validation audit pack

    The deliverable structured to satisfy HMRC, ICO, SOX, and external auditor evidence requirements for years after go-live.

    📊

    Executive summary

    Total records migrated by object, reconciliation status per layer, exception count by tier, resolution summary, final sign-off statement.

    📋

    Per-object reports

    Row counts, sum totals, hash mismatches for every object: Worker, Assignment, Salary, AbsenceCase, Position, Department, Location.

    👤

    Per-worker reconciliation

    Every active worker reconciled across Worker, Assignment, Salary, Absence. Sign-off per worker for sensitive roles (executives, senior management).

    💰

    Period reconciliation

    Per-period gross-to-net, PAYE, NI, pension, salary sacrifice for the parallel-run period(s). Pence-by-pence per worker.

    ⚠️

    Exception register

    Every record that failed validation: tier, root cause, business-owner decision, resolution, evidence link, final disposition.

    🔐

    Sensitive-field log

    Every audit-time field unmasking: who, when, what, why, business justification, line manager approval reference.

    ✍️

    Sign-off signatures

    HR, payroll, IT, audit, DPO signatures with timestamp. Held alongside the technical reconciliation evidence.

    🗂️

    Evidence artifacts

    Extraction timestamps, load timestamps, hash files, error logs, reconciliation report PDFs — full chain of custody.

    📅

    Retention metadata

    Pack retention period (typical 7 years HMRC, 6 years pension), retention basis (regulatory), automated retention enforcement.

    Frequently asked questions

    What is Sage People data validation in a Fusion migration context?+

    Sage People data validation is the post-load reconciliation discipline that proves every Sage People record successfully landed in Oracle Fusion HCM — to the row, to the cent, to the minute. It runs at three levels: row counts (Sage People Worker__c count = Fusion Worker count, Sage People Salary__c count = Fusion Salary count), sum totals (Sage People total annualised salary = Fusion total annualised salary, Sage People total leave balance hours = Fusion total leave balance hours), and content hashes per record (stable hash of business-relevant fields excluding system audit attributes). Sage People data validation is what converts 'we migrated the data' from a claim into signed evidence — the audit pack that survives HMRC inspection, ICO inquiry, internal SOX testing, and external auditor probing for years after go-live.

    Why does Sage People data validation need three layers (counts, sums, hashes)?+

    Because each layer catches different classes of error. Row counts catch outright load failures — if you extracted 5,247 Worker__c records and loaded 5,235 Workers, twelve records are missing and the count tells you immediately. But counts don't catch silent data corruption: a Salary__c record could load with the salary amount in the wrong currency, and counts would still tie. Sum totals catch that — if total annualised salary in Sage People is £487M and in Fusion is £412M, you have a £75M problem even though the count tied. But sums don't catch swaps: if two workers' salaries were swapped during load, counts and sums both tie but two specific records are wrong. Content hashes catch swaps — by hashing each record's business-relevant fields, any per-record corruption surfaces immediately. The three layers together provide defence-in-depth that no single layer can match.

    How does period reconciliation work for Sage People payroll runs?+

    UK payroll has strict per-period reconciliation requirements driven by HMRC RTI submission rules. During a Sage People to Fusion migration that includes payroll, every pay period's totals have to reconcile: gross-to-net pay totals per pay period, PAYE deducted per period, NI employer + employee per period, pension contributions per period (auto-enrolment + AVCs), salary sacrifice deductions per period, year-to-date totals per worker per tax year. Syntra ETL's period reconciliation engine pulls the Sage People payroll calculation records (or the Sage 50 / third-party RTI provider's output), pulls the Fusion Payroll Run results for the parallel-run period, and reconciles pence-by-pence per worker per period. Any variance over £0.01 is flagged for investigation before sign-off. This is the evidence customers show HMRC and external auditors.

    What does the Sage People data validation audit pack contain?+

    A structured, signed deliverable issued at end of validation. Section 1: Executive summary — total records migrated by object, reconciliation status (counts/sums/hashes), exceptions and resolutions. Section 2: Per-object reconciliation reports — row counts Sage People vs Fusion, sum totals (salary, hours, balances), variance analysis. Section 3: Per-worker reconciliation — every worker with active employment reconciled across Worker, Assignment, Salary, Absence with sign-off per worker. Section 4: Period reconciliation (payroll) — per-period gross-to-net, PAYE, NI, pension, salary sacrifice for the parallel-run period. Section 5: Exception register — any record that failed validation with root cause and resolution. Section 6: Sensitive-field unmasking log — every audit-time field unmasking with justification. Section 7: Sign-off signatures from HR, payroll, IT, audit, DPO. Section 8: Evidence artifacts — extraction timestamps, load timestamps, hash files, error logs.

    How does Sage People data validation handle effective-dated history?+

    By validating not just the current state but every effective-dated version. Sage People's Employment_Record__c history (every promotion, transfer, FTE change, manager change going back 7-10 years) has to be present in Fusion HCM as a chain of HDL Assignment events. The validation engine walks every worker's Sage People history, walks the equivalent Fusion Assignment effective-dated chain, and confirms each historical version reconciles. Any 'as of' date can be reconstructed in either system and the active record set has to match. Same approach for Salary__c history → HDL Salary chain. Customers preserving 7-10 years of historical detail use this validation to prove every historical record landed correctly, not just the current snapshot. The 'as-of' reconciliation report is a key part of the audit pack.

    What happens when Sage People data validation finds a mismatch?+

    Three-tier exception handling. Tier 1 (auto-resolvable): rounding differences below tolerance threshold (typical £0.01 on currency, 0.01 hours on time), known transformation effects (currency conversion, picklist normalisation), source data quality issues already flagged in pre-extract validation. These are auto-resolved with logged justification. Tier 2 (business-owner review): variances within material thresholds that need HR or payroll judgement — typically <£100 per worker variance, or single-record variances not exceeding 0.5% of total. Routed to the appropriate business owner with full context (source vs target values, suggested resolution). Tier 3 (escalation): material variances over threshold that demand investigation before sign-off. Held in the exception register with escalation to project sponsor and audit committee. No sign-off issued until Tier 3 exceptions are zero.

    How long does Sage People data validation take?+

    1-3 days of compute time for the validation runs themselves, but 1-2 weeks of total elapsed time including human review and sign-off. The validation engine processes 100,000+ records per minute for row count and sum reconciliation, ~10,000 records per minute for hash comparison, and ~1,000 records per minute for full effective-dated history reconciliation. For a 5,000-worker Sage People migration with 7 years of history, that's ~8 hours of total compute. The remaining elapsed time goes to business owner review of any flagged exceptions, period reconciliation review (payroll team typically takes 3-5 days for a full parallel-run pay period validation), and stakeholder sign-off cycles. Customers running tight cutover timelines pre-schedule reviewer availability for 5 consecutive days post-load to compress this window.

    Can Sage People data validation prove GDPR compliance for the migration?+

    Yes, the audit pack is structured to satisfy GDPR Article 5 (accuracy, integrity), Article 25 (data protection by design), Article 30 (records of processing), and Article 32 (security of processing) evidence requirements. Article 5 accuracy: row-level reconciliation proves no data was corrupted in transit. Article 25 design: the validation framework runs as a built-in part of every migration, not as an afterthought. Article 30 records: every extract, transform, and load step is logged with timestamp, operator, record count, and outcome — providing the processing activity record. Article 32 security: hash-based integrity verification, sensitive-field masking during validation, role-based access to the audit pack, and full audit logging of who accessed which validation artefact when. The signed audit pack becomes part of the GDPR/DPA 2018 evidence file for the ICO.

    Sign-off your Sage People to Fusion migration with audit-grade validation

    Three-layer reconciliation plus period-level payroll plus effective-dated history. Signed audit pack ready for HMRC, ICO, SOX. Book a 30-minute walkthrough of the validation framework.