Shopify reconciliation, explained

Short answer

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

New to ProfitRoot? How it is different from a profit dashboard, in counted facts.

Closing a client's books? Tie their Shopify sales out before close.

Shopify export doesn't match your dashboard

The decision tree: which number is right, and why the two disagree.

Your Shopify payout doesn't match your sales

Timing, fees, and why a payout was never going to equal a sales figure.

Shopify orders export: what each column proves

The reference: each column mapped to the lane it belongs in.

Gross sales vs net sales in Shopify

The calculation, and where Shopify's own surfaces disagree.

Why your Shopify order count doesn't match

Three lists, six reasons: why the order counts disagree and how to tie them.

Where to find your Shopify fees

Card fees, transaction fees, processor fees: where each one lives and how to total a month.

Shopify profit report missing cost per item

Cost recorded at the time of sale: why profit leaves sales out, and how to see the gap.

Why gift card sales aren't in Shopify sales

Sold now, counted as a sale when spent: where gift card money shows instead.

QuickBooks and Shopify still differ after sync

After the ledger is in sync: what still is not proven, and why.

ProfitRoot vs A2X vs Link My Books

Ledger sync vs margin verification: what each tool is for, side by side.

Margin reports vs profit dashboards

Estimated for speed, or traced for proof: what each kind of number can carry.

Shopify 1099-K doesn't match your sales

Gross payments vs Net Sales: the walk from your 1099-K to Shopify, line by line.

Losing money on shipping? Check in Shopify

Shipping charged vs label cost: join two exports and see what shipping costs you per order.

Plan vs actual for a Shopify store

Budget vs actual in four numbers: the gap split into volume and order value.

Contribution margin for a Shopify store

CM1, CM2, CM3: contribution margin in three layers, with every missing cost named.

13-week cash forecast from Shopify payouts

Payouts in, bills out, week by week: find the week cash runs lowest.

How to make a Shopify number defensible

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

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 Shopify Payments activity 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. To see the figures on your own store, install ProfitRoot from the Shopify App Store; to see them first, use the sample store.

Want to test your store?

Install ProfitRoot and see these steps on your own orders.

Install free from the Shopify App Store

Orders synced from a connected Shopify store are transmitted to and stored on our servers so they can be recomputed on later visits.

Sources last checked 2026-11-13.