Skip to content
Vert

· 6 min read

How to Book Shopify and Stripe Chargebacks in Xero

A chargeback is not a refund. How disputes move through Shopify Payments and Stripe payouts, how to journal them in Xero, and what to check for open disputes at month-end.

Refunds are easy to book: the merchant chose to give the money back, the amount is known, and it shows up as a clean line in the payout. A chargeback is different. The customer's bank takes the money, adds a fee, and then takes weeks or months to decide whether you get it back. The money leaves in one period and the decision often lands in another.

This guide covers how chargebacks move through Shopify Payments and Stripe, how to journal them in Xero so the payout still reconciles to the cent, and what to look at for open disputes when you close the month.

What actually happens to the money

Shopify Payments. Shopify's chargebacks page says that when the cardholder's bank makes a chargeback, the disputed amount is taken right away and "deducted from your next available payout." The chargeback process page lists the Australian chargeback fee as $25 AUD and says that if you win, the disputed amount and the fee come back to you. If you lose, you lose both.

An inquiry is the softer version. Shopify says no money is taken while an inquiry is investigated. If the bank decides for the customer, the inquiry can escalate to a full chargeback, and then the amount and fee are debited.

One Australian detail matters for bank reconciliation. If your Shopify balance cannot cover a chargeback, Shopify's chargeback process page says the shortfall is debited from your bank account, outside your regular payout schedule. If that debit fails, it tries again after 3 business days. That debit is a bank line that matches no payout, which is exactly the kind of item that ends up in suspense.

Stripe. Stripe's dispute documentation says that when a dispute opens, Stripe debits the disputed amount plus a dispute fee from your Stripe balance. For businesses outside Mexico, the fee for receiving a dispute is non-refundable. If you counter the dispute, a separate dispute countered fee applies, and Stripe returns that one if you win. Stripe also notes that the disputed amount can differ from the original charge, for example because of currency conversion, a partial dispute, or a dispute on a partially refunded payment.

So the two processors treat the fee differently. Under Shopify Payments in Australia, a won chargeback returns the fee. Under Stripe, for businesses outside Mexico, the fee for receiving the dispute stays gone even if you win. Your journal needs to reflect which processor the dispute came through.

The timeline crosses month-ends

Both processors describe a similar lifecycle. Shopify says you usually have 7 to 21 days to respond, and the bank's review "can take up to 75 days after you submit." Stripe says the full dispute lifecycle "can take 2-3 months to complete," and that card networks typically allow cardholders to dispute within 120 days of the original payment.

In practice, a sale in July can be disputed in September and decided in November. If you treat every chargeback as final the day it hits the payout, you will reverse revenue that later comes back. If you ignore it until it is decided, your payout will not reconcile in the month the money left.

Two ways to book it

Pick one treatment, write it down, and apply it every month. Both of these keep the payout balanced. What differs is when the loss shows in the profit and loss.

Option 1: Expense it when it opens, reverse it if you win. The disputed amount goes to a contra-revenue account such as "Chargebacks" and the fee to "Chargeback fees" as soon as the payout shows them. If you win, you book the return as a credit to the same accounts. It is simple and conservative.

Option 2: Hold it on the balance sheet until decided. The disputed amount goes to an asset account such as "Funds in dispute." When the bank decides, you clear that balance to contra-revenue if you lost, or against the returned cash if you won. This keeps the profit and loss cleaner while disputes are open, but someone has to review the balance every month or it quietly becomes a second suspense account.

The fee is simpler. Under Stripe the dispute received fee is non-refundable outside Mexico, so it is a cost the day it is charged. Under Shopify Payments in Australia it comes back if you win, so it follows the same treatment you chose for the disputed amount.

A worked payout

Say a Shopify Payments payout covers these lines:

  • Gross sales
    Amount
    $5,000.00
  • Processing fees
    Amount
    –$90.00
  • Chargeback on an earlier order
    Amount
    –$220.00
  • Chargeback fee
    Amount
    –$25.00
  • Deposit to bank
    Amount
    $4,665.00

Check it: 5,000.00 − 90.00 − 220.00 − 25.00 = 4,665.00. The parts sum to the deposit, so the journal can be drafted.

Under Option 1, the payout journal in Xero credits sales (through your Shopify clearing account, if you use one) for $5,000.00 and debits processing fees $90.00, chargebacks $220.00, chargeback fees $25.00 and the bank $4,665.00. Debits and credits both total $5,000.00.

Under Option 2, the $220.00 debit goes to "Funds in dispute" instead of "Chargebacks." Everything else is the same.

If you win the dispute two months later, Shopify returns the $220.00 and the $25.00 fee. Under Option 1 you credit chargebacks $220.00 and chargeback fees $25.00. Under Option 2 you credit "Funds in dispute" $220.00 and chargeback fees $25.00. Either way, the cash that comes back has somewhere correct to land.

If the same dispute had come through Stripe for an Australian business, the dispute received fee would not come back, so only the disputed amount reverses on a win.

GST: agree the treatment, then apply it consistently

Whether a chargeback changes your GST position, and in which period, depends on what actually happened. A customer who returned the goods is in a different position from a stolen card where the goods are gone. The GST coding on the fee also depends on what the processor's tax invoice shows. These are questions for your accountant or tax adviser, and the answer should be written into your close checklist so the same coding is used every time. Do not let a payout tool or a bank rule guess it.

What to check at month-end

  • Every chargeback in a payout is matched to its original order. The order number links the dispute to the sale, the customer and the GST originally charged.
  • Chargeback fees are separated from processing fees. They tell you different things, and under Shopify they can come back.
  • Out-of-schedule bank debits are identified. In Australia a Shopify chargeback your balance cannot cover is debited directly from the bank, so a bank line with no payout behind it may be a dispute.
  • Open disputes are listed with their status. Under Option 2, the list should equal the "Funds in dispute" balance to the cent. Under Option 1, the list tells you how much revenue might come back.
  • Won disputes are booked to the same accounts the loss went to. Otherwise chargebacks look worse than they were, and some other account looks better.

Bringing it back to your close

Chargebacks are awkward to reconcile because the money moves before the decision, and the decision often lands in a different month. Decide on a treatment, match each dispute to its order, and keep a list of open disputes that ties to the ledger. Then a chargeback is just another line in a payout that adds up.

This is the kind of payout decomposition we built Vert to do: each payout split into sales, fees, refunds, chargebacks, reserves and GST, proven to sum to the deposit before a journal is drafted for your approval. If you want to see that on your own payouts, join the pilot.

All posts

Agents that radically accelerate your close

Vert reconciles accounts, drafts the journals and explains every variance — with your approval and a complete audit trail.