Controls

Every check the latest run executed against the warehouse, with what it saw and what it required. Hard controls block the run; soft controls report and let it through.

1 failing
Controls run
34
run 20260827T140302001Z
Hard
25
a failure blocks the run and may trigger a repair
Soft
9
a failure is reported, never automatically acted on
Failing now
1
see below

Source systems

7 feeds
booking acquired
35 live files · 31,961 rows · 38d ago
healthy
booking legacy
35 live files · 44,274 rows · 38d ago
healthy
cancellation log
175 live files · 13,414 rows · 38d ago
healthy
expenses
35 live files · 2,531 rows · 39d ago
healthy
square settlements
35 live files · 47,965 rows · 38d ago
healthy
stripe payouts
35 live files · 8,536 rows · 38d ago
healthy
vendor payments
35 live files · 1,489 rows · 38d ago
healthy

Staged rows

what the ingest stage has loaded
stg_appointment76,235
stg_payment56,501
stg_cancellation_entry13,239
stg_cancellation_total175
stg_expense2,531
stg_vendor_payment1,489

freshness

A feed that stopped arriving, judged against a per-feed SLA on the business clock.
CheckSeverityObservedRequiredResult
freshness.booking_legacyhardnewest row 2027-12-29 (0h old)within 26hpass
freshness.booking_acquiredhardnewest row 2027-12-29 (0h old)within 26hpass
freshness.square_settlementshardnewest row 2027-12-29 (0h old)within 26hpass
freshness.stripe_payoutshardnewest row 2027-12-28 (24h old)within 26hpass
freshness.expensessoftnewest row 2027-11-30 (696h old)within 960hpass
freshness.vendor_paymentssoftnewest row 2027-12-29 (0h old)within 960hpass
freshness.cancellation_logsoftnewest row 2027-12-29 (0h old)within 960hpass

volume

Row count against the trailing median, with a robust band — one spike must not widen it.
CheckSeverityObservedRequiredResult
volume.booking_legacysoft46 rows on 2027-12-29, median 53within 6 MAD of the trailing medianpass
volume.booking_acquiredsoft32 rows on 2027-12-29, median 40within 6 MAD of the trailing medianpass
volume.square_settlementssoft50 rows on 2027-12-29, median 58within 6 MAD of the trailing medianpass

control total

Typed totals on a sheet against the rows beneath them, and warehouse counts against the ingest log.
CheckSeverityObservedRequiredResult
control_total.rows_stagedhard150,170 rows staged150,170 rows recorded by the loaderpass
control_total.fee_plausibilityhardevery processing fee is below the amount that movedno fee larger than its paymentpass
control_total.amount_scalehardevery charge is within the price listno single charge above $14,400.00, the priciest package the business sellspass

nulls

Required columns arriving empty.
CheckSeverityObservedRequiredResult
nulls.stg_appointmenthard76,235 rows, no nulls in required columnsno nulls in 7 required columnspass
nulls.stg_paymenthard56,501 rows, no nulls in required columnsno nulls in 8 required columnspass
nulls.stg_expensehard2,531 rows, no nulls in required columnsno nulls in 5 required columnspass
nulls.stg_vendor_paymenthard1,489 rows, no nulls in required columnsno nulls in 4 required columnspass
nulls.stg_cancellation_entryhard13,239 rows, no nulls in required columnsno nulls in 3 required columnspass

duplicate keys

Identifiers that must be unique, and are not.
CheckSeverityObservedRequiredResult
duplicate_keys.stg_appointmenthardappointment_id unique across 76,235 rowsappointment_id uniquepass
duplicate_keys.stg_paymenthardpayment_id unique across 56,501 rowspayment_id uniquepass
duplicate_keys.stg_expensehardexpense_id unique across 2,531 rowsexpense_id uniquepass
duplicate_keys.stg_vendor_paymenthardpayment_ref unique across 1,489 rowspayment_ref uniquepass

rejects

Rows a parser refused. Every row of every live file must be accounted for.
CheckSeverityObservedRequiredResult
rejects.unread_rowshardevery row of all 385 live files was readno unreadable rowspass

referential

Location, service and GL codes the reference data has never heard of.
CheckSeverityObservedRequiredResult
referential.location_idhardall recognisedevery location_id in the location masterpass
referential.service_codehardall recognisedevery service_code in the service cataloguepass
referential.gl_codehardall recognisedevery gl_code in the chart of accountspass

ledger

The arithmetic identities the books must satisfy.
CheckSeverityObservedRequiredResult
ledger.cash_revenue_identityhard$33,349,445.00 cash - $30,674,788.57 revenue = $2,674,656.43 deferredcash - revenue = deferred liability, to the centpass
ledger.deferred_roll_forwardhard175 clinic-months roll forward exactlyopening + collected - released = closingpass
ledger.recognition_causalityhardall 13,801 sessions delivered on or after their salea session is never delivered before its package is soldpass
ledger.single_recognition_per_visithard54,552 visits earn revenue exactly onceno visit appears in the ledger twicepass
ledger.tips_excludedhard$1,078,100.00 in tips held out of revenueno recognition includes a tippass
ledger.unexplained_cashsoft7 charge(s), $700.00 (under 0.01% of cash in)under 1% of cash unexplainedpass

recon

Whether the amount of disagreement is itself within tolerance.
CheckSeverityObservedRequiredResult
recon.contested_sharesoft$3,747,797.50 contested against $30,674,788.57 (12.22%)under 12% of revenue contestedFAIL
recon.vendor_resolutionsoft1 spelling(s), $443,572.20 (3.01% of supplier spend)under 5% of supplier spend unattributedpass