Why your company always has 3 different revenue figures
Marketing, accounting and e-commerce never report the same revenue. Here is why those gaps exist, why part of them is unavoidable, and how to finally explain them.
By Xavier Lottin Founder · Biron
Introduction
A familiar scene: at the monthly performance review of a ready-to-wear brand, the marketing director announces €2.3M of revenue. The CFO corrects him — by his figures it is closer to €2.1M. The head of e-commerce, meanwhile, insists that Shopify shows €2.4M.
Within seconds, doubt settles over the table: how can three teams have three different versions of the same reality? Who is right?
The short answer: everyone… and no one. This is not a question of competence or honesty, it is a structural problem affecting almost every retailer and e-commerce platform. Here is why it happens, why it is partly unavoidable, and how to get out of it.
Why your tools produce different figures
The first source of divergence — often misunderstood — is technical: the tools you use every day were never designed to measure the same revenue. Each tool in your stack measures it through its own lens.
Different perimeters, therefore different rules
-
Meta attributes revenue to itself through its attribution model, but does not see the cancellations that happen after the order.
-
Shopify records the order the moment it lands, but has no native handling of partial refunds or shipping waived as a goodwill gesture.
-
Your point-of-sale software records what happens in store, with its own logic for closing the day.
-
Your accounting tool only records money actually collected — an order placed but not delivered does not yet exist for it.
Key point One and the same order can be attached to radically different dates: placed, shipped, delivered or paid. In a month that is busy at the end of the period, that difference in dates can be worth several points of revenue.
Similar tools, different algorithms
Meta Ads and Google Ads both want to measure how their campaigns contribute to your revenue. Yet they never give the same figure: each has its own conversion windows (7 days, 28 days…), its own attribution model (first-click, last-click, data-driven…) and its own rules for deciding which campaign "deserves" the sale.
A customer sees a Meta ad on Monday, clicks a Google ad on Wednesday, buys on Friday: both platforms claim 100% of the sale. Add them up and you mechanically get a total above your real revenue. These tools are built to justify advertising spend, not to produce an accounting figure.
| Different tools | Similar tools |
|---|---|
| Distinct measurement perimeters | Different conversion windows |
| Variable attachment date | Incompatible attribution models |
| Refunds not taken into account | Double counting |
| Accounting vs commercial logic | Opaque proprietary algorithms |
Why your organisation makes it worse
The technology explains part of the gaps. The organisation explains the rest — and usually the larger part. Each department defines revenue according to its own needs, and every one of those needs is legitimate.
- PerformanceMarketing
The marketer wants to know whether the campaigns work. A €100 order is a success, even if the customer returns the product three days later. They often include shipping, which is part of the converted basket.
Unit of time: date of the click or the session
- LegalAccounting
The accountant is after the legal and fiscal truth: only sales that are legally valid and invoiced count. Gift cards are a liability, freebies a cost, returns an immediate subtraction.
Unit of time: closing dates set by law
- On the groundStore manager
They steer by the day: as soon as the customer pays, the sale is made. They often include gift cards to credit their sales team’s effort, while web returns handled in store weigh on their targets.
Unit of time: opening day, till closing
- Physical flowSupply chain
The logistician triggers revenue at shipment or at delivery, on the product’s original price, without always including the promo codes applied at payment. A lost parcel is a straight loss.
Unit of time: processing date or dispatch note
Take product returns. Marketing often excludes them so as not to "pollute" its conversion rate. Accounting deducts them to the cent, but on physical receipt. E-commerce may count them as soon as the request comes in. Three different rules, three different figures — from the same base of orders.
The same goes for shipping, gift cards, exchanges, commercial discounts and giveaways. Every edge case is a potential source of divergence.
Worth remembering Even with a single, centralised data source, two teams will get different figures if they have not formalised the same calculation rules. The problem is not the data — it is the definition.
Silos first, then the legacy effect
In many companies, IT builds separate pipelines for each department, in answer to individual requests. With no cross-company view, calculation rules are born in silos and never circulate. Over time the layers pile up, contradict each other, and become unreadable to the people using them.
On top of that come rules established five or ten years ago, still running in Excel files or SQL queries nobody dares touch for fear of "breaking something". The result: two people starting from the same raw source unknowingly apply slightly different rules — and diverge at every extraction, without noticing.
Reliable data is the first step towards AI that performs
Accepting that you navigate with three revenue figures amounts to admitting your data is not reliable. Yet most retailers believe the opposite: their tools are market leaders, their dashboards visually perfect. That is the great trap of technology — mistaking a tool’s power for the correctness of its configuration.
An AI plugged into your current tools with no precise frame will fail. It does not natively know what an "in-store return of a web order" is, nor how to treat an expired gift card. With no single reference it will apply a standard logic that distorts your margins. To reason correctly, an AI must not guess your figures: it must be guided by your business rules.
| Criterion | "Classic" AI | Biron’s AI |
|---|---|---|
| Access to the data | A flat Excel/CSV export, or access to a raw API. | A secure gateway into your warehouse. |
| Reading | Raw labels it does not understand (gross_rev, net_rev, orders_shopify). |
Clean data and reachable definitions. |
| Business rules | It has to guess them: taxes, gift cards, discounts. | It knows them natively: "valid order", "invoice date". |
| Calculations | It invents wrong figures, with total confidence. | It executes: the calculations rest on the engine, not on the model. |
| Evolution | Changing model means rewriting the connection code. | MCP is a standard: you swap engines in a few clicks. |
Conclusion
Having three different revenue figures is the symptom of a data organisation that grew without a shared frame. The answer: centralise the source data, make it reliable at the finest grain, align the teams on shared definitions.
You stop spending time justifying your figures and start spending it using them to decide. And with reliable data, you prepare your company for using AI.
The question is no longer which figure is the right one, but how each figure serves your strategy.