Static sample of a fictional company. Figures frozen from the live pipeline on Nov 3, 2026; this page never reads or writes a database.

Two systems that disagree. One revenue number finance can trust.

An ERPNext instance and a legacy CSV export spell customers differently, format dates differently and sometimes disagree on totals. This pipeline merges both into one canonical model, holds back bad records, and proves the result against the source every day.

$462,664.00ERPNext, via REST API
$109,915.83Legacy CSV export
$572,579.83275 invoices, Jan–Oct 2026

Revenue by month

As of Oct 16, 2026. October is hatched: half a month never passes for a whole one.

Revenue by month and source, January to October 2026Each bar stacks ERPNext revenue (blue) under legacy-export revenue (orange). October is partial. Total $572,579.83.$0k$20k$40k$60kJanFebMarAprMayJunJulAugSepOct
Show the numbers
MonthERPNextLegacyTotal
Jan 2026$46,665.00$6,730.05$53,395.05
Feb 2026$48,456.00$7,723.12$56,179.12
Mar 2026$48,748.00$8,506.45$57,254.45
Apr 2026$47,980.00$10,161.46$58,141.46
May 2026$48,690.00$10,988.47$59,678.47
Jun 2026$45,147.00$10,963.50$56,110.50
Jul 2026$43,737.00$13,820.64$57,557.64
Aug 2026$43,393.00$13,372.71$56,765.71
Sep 2026$43,752.00$14,580.36$58,332.36
Oct 2026 (partial)$46,096.00$13,069.07$59,165.07

How a record gets here

Every invoice takes the same path, whichever system it came from.

ERPNextREST polling and webhooks
Legacy exportCSV files, no API
Adaptersone per source, into one canonical invoice
Validationbusiness rules, all or nothing
7 held in quarantine
ReconciledQueue, Postgres with row-level security, daily check against the source

Top customers

Different spellings in each system resolve to one customer through a versioned mapping.

  • Northgate School Cafeteria Services$55,920.00
  • Prairie Fork Restaurant Group$54,782.00
  • Acme Foods Inc.$52,071.03
  • Blue Ridge Kitchens$48,174.95
  • Golden Spoon Catering$44,020.00
  • Sunset Grill & Taphouse$43,253.06
  • Harbor Lane Bistro$40,457.95
  • Redwood Pizza Kitchen$37,386.35

Quarantine

Bad records wait here with a reason instead of being summed into the totals.

  • Total mismatch3
  • Conflicting duplicate1
  • Invalid date1
  • Missing field1
  • Unsupported currency1

Held documents: UB-26084, UB-26077, UB-26023, UB-26016, UB-26010, UB-26005

Sync health when the snapshot was taken

ERPNext last successful sync
Nov 1, 2026
Legacy export, newest file
Oct 16, 2026
Queue: pending messages
0
Dead-letter queue
0

Reconciled: ERPNext $462,664.00 = stored $462,664.00, 0 unexplained

The whole system is open source

Adapters, quarantine rules, queue and workers, reconciliation, the signed-in dashboard, 1,000+ tests and the spec-driven documents behind every decision. Clone it and run it locally.