When your numbers disagree, which one do you trust? Six reconciliation rules
When your tools report different numbers, do not average them and do not pick the one you like. Decide in advance which source wins for each kind of number, write the rules down, and apply them the same way every week. Here are the six rules we use, from a system we built for a DTC brand, with a real example of what each one caught.
A consumer brand of any size runs on numbers from tools that were never designed to agree. The ad platforms, the ecommerce platform, the email and SMS platform, the shipping software, the 3PL, the warehouse, and the suppliers each count from their own seat, and each one is internally consistent. The trouble starts when an operator has to make one decision from all of them at once.
Most teams handle that by arguing in the Monday meeting. A better answer is a short set of rules that settle the argument before it starts. In July we wrote about owning a small system instead of renting overlapping tools for outbound sales. These rules came out of applying the same idea to a brand's operating numbers.
Rule 1: Name one source of truth for revenue
Revenue should come from the system that records the actual order. For the brand we built this for, that meant store orders, discounts, shipping charges, and refunds from the ecommerce platform. Every other tool that reports revenue, including the ad platforms and the email and SMS platform, is describing sales it believes it influenced. Those views are useful for explaining revenue. They are not allowed to define it.
Writing this down sounds trivial. It ends a surprising number of meetings early.
Rule 2: Count what you actually paid
Costs should match the money that left the bank, not the figure a vendor displays. Two places this matters most:
- Ad spend. The ad platforms report spend before the sales tax the brand pays. Once spend was adjusted to what was actually paid, customer acquisition cost came out about 10% higher than the dashboards showed. Every budget decision built on the dashboard number had been working from a cost that was too low.
- Product cost. Cost of goods should come from supplier billing for each inventory lot, not a single standard cost in a spreadsheet. Free gifts belong here too: each gift-with-purchase item is costed into the order it shipped with, so a promotion's real cost shows up on the orders it touched.
Rule 3: Mark unknowns as unknown
Some channels do not carry click IDs, so no tool can honestly say which sales they drove. The tempting move is to spread their share across the channels you can see, which makes the report look complete. We mark them n/a instead.
The same rule shapes how we read attribution overall. We start with blended numbers, total ad spend against revenue from new customers, before looking at any platform's own claims. No single platform can inflate a blended figure, so it anchors the channel reports rather than the other way around.
Rule 4: Close a month once, then lock it
Revenue lands when the order ships. Supplier costs can land weeks later. If you report margin before costs arrive and then quietly revise it, nobody can plan against last month's number because it keeps moving.
So a month closes only when its supplier costs have landed, and after that it does not change. Anything found later goes into the current month, where it is visible. The margin you reported is the margin you keep.
Rule 5: Give every mismatch a label
When a supplier invoice, a warehouse count, and the order history disagree, the gap gets sorted into one of two buckets: a real write-off or a data error. Nothing is allowed to sit in a vague variance line. This rule found more than any other, because inventory is where sources drift apart fastest:
- Reserve stock the 3PL never saw. Units existed in the warehouse records but not in the 3PL's view, which skews reorder decisions. That was a data error to fix at the source.
- Unsellable inventory still on the shelf. Units were being counted as stock even though they could not be sold. That was a real write-off, and it had been hiding inside the inventory value.
- SKU renames, duplicates, and mislabeled lots. Small catalog mistakes split one product's history across several records or attached the wrong lot cost to a unit. Data errors, all of them.
Getting the warehouse side right meant reading its reports in whatever form they arrived, including scanned PDFs, and checking them against the 3PL and shipping software rather than trusting either alone.
Rule 6: Check every number before anyone sees it
Rules catch the mistakes you have already thought of. To catch the rest, a second AI agent reviews every number before it reaches the team, looking for figures that do not tie out across sources. A broken feed or a mislabeled lot should be stopped at the check, not discovered after a decision.
Checking also changes how a team reads a complaint. At this brand, the team believed shipping was too expensive. Once the shipping data was checked against orders and labels, the real cause turned out to be a labeling problem, not carrier rates. The fix was operational, not a new contract.
Where the numbers feed creative
Once the numbers are trusted, they can drive more than reports. The same second agent turns performance data and a weekly crawl of competitor pricing and promotions, matched like for like, into creative angles for the coming week. Angles move through three lists: Keepers, Queue, and Built. Each ad name carries a suffix tying it back to its idea, so results trace to the thinking behind them. Tools draft, operators decide: the agent proposes, and people choose what runs.
Rules first, software second
None of these rules requires a particular product. The brand kept its ecommerce platform, ad platforms, email and SMS platform, shipping software, and 3PL, because each does its own job well. What we built is the layer none of them provide: the rules, the locked months, the labeled mismatches, and the check. As with outbound, we rented the rails and owned the system.
A team can start these rules in a spreadsheet tomorrow if someone owns them. Software just makes them run every week without anyone remembering to. For how we join each order to its true cost, see our earlier note on true margin for Shopify operators.
What to do this month
- Write down your revenue source of truth and tell the team which tools explain revenue rather than define it.
- Check whether your ad spend includes sales tax, and restate acquisition cost on what you actually paid.
- Mark channels without click IDs as n/a and start every attribution review with blended spend against new-customer revenue.
- Close each month only after supplier costs land, then lock it.
- Label every inventory or billing gap as a write-off or a data error, and fix data errors at the source.
- Put a check between the data and the meeting, human or automated, so no unreconciled number drives a decision.
Questions operators ask about reconciling their numbers
Which tool should be the source of truth for revenue?
Why does ad platform spend understate customer acquisition cost?
When should a month be closed and locked?
What should happen when an invoice, a count, and an order disagree?
Do your numbers disagree with each other?
Start with a conversation. Tell us which numbers your team argues about, and we will give you a straight read on which source should win and what it would take to make the rest agree.
Start with a conversation →