About Work Services FAQ Insights Let's Talk →
→ Insights

When your numbers disagree, which one do you trust? Six reconciliation rules

The short answer

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.

Table matching each number to the source that defines it: store orders for revenue, amounts actually paid for ad cost, supplier billing by lot for cost of goods, cross checked records for inventory, and blended figures for channel credit.
Which source wins for revenue, ad cost, cost of goods, inventory, and channel credit, and which tools only describe them.

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.
Example dashboard detail, with values hidden, showing a single order joined to its cost of goods, the ad that brought it, and its discount and gift, beside product cost listed by inventory lot.
Illustrative example view, values hidden. One order joined to its cost, ad, discount, and gift, with cost of goods taken from monthly inventory lots.

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.

Timeline of closed and locked months with the current month still open, followed by four steps: orders ship, costs arrive, month closes, locked.
A month closes only after its supplier costs land. After that it stays locked, and later findings go into the open month.

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.
Diagram sorting a mismatch between supplier invoice, warehouse count, and order history into two boxes: real write-off for unsellable stock, and data error for reserve stock the 3PL never saw, SKU renames and duplicates, and mislabeled lots.
When a supplier invoice, a warehouse count, and the order history disagree, the gap is labeled either a real write-off or a data error.

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?
Pick the system that records the actual order, which for most DTC brands is the ecommerce platform: orders, discounts, shipping charges, and refunds. Ad platforms and analytics tools estimate revenue they influenced, so use them to explain revenue, not to define it.
Why does ad platform spend understate customer acquisition cost?
Ad platforms report spend before the sales tax the brand actually pays. At one DTC brand, adjusting spend to what was really paid put customer acquisition cost about 10% higher than the dashboards showed.
When should a month be closed and locked?
Close a month only after supplier costs for it have landed, then lock it. Corrections found later go into the current month, where everyone can see them, so the margin you reported does not keep changing.
What should happen when an invoice, a count, and an order disagree?
Sort the gap into one of two buckets: a real write-off, such as stock that can no longer be sold, or a data error, such as a renamed or duplicated SKU. Fix data errors at the source, book write-offs, and never leave a vague variance line.

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 →
Keep reading
Build vs rent: outbound → True margin for Shopify operators → Fractional CFO → All insights →