Reconciling Stripe Payouts with Shopify Orders
Every Shopify merchant who's ever tried to close the books at month-end has run into the same gap: Stripe paid out $48,212.55 but Shopify says you sold $51,840.00. Where did the missing $3,627.45 go? The answer is almost always a combination of timing, fees, refunds, chargebacks, and disputes — none of which are bugs, but all of which need to be accounted for if you want your accounting to reconcile. This guide walks through the reconciliation workflow we recommend for Shopify+Stripe stores, the typical sources of variance, and how to close the books without spending a full day per month in a spreadsheet.
Why Stripe payouts and Shopify gross sales never match
There are five recurring sources of variance between Shopify gross sales and Stripe net payouts:
- Processing fees — Stripe charges 2.9% + $0.30 per transaction, deducted before payout
- Payout timing — Shopify recognizes an order on order-date, but Stripe pays out 2-7 business days later depending on your schedule
- Refunds — Shopify shows the gross order, Stripe shows the original charge minus the refund
- Chargebacks and disputes — Stripe withholds the disputed amount plus a $15 fee until resolution
- Shopify Payments vs Stripe — if you have multiple processors, payouts split across them
The right reconciliation order
Reconcile in this sequence to avoid chasing your tail:
- Start with the Stripe Balance report for the period — this is your source of truth for cash that hit your bank account
- Match each payout to the corresponding bank deposit (date, amount, descriptor)
- Pull the Shopify Order export for the same period and split by order status (paid, refunded, chargeback)
- Subtract Stripe fees (visible per-transaction in the Stripe export) from Shopify gross to get expected payout
- Account for orders straddling the period boundary — an order placed on the 31st pays out on the 2nd of next month
Handling refunds correctly
Refunds are the source of half of all Shopify-Stripe reconciliation headaches. When you refund through Shopify, Stripe reverses the original charge and the refund shows up as a negative line on the next payout. Stripe does NOT return its processing fee on the original charge unless you explicitly request a fee refund (most stores don't). So a $100 sale + $100 refund nets to: gross $0, but you're still down $3.20 in Stripe fees. Your accounting needs to recognize the fee as a separate expense, not net it against revenue.
Chargebacks and disputes
When a cardholder disputes a charge, Stripe immediately withholds the disputed amount plus a $15 dispute fee from your next payout. The amount returns 60-90 days later if you win the dispute, or stays withheld permanently if you lose. For reconciliation purposes, treat disputes as a separate accounting bucket: "funds withheld pending dispute" on your balance sheet, not a refund against revenue. When the dispute resolves, move the amount to either cash (if you won) or a chargeback-expense account (if you lost).
Monthly reconciliation checklist
A clean monthly close needs:
- Stripe Balance report exported for the period
- Shopify Order export with finance fields included
- Bank statement showing deposits
- A reconciliation worksheet matching each payout to deposits and orders
- Journal entries for fees, refunds, and disputes as separate lines
- A variance under $50 (anything larger should be tracked down — usually a timing issue on a period-boundary order)
Frequently asked questions
Why is my Stripe payout smaller than my Shopify sales?
Mainly processing fees (2.9% + $0.30 per transaction), refunds processed in the same period, withheld chargebacks, and timing — orders on the last day of the month don't pay out until the next period.
Should I record revenue gross or net of Stripe fees?
Always gross. Record the full sale as revenue and Stripe fees as a separate operating expense. Netting fees against revenue understates both your top line and your real cost of payment processing.
How often should I reconcile?
Monthly is the minimum for any store doing more than a handful of transactions. Daily is overkill, but weekly is sensible if you're approaching $50k+ MRR — the volume makes month-end reconciliation painful if you let issues pile up.
What about Shopify Payments?
Shopify Payments is a thin wrapper around Stripe — the reconciliation logic is identical, but the payout report lives in Shopify rather than the Stripe dashboard. If you have both Shopify Payments and a separate Stripe account (for subscriptions, say), reconcile each separately.
Do I need a bookkeeper to reconcile?
Not necessarily, but once you're past ~100 orders per month it becomes a real time sink. Most stores either move to automated reconciliation tooling or hire a bookkeeper at that volume.
Can chargebacks be reclaimed?
Yes — if you provide evidence (delivery confirmation, signed receipt, communication trail), you can win the dispute and Stripe returns the funds. Win rates are around 30-40% across the industry; well-documented merchants do considerably better.

