The problem

A national commercial restoration and reconstruction company ran its business reporting on a sprawl of brittle SQL Server stored procedures, fed by dozens of disconnected systems — ERP, CRM, HR, payroll, field operations, and a long tail of uploads and spreadsheets.

Every number was tightly coupled to the operational database. Changes were risky, lineage was invisible, and no one could fully trust that two reports meant the same thing. The reporting worked — until it didn't, and then no one could say why.

What we built

We rebuilt the entire estate on Snowflake with dbt, in four clean layers — raw ingestion, staging, a curated warehouse of facts and dimensions, and a reporting mart that feeds Power BI. Every source lands through managed ingestion; every transform is version-controlled, tested, and documented.

The old stored-procedure logic was rebuilt as models and checked table-by-table against the golden source — row counts and per-column checksums — so the business could migrate with proof, not faith. A reconciliation dashboard makes the match status visible every morning.

The outcome

More than 20 source systems and 200-plus raw tables now flow into one governed platform of 390-plus tested models, retiring roughly 160 legacy stored procedures. One trusted version of every number — with the lineage to back it up.