Shopify reconciliation, explained
Shopify reports sales in several places, and they are not built to agree. The orders export, the Sales reports and the Shopify Payments payout report each count a different thing over a different window, so two of them disagreeing is usually correct behaviour rather than a bug.
These guides explain what each surface counts, which one answers which question, and how to reconcile a figure so it holds up when someone asks where it came from.
Start here
The decision tree: which number is right, and why the two disagree.
Timing, fees, and why a payout was never going to equal a sales figure.
The reference: each column mapped to the lane it belongs in.
The calculation, and where Shopify's own surfaces disagree.
The method: reconciled-or-gated, and how to apply it to your own file.
The short version
Three surfaces, three jobs. The orders export is the raw record: one row per line item, with order-level fields on the first row of each order. The Sales reports are an analytical view with their own inclusion rules. The payout report is money movement -- when funds actually landed, net of fees and adjustments.
Most reconciliation questions dissolve once you know which of the three you are looking at, and what it excludes. The rest come down to timing: an order and its refund can fall in different periods, and a sale and its payout almost always do.
Vocabulary
- Gross sales -- Shopify defines this as "Sales revenue, before discounts and sales reversals are factored in".
- Net sales -- Shopify defines this as "Sales revenue, with discounts and sales reversals factored in", computed as gross sales minus discounts minus sales reversals.
- Total sales -- net sales plus taxes, shipping, duties and additional fees. This is the figure closest to what customers were charged, and the furthest from a revenue figure.
- Payout -- a transfer of funds to your bank, net of fees, disputes and adjustments, on its own schedule. Not a sales figure.
- Reconciled -- a figure that has been tied back to a named source and whose exclusions are listed individually, rather than one that merely looks plausible.
Shopify Help Center: Analytics data points (fields) reference
How we check our own numbers
The same standard these guides describe is the one the product is built on: a figure is either tied to its source with every exclusion named, or it is shown as gated rather than estimated. Our methodology page states what each source can prove, and limitations states what it cannot.
Common questions
Which Shopify number is the correct one?
It depends on the question. For revenue recognition, a sales figure built from orders is the right basis. For cash, the payout report is. Shopify's own documentation says the payout reconciliation report "isn't a statement of revenue for accounting purposes", so the two are not competing answers to one question -- they answer different questions.
Why does my orders export not match my dashboard?
Because they include different orders. Shopify documents that test orders are excluded from Sales reports but present in the orders export, and that a custom-amount refund does not appear in the Sales report while it is included in the orders export.
Do I need to connect my store to use these guides?
No. Every guide here works from your own Shopify Orders export, and the free report takes that file directly.
Upload your Shopify Orders export and see which figures reconcile to it, which are excluded and why, and which layers your data cannot prove yet. Your first report is free.
Reconcile my Orders exportCSV uploads are parsed in your browser. Shopify orders you sync are stored on our servers.
Sources last checked 2026-08-04.