· 6 min read
How to Record Shopify (and Stripe) Payouts in Xero
The deposit that lands in your bank from Shopify Payments or Stripe is never your sales figure — it has already had fees, refunds, chargebacks and reserves netted out of it. This guide shows the correct clearing-account method Australian bookkeepers use to record a payout so your sales, GST, fees and refunds all reconcile to the cent, then shows how to stop doing it by hand.
Why your Shopify deposit doesn’t match your sales
If you sold $10,860 of product today, that is not what shows up in your bank account two or three days later. The payment processor takes its cut, nets out any refunds and chargebacks, sometimes holds back a reserve, and only then pays you the difference. So a big sales day can arrive as a much smaller deposit — and if you code that deposit straight to a Sales account, your revenue, your GST and your fees will all be understated.
This is the single most common Shopify bookkeeping mistake. The deposit is a net number made up of several moving parts, and the only way to record it correctly is to break it back into those parts and prove they add up.
What’s actually inside a Shopify or Stripe payout
Every payout is a bundle. Before you can record it, you need to know what the processor rolled into that one deposit. The components are almost always some combination of the following, and together they explain the entire gap between your gross sales and the cash you received.
- Gross sales — the full GST-inclusive value your customers were charged (product plus shipping).
- Processing fees — the percentage-plus-fixed fee the processor charges on each transaction.
- Refunds — money returned to customers, which reduces both your revenue and the GST you collected.
- Chargebacks — disputed transactions clawed back from your balance.
- Chargeback fees — a flat penalty the processor charges each time a chargeback is raised.
- Reserves — an amount the processor holds back temporarily and releases later; it’s your money, just not paid out yet.
- Adjustments — occasional corrections, currency conversion differences, or prior-period true-ups.
The correct method: use a clearing account
The professional way to record a payout is a journal entry through a clearing account (also called a payment-processor clearing or undeposited-funds account). Instead of forcing the net deposit into one account, you record every component at its true value and let the clearing account absorb the cash movement. Done right, the journal’s debits equal its credits, and the amount hitting the clearing account equals the exact deposit — so it clears to zero against the bank line.
The logic is simple: credit your income and GST for the full gross value of what was sold, then debit each cost (fees, refunds, chargebacks, reserves) and the net cash. Because you started from gross and subtracted every real deduction, whatever is left over must equal the deposit. If it doesn’t, something is missing — and that’s a feature, not a bug.
- Pull the payout report from Shopify Payments or Stripe and note the gross sales, each fee type, refunds, chargebacks and any reserve.
- Credit Sales revenue with the ex-GST portion of gross sales (gross divided by 1.1 in Australia).
- Credit GST collected with the GST portion (1/11 of gross sales).
- Debit Processing fees expense for the total fees.
- Debit Refunds/Chargebacks (or contra-revenue) for money returned and clawed back, including chargeback fees.
- Debit a Reserve receivable (an asset) for any amount held back, so it isn’t lost — you’ll clear it when released.
- Debit the Bank clearing account with the net deposit; confirm debits equal credits and the clearing amount equals the actual bank deposit.
A worked example that reconciles to the cent
Say a payout covers $10,860 of gross charges and lands as an $8,640 deposit. The $2,220 difference is made up of $318 processing fees, $240 refunds, $120 chargebacks, $25 chargeback fees and a $1,517 reserve.
Credits (total $10,860): Sales revenue $9,872.73, GST collected $987.27. Debits (total $10,860): Bank clearing $8,640, Processing fees $318, Refunds and chargebacks $385 ($240 + $120 + $25), Reserve receivable $1,517.
Check the two proofs. The accounting proof: debits $8,640 + $318 + $385 + $1,517 = $10,860, which equals the credits — the entry balances. The bank proof: gross $10,860 − fees $318 − refunds $240 − chargebacks $120 − chargeback fees $25 − reserve $1,517 = $8,640, exactly the deposit. When the reserve is later released, you clear the $1,517 receivable against that future payout.
One simplification to be aware of: this example folds refunds and chargebacks into a single GST-inclusive contra line and shows GST on the full gross for clarity. In a precise entry you would reverse the GST on the refunded portion — so the refund reduces both Sales revenue and GST collected — leaving net GST matched to net sales. Vert handles that split automatically; by hand, code the refund line GST-inclusive so it reverses correctly.
How GST works on Shopify sales in Australia
In Australia, the price your customer pays is GST-inclusive, so the gross charge already contains the tax. To split it, the GST is 1/11 of the gross amount and the ex-GST revenue is the gross divided by 1.1. In the example, $10,860 gross gives $987.27 of GST (10,860 ÷ 11) and $9,872.73 of sales (10,860 ÷ 1.1). Never treat the whole gross figure as revenue — you’d overstate income and understate the GST you owe.
Two things trip people up. First, processing fees from Australian processors are generally GST-inclusive too, so the expense carries its own GST credit — code it with the correct tax rate rather than as GST-free. Second, refunds reverse GST: refunding a sale reduces both your revenue and the GST collected on it.
Where this gets hard — and how Vert automates it
Doing one clean journal is manageable. The pain is that real months are messy: reserves that release across periods, chargebacks that reverse later, multi-currency conversions, refunds that straddle two payouts, and the constant job of proving each payout sums back to the deposit to the cent. Connector tools tend to post a rough summary and dump whatever doesn’t fit into a suspense account for you to chase.
Vert is agentic month-end reconciliation built for this. It ingests each Shopify Payments and Stripe payout, decomposes it, and proves the parts equal the deposit — deterministically, cents-exact. It splits revenue and GST correctly, drafts a balanced journal entry into Xero for one-click approval, and resolves the exceptions other tools leave behind — or explains exactly why it couldn’t. Nothing posts without your approval, and every number traces back to its source.
| Account | Debit | Credit |
|---|---|---|
| Bank clearing | 8,640.00 | |
| Processing fees | 318.00 | |
| Refunds, chargebacks & fees | 385.00 | |
| Reserve receivable | 1,517.00 | |
| Sales revenue | 9,872.73 | |
| GST collected | 987.27 | |
| Totals | 10,860.00 | 10,860.00 |
FAQ
Frequently asked
Why doesn’t my Shopify deposit match my sales?
Because the deposit is a net figure. Shopify Payments or Stripe subtracts processing fees, refunds, chargebacks and chargeback fees, and sometimes holds back a reserve, before paying you. So a $10,860 sales day can land as an $8,640 deposit. The only correct way to record it is to break the payout back into those components so your sales, GST and fees are each stated at their true value.
What is a clearing account?
A clearing account is a temporary holding account you route the payout through so the cash movement nets to zero. You record gross sales, GST, fees, refunds and reserves at full value, debit the clearing account with the actual net deposit, then match that clearing balance against the real bank line.
How is GST handled on Shopify sales in Australia?
Australian prices are GST-inclusive, so the gross charge already includes the tax. The GST portion is 1/11 of the gross amount and the ex-GST revenue is gross divided by 1.1. For $10,860 gross, that’s $987.27 GST and $9,872.73 sales. Processing fees usually carry their own GST credit, and refunds reverse the GST originally collected.
Can I automate this in Xero?
Yes. Rather than building each journal by hand, Vert ingests every Shopify and Stripe payout, decomposes it, proves it sums to the deposit, splits revenue and GST correctly, and drafts a balanced journal entry straight into Xero for one-click approval — while resolving the exceptions and reserves that usually get dumped into a suspense account. You review and approve; nothing posts without you.
Turn this into a review step, not a data-entry marathon.
Vert decodes every Shopify and Stripe payout and drafts the balanced entry into Xero for you. See it on a real month of your own payouts.
