Reconciling Shopify payouts to accounting software — how do you deal with the mismatch?

Every Shopify payout is a group of orders minus fees, refunds, and reserves, so the deposit amount never lines up cleanly with individual orders in my accounting software. Reconciliation eats hours each month.

For those further along: what do you use, and does it actually break a payout down into its parts (gross, fees, refunds, chargebacks) and tell you WHY the totals differ? Or are you still doing that part by hand? Also curious how people outside the US handle it, since a lot of tools seem US-only.

The thing that made this click for me: stop reconciling payouts against orders, they’re on different clocks. An order can be captured in one payout while its refund or chargeback fee lands in a later one, so order-level matching never ties out.

The unit that actually reconciles is the balance transaction, not the order. In Finances > Payouts you can export a Transactions CSV where every row is typed (charge, refund, dispute, fee, adjustment, payout) with gross, fee and net. By definition a payout total is the sum of its transaction rows, so if you book from that CSV the deposit always matches.

What worked in practice was a Shopify clearing account: sales and refunds post to clearing, fees go to an expense account, and the payout just moves money out of clearing into the bank. The clearing balance at any moment is your in-transit total.

Outside the US the extra wrinkle is FX. If the payout currency differs from the order currency there’s a conversion line, and in the EU the processing fee is usually VAT-inclusive so book it gross. Reserves being held and released is the other big reason a period looks off.

Are you on Shopify Payments or a third-party gateway? That changes where the fee data even lives.

Really appreciate this, the “orders and payouts are on different clocks” point is what I was missing. I was trying to match at the order level and it never tied out, and now I get why.

I’m on Shopify Payments for most of it, plus PayPal for a chunk of orders, so the fee data lives in two places, which is part of my mess.

A few honest questions since you clearly have this dialed in:

Even with the transactions CSV and a clearing account, how long does month-end actually take you now? Is the booking automated somehow, or are you still importing the CSV and posting it by hand each time?

The FX and reserve lines you mentioned are exactly where I lose the plot. Do you catch those manually every month, or does something flag them for you?

And are you doing this just for your own store, or for clients too? Trying to figure out if I should just learn to do this properly myself or if it’s worth paying someone.

Practical follow-up for anyone who books from the Payouts > Transactions CSV: does your export’s column layout look the same for everyone, or does it shift by region or plan?

Mine (UK, Shopify Payments) comes out as one row per balance transaction — transaction date, a Type column (charge, refund, dispute, adjustment, reserved_funds, payout), then Amount, Fee, Net, the currency, the payout id and date, and an “available on” date. I’ve been scripting a little check that re-sums those rows back to the payout total, so I can see exactly why a deposit differs from sales — and I want to make sure it doesn’t fall over on other people’s exports.

Two things I’m not sure carry across:

- EU sellers: do you get a separate VAT or tax column on the fee, or is it already baked into the Net?

- Anyone selling in more than one currency: is there a separate presentment or conversion column, or just the single Net?

If someone could paste just their header row (or a couple of dummy lines, no real numbers needed), that would help a lot. Just trying to make sure I’m reading the same file everyone else is.

We enter a daily sales summery into our financial software, not each order due to the volume. But each company is different. We do break it down into parts since each part matters on the tax return. Shopify Payments uses UTC (universal time) so look to see when your cut off time is. Ours is 7p. For our monthing reconcilation we loook at orders about 2 days before the EOM (depending on which day of the week it falls) starting at 7p to midnight of the last day of the month. That number should match to the outstanding (credit card receivables or whatever you call it) payout. When funds are deposited into our account is when we recognize the fees. We do the same for PayPal.

This is really helpful, thank you — the UTC cutoff especially. I hadn’t fully clocked that my “end of month” and Shopify’s aren’t the same line, which probably explains a couple of months that were off by a day of orders.

The daily-summary approach makes sense for the volume. Two things I’m still trying to gauge:

- Roughly how long does the month-end reconcile actually take you once you sit down to it? Trying to work out if what I’m spending is normal or if I’m doing it the hard way.

- Do the odd lines — a prior-period refund, a chargeback, funds held in reserve, an FX conversion — ever throw the monthly number off, or does the daily-summary-plus-receivable method just absorb them? Those are where I lose the thread.

And honestly: if something broke each payout down into its parts and matched it back for you, would that save real time, or is your routine tight enough now that it wouldn’t be worth it? Trying to figure out if this is a “just learn to do it properly” thing or a “worth finding a tool” thing.

Quick update in case it helps anyone landing here — I got fed up doing this by hand every month and built a small tool for it. You drop in your Payouts to Transactions CSV and it rebuilds each payout and shows, in plain English, exactly what pulled the deposit away from your sales (fees, prior-period refunds, chargebacks, reserves, FX), and flags the payouts that look off. Free, no signup — try it on your own export here: https://netclear.136.244.94.113.sslip.io — it is early, building it in the open, would love to hear what is confusing or missing.