An omnichannel retailer whose finance leadership was steering on yesterday’s numbers in a business that changes within the day. The figures now update while the day is still trading.
Yesterday’s numbers the next morning, replaced by today’s during the day
The reporting was correct and late. Month-end ran through Excel, the daily figures landed the morning after, and by then the decisions they informed had been made on instinct or postponed. That is the version of the problem that never shows up as a data-quality complaint.
order key reconciling shop, payment provider and ERP
1
contribution margin levels, CM1 and CM2, per channel and per SKU
2
shorter reporting turnaround, as recorded at the end of the engagement
50%
Anonymised by sector and size, because the confidentiality that protects this client would protect you too. Sector and outcomes are real; identifying detail is not.
One trading day, before and now
Next morning
Exports by handShop, payments, marketplaces, ads and ERP
Matched in ExcelShop against payment against ERP, in every file
Margin worked outPer channel, when there was time
Figures landThe morning after the day they describe
During the day
Shop orders streamEventstream, as they happen
Scheduled loadsPayments, marketplaces, ads and ERP into the same model
Finance sees the cockpitToday’s figures, through the day, on one model
Before, the figures for a day arrived the next morning; now shop orders stream in during the day and the other sources load on schedule into the same model.
The engagement in full
Client
An omnichannel e-commerce retailer of 50 to 250 people, selling direct through its own shop and through marketplaces, with finance closing the month in Excel.
Situation
The reporting was correct and late. By the time the daily figures landed, the decisions they informed had either been made on instinct or postponed, which is the version of this problem that never shows up as a data-quality complaint.
Mandate
Replace the manual Excel month-end with a daily finance cockpit on a Fabric foundation, with the figures updating during the trading day.
What we built
FoundationA review that found the figures correct but arriving a day late, after the decisions they were meant to inform.
ActivationNear-real-time financial reporting on the governed model, so the figures update during the trading day rather than after it has closed.
Where the time went
The figures were right, which is why the lateness had gone unfixed. It came from the layer between the systems and the report: every source was exported, matched and reconciled by hand, so the day had to end before its numbers could start.
Discrepancies surface the same day
Data-quality rules with alerting move the discovery of a mismatch from month-end to the day it happens.
Data arrivesStreamed or scheduled
Quality rulesShop, payment and ERP checked against each other
Alert raisedTo the owner, on the day
Fixed before closeNot found at month-end
The architecture
Every revenue and cost source loads automatically, shop orders stream, reconciliation happens once in Silver, and margin logic sits in Gold. The fast path and the slow path share one model.
Architecture decisions
Decision
Rejected alternative
Why
Latency solved on the governed model
A parallel fast pipeline
A side path gets a few figures to the screen sooner and leaves two sets of numbers that disagree by the afternoon.
Reconcile once, in Silver
Reconciling in every Excel file
A unified order key matches shop, payment provider and ERP before anything reads the data.
Margin logic in Gold
Margin built per report
CM1 and CM2 per channel and per SKU became a standard view rather than an analysis.
Direct Lake and Eventstream
A shorter import refresh
A faster refresh buys minutes and keeps the ceiling; reading the lakehouse natively removes it.
What the client has today
Finance figures that update during the trading day rather than landing the morning after.
Shop, payment provider and ERP reconciled once in Silver on a unified order key, rather than in every Excel file.
CM1 and CM2 per channel and per SKU as a standard view rather than an analysis.
Data-quality rules with alerting, so a discrepancy surfaces the day it happens rather than at month-end.
One governed model under the near-real-time path and the rest of the reporting, read by Power BI and Analyze in Excel.
A foundation that forecasting and Copilot questions attach to when the client is ready.
Where it left them
Finance leadership sees performance as it happens rather than a day later, on the same numbers month-end is closed on.
A retailer with Microsoft Fabric already in production, semantic models over Direct Lake and store revenue streaming in, who wanted forecasting, Copilot questions and anomaly detection on top of it.