Your Shopify dashboard says you made $48,200 last week. Your bank deposit says $41,900. Then you open QuickBooks — and it shows a third number that matches neither.
Nothing necessarily went missing. The problem is that you're comparing numbers that represent different things.
Shopify sales, processor payouts, and the amount recorded in your accounting system can diverge once processing fees, refunds, chargebacks, and other adjustments enter the picture. If your reconciliation process is simply “match Shopify sales to the bank deposit,” you're going to keep finding gaps.
The real question isn't just why the numbers don't match. It's whether you can explain every dollar between them.
Why fees and refunds reconciliation breaks a simple sales-to-deposit match
At first, the process seems straightforward: pull your Shopify sales, compare them with the deposit that hit your bank account, and investigate the difference.
But those two numbers aren't supposed to match.
Your Shopify sales reflect what customers purchased. Your payout reflects what actually gets transferred after fees, refunds, chargebacks, and other adjustments are accounted for. Add multiple payment methods, currencies, or sales channels, and the gap becomes even harder to trace manually.
That's why comparing total sales directly with a bank deposit creates confusion. You're not necessarily looking at missing money — you're looking at different stages of the same transaction flow.
The goal of reconciliation isn't to force those numbers to match. It's to account for everything that happened between the sale and the final deposit.
The three things that actually break the match
1. Fees. Payment processing fees aren't always something you can accurately back out with one percentage. They can vary depending on the payment method, processor, transaction type, currency, and other factors. Two orders with the same sale value can therefore contribute different amounts to the final payout.
That means estimating fees with a single formula may get you close — but it won't necessarily explain the payout down to the transaction.
2. Refunds. Refunds create a timing problem as well as a numbers problem. The original sale might happen in one accounting period while the refund is processed in another. Partial refunds add another layer because only part of the original transaction is being reversed, and taxes or other transaction details may also need to be accounted for.
So the sale and the money moving back to the customer don't necessarily appear neatly in the same reporting period.
3. Adjustments. Chargebacks, currency conversions, credits, shipping corrections, and processor-side adjustments can create additional differences between what was sold and what was ultimately paid out.
These are especially easy to overlook because they may appear as relatively small line items. But at higher order volumes, small unexplained differences can accumulate into a much larger reconciliation gap.
That's when “sales minus deposit” stops being a useful reconciliation method. The question becomes: can every fee, refund, and adjustment be traced back to the transaction or event that caused it?
Why this gets sharper heading into Q4
These reconciliation gaps become much more visible when order volume spikes.
Black Friday and Cyber Monday are a good example. More orders mean more transactions to reconcile — followed by a concentrated wave of returns, partial refunds, chargebacks, and other adjustments. Some of those transactions may also cross accounting periods, making it harder to connect what happened after the sale back to the original order.
A small reconciliation gap that's manageable during a normal month can quickly become dozens or hundreds of transactions that need to be investigated during peak season.
And the timing makes it worse. The post-BFCM return period runs directly into month-end and year-end close, when finance and operations teams already have more to reconcile.
The earlier each fee, refund, and adjustment is tied back to the transaction that caused it, the less there is to reconstruct later.
What actually reconciles: matching adjustments back to the order that caused them
The solution isn't a better spreadsheet formula. It's being able to trace fees, refunds, and adjustments back to the transactions that caused them.
There's a big difference between:
“The deposit was $6,300 lower than sales, and we're not sure why.”
and:
“The deposit was $6,300 lower than sales: $4,100 in processing fees, $1,850 in refunds across 14 orders, and $350 in currency-conversion adjustments.”
The first tells you that a gap exists. The second explains the gap.
That's the goal of reconciliation: not forcing Shopify sales, payouts, bank deposits, and accounting records to show the same number, but being able to explain how you got from one number to the next.
When each difference can be traced back to the transaction or adjustment that created it, reconciliation becomes an audit trail instead of a monthly investigation.
What to check first if your numbers don't match right now
If this month’s Shopify-to-bank gap looks bigger than usual, start with three questions:
1. Were any refunds processed during this period — especially partial refunds?
2. Did any transactions involve different payment processors or currencies?
3. Are there adjustments on the payout report that you haven’t been able to trace back to a specific transaction yet?
The goal isn’t simply to find the difference. It’s to explain it. Once you can trace the fees, refunds, and adjustments behind the gap, you have something you can actually reconcile instead of another unexplained number sitting in a spreadsheet.
If this keeps happening month after month, it may be time to look at the reconciliation process itself. Book a 20-minute diagnostic and we’ll walk through your Shopify payout data with you to identify where fees, refunds, and adjustments are creating discrepancies.
For the month-end version of this problem, see our Shopify and QuickBooks month-end close checklist.
And if you want to understand the payout math first, read why a Shopify payout doesn’t match sales.