I merged four sales channels into one number. Then I proved it was right.
Building a unified multi-channel revenue dashboard took an afternoon. Reconciling it against the source of truth took the rest of the day — and that's the part that matters.
A multi-market e-commerce group I work with sells across a big marketplace, a handful of regional storefronts, and a couple of other channels. The leadership question was simple and the answer was annoyingly hard: what did we actually sell this week, across everything, in one number?
Building the pipeline to pull it all together took an afternoon. Making sure the number was true took the rest of the day. That ratio is the entire point of this post.
Pulling four channels into one figure
The mechanical part went the way these things go. The web storefront's analytics already tracked its own sales. The regional shops exposed an order API. The big marketplace had a partner API that returned every order with no customer detail — exactly the minimal, no-personal-data scope you want for a revenue roll-up.
The marketplace API is where the engineering judgment earned its keep. These APIs are rate-limited with a token-bucket system: you get a steady trickle of request capacity, and if you blow through your burst you start collecting throttling errors. Amazon's own usage-plans documentation spells this out, and their optimization guidance is essentially: don't hammer it. A naive daily job that re-pulls the entire order history every morning will get rate-limited into uselessness within a week.
So the daily run only re-pulls the last few weeks and merges them into a stored history, with a full backfill reserved for an explicit, resumable command. It's the same prep-once-advance-daily discipline I keep applying everywhere lately: don't recompute what you already have.
The number is worthless until it's reconciled
Here's where most "we built a dashboard" stories quietly end and the real work begins. A figure that aggregates four sources is not trustworthy because it looks plausible. It's trustworthy because you've checked it against an independent source of truth and explained every gap.
The group already kept an internal spreadsheet of weekly revenue. So I lined the dashboard up against it, week by week, and the totals came in at about 0.96 of the spreadsheet's figures. That ratio was the most useful thing I found all day — because it told me the two were on the same VAT basis. If the dashboard had been showing roughly 1.19 times the sheet, I'd have known one of them was tax-exclusive and the other tax-inclusive, and the whole comparison would have been apples to oranges. The closeness wasn't reassuring on its own; the specific closeness was the evidence.
A number you can't reconcile against something else isn't data. It's a rumour with decimal places.
The remaining gap had named causes, not hand-waving: two channels weren't wired in yet, and the most recent marketplace orders hadn't shipped, so they hadn't landed in the sheet. Each difference had an explanation, which is the only state in which a leadership number is safe to present.
And then the human-error classic. Someone flagged that "last week" looked wildly low — a few thousand against the high thirty-thousands on the sheet. The dashboard wasn't wrong. A leading digit had been dropped reading the figure off the screen, and the rightmost bar of any weekly chart is always a partial, still-accumulating week. Two innocent misreads stacked into a false alarm. Worth knowing before it becomes a meeting.
Why I distrust a clean number on sight
I've been burned enough to treat a tidy figure as a question, not an answer. AI tooling makes it trivial to produce a confident dashboard now — and that's exactly the danger, because it'll hand you a number that's wrong in the most convincing way and the chart will look gorgeous. The discipline that separates a useful operator from an expensive one is reconciliation: the same instinct behind the anti-hallucination audit, the same reason a dashboard can lie by leaving things out.
This is also why I think of reporting as plumbing for a system, not a deliverable in itself. A single weekly figure is the visible tip; underneath it sits channel logic, tax basis, refund treatment, and freshness windows that all have to agree. Growth isn't a department — it's a system, and so is the number you use to steer it. The tool can build the dashboard. Knowing which question to ask the dashboard before you believe it — that's still the job, and it's the same domain judgment the tooling can't supply.
If your reporting has never been reconciled against an independent source, you don't have a dashboard. You have a very persuasive screensaver.
Sources & further reading
External — Amazon SP-API docs, Usage plans and rate limits; Amazon SP-API docs, Strategies to optimize rate limits.
Related posts — The AI handed me a number that was wrong in the most convincing way; Your analytics dashboard is lying to you by leaving things out; The anti-hallucination audit; Growth isn't a department — it's a system; The death of generic AI.