← Home

Working Demonstration · BI

Revenue BI & Reconciliation

Historical spreadsheets and current systems can produce different revenue figures. This example shows how to explain those differences.

Combine historical and current revenue data, reconcile overlaps and trace every dashboard number back to its source.

Independent working demonstration using synthetic data. Not a client deployment.

Revenue reportingRevenue reporting — Example result · synthetic data
Example result · synthetic data
Try this scenario
  1. Inspect the three source datasets.
  2. Review the July historical overlap.
  3. Open the Northstar customer mapping exception.
  4. Map Northstar to CUST-1042.
  5. Re-run reconciliation.
  6. Verify Reconciliation PASS and the remaining source-quality warnings.
  7. Open Revenue Dashboard.
  8. Trace July revenue back to ERP invoices.
  9. Download the evidence report.

Python · DuckDB · CSV / XLSX

From exports to a traceable reconciliation

Compare two differently structured exports, flag ambiguous duplicates and trace each difference to its source rows. This companion project produces an HTML report, an Excel review workbook and a repeatable evidence package.

Independent engineering example with synthetic data. Includes source code, failure tests and a recorded walkthrough.

Sources

Representative ERP / CRM / historical-export data model. Historical EUR 64,200 is separate from the additional Northstar EUR 18,400; both are dated no later than June 2026. Raw totals include excluded records. Unknown currencies have separate buckets.

Synthetic EUR reporting model. No real ERP/CRM connection, no FX conversion, no accounting-standard certification. Reports are scoped to this browser session and expire after about 24 hours. Reset restores the original data and mapping; run IDs and generation timestamps are new.

Deeper technical examples

Have a similar problem?

Describe how the process works in your company. No technical specification or introductory call is required.

Describe your problem →

If I sent you this example by email, you can simply reply there.