Northwind Ledger reconciles daily and can prove every number
A fintech team replaced a chain of scheduled scripts with replay-safe reconciliation pipelines, and gave reviewers evidence instead of screenshots.
The challenge
Northwind Ledger reconciles payments across bank statements, payment provider events and its internal ledger. Each source arrives at a different time and in a different shape, and some deliver corrections days later.
The old setup was a chain of scheduled scripts. A restart in the middle of a load could write some rows twice. When finance questioned a total, engineers searched through logs to rebuild how it was calculated.
The solution
The team rebuilt reconciliation as Synchronoid pipelines. Each load step is idempotent, so a retry never double-counts a transaction. Quality checks compare totals between sources and stop the run before a mismatch reaches the published ledger view.
Raw bank files and API payloads are kept, so any past run can be replayed to reproduce a closing figure. Reviewers can open a value in the control room and see which records and runs produced it. Failures alert the on-call engineer in PagerDuty and Slack.
From first source to production
Weeks 1 to 3
Bank files over SFTP and payment events over HTTP connected. First daily reconciliation running next to the old scripts.
Weeks 4 to 8
Totals and referential checks added. Old scripts switched off for the first two sources.
Weeks 9 onward
Replay and provenance used in month-end review. Alerts routed to on-call.
What the pipelines look like
A simplified example of the pattern the team uses. Names and values are illustrative.
@sy.asset(layer="published", deps=[bank_lines, payment_events]) def ledger_view(ctx, bank_lines, payment_events): diff = bank_lines.total() - payment_events.total() if abs(diff) > 0.01: raise sy.CheckFailed(f"totals differ by {diff}") return bank_lines.match(payment_events, on="reference")
What changed
Early results from the beta period, as reported by the Northwind Ledger team.
“Month-end used to mean rebuilding last week's numbers from memory and log files. Now we replay the run against stored data and point to the source records. The biggest change is idempotency. A worker restart used to be a small incident and now nobody notices. We are cautious, because the platform is still in beta and our auditors will want to see how we use it, but the evidence trail is exactly what we needed.”
Beta customer
Plans for the coming months
Northwind plans to move its remaining reporting feeds and to use change feeds to notify finance operations when a late correction arrives. The team is also working with Synchronoid on how to document the setup for its own audits.
Synchronoid’s SOC 2 Type II audit is in progress. The audit window opened in Q3 2026.
Build a pipeline like Northwind Ledger's
Synchronoid is in private beta. Tell us about your data and we will get you a workspace.