featured article

Shopify to Xero: Reconciling Payouts Without Manual Journals

Colleen Quattlebaum

August 1, 2026

The short answer

You stop writing manual journals for Shopify payouts by moving the accounting upstream of the bank feed. Every order posts to a Shopify Payments Clearing account in Xero at the moment it is captured, with sales, shipping, discounts, and tax split correctly. When the payout arrives days later, the bank feed reconciles the deposit against the clearing balance and the fees, and clearing returns to zero. No journal, because the journal was never the right tool. It was a workaround for missing structure.

Why the manual journal habit forms

A seller connects the bank feed, sees a Shopify payout land, and has no way to code it. So they open the Shopify payouts report, read the summary, and write a journal: debit bank, debit fees, credit sales, credit tax payable. It works. It takes twenty minutes. Then it takes twenty minutes twice a week, forever, and it silently breaks every time Shopify introduces a new adjustment type or a chargeback reverses across a period boundary.

The journal also destroys detail. One journal per payout means you can never answer "what did we sell on 11 August" from Xero, because 11 August is buried inside a payout that also contains 9, 10, and 12 August.

What a Shopify payout actually contains

A payout is a net cash movement covering a payout period. Inside it:

  • Gross charges captured during the period, including product price, shipping charged to the customer, and sales tax collected
  • Discounts applied at checkout, which reduce the charge
  • Refunds issued during the period, which may relate to orders from any earlier period
  • Shopify Payments processing fees
  • Chargebacks, chargeback fees, and reserve adjustments

Only the first line contains revenue. The tax is a liability. The shipping charge is separate income. The refunds relate to older revenue. The fees are an operating cost. Four different account types compressed into one deposit.

A worked payout

Take a five day payout period on a Basic plan store.

  • Product charges: 96,500.00
  • Shipping charged to customers: 4,820.00
  • Discounts: (5,790.00)
  • Sales tax collected: 7,410.00
  • Gross processed: 102,940.00
  • Refunds issued: (4,215.00)
  • Shopify Payments fees: (3,537.86)
  • Chargebacks and chargeback fees: (465.00)
  • Net payout: 94,722.14

The fee figure comes from 1,842 transactions at the standard US online card rate. Shopify's own pricing page lists card rates from 2.9 percent plus 30 cents on Basic, 2.7 percent plus 30 cents on Grow, 2.5 percent plus 30 cents on Advanced, and 2.25 percent plus 30 cents on Plus, with premium cards charged at 3.5 percent plus 30 cents and in person transactions at 2.6 percent plus 10 cents. Applied here: 2.9 percent of 102,940.00 is 2,985.26, and 1,842 transactions at 30 cents is 552.60.

Notice the shape of the problem. Product revenue for the period is 96,500.00. The deposit is 94,722.14. The two numbers are close enough that a tired bookkeeper will call them the same thing, and they share almost no components.

The Xero structure

Xero has no built in undeposited funds account the way some ledgers do. You create the equivalent, and that is a feature rather than a gap, because it forces you to name the account after what it holds.

Step 1. Create Shopify Payments Clearing as a current asset in your chart of accounts. If you run more than one gateway, create one clearing account per gateway. Money that has been captured by a processor but has not reached your bank lives here.

Step 2. Post order level activity to clearing. Each captured order debits Shopify Payments Clearing and credits the appropriate revenue, shipping income, and sales tax payable accounts, with discounts posted as a contra revenue line. Refunds reverse the same way. This is the step that has to be automated, because doing it by hand at order level is not a job a person can hold. It is what the Shopify and Xero connection inside ConnectBooks is built to do.

Step 3. Post fees against clearing. Processing fees, chargeback fees, and adjustments debit their expense accounts and credit clearing.

Step 4. Reconcile the deposit. The bank feed brings in 94,722.14. Xero matches it against the clearing balance. Clearing returns to zero.

Step 5. Read the residual. A clearing balance that will not zero is information, not noise. It usually points at a payout in transit at period end, a reserve Shopify is holding, or a transaction type nobody mapped.

If you want a rule for step 4, a receive money rule scoped to your operating account, matching on the Shopify payer string, pointed at the clearing account, does the job. The mechanics of rule conditions and allocations are covered in the glossary of Xero bank feeds and bank rules.

More than one gateway

Stores that accept a wallet, a buy now pay later provider, and a card processor have three settlement calendars and three fee structures. Each gets its own clearing account. Do not pool them. Pooling turns a clearing account that should zero out into a rolling balance that never does, and you lose the diagnostic value of the whole structure.

Selling in more than one currency

Xero handles multiple currencies on the Established plan only, per Xero's US plan comparison. If you sell in CAD and GBP and bank in USD, and your Xero organization sits on Growing, you will not be able to hold the foreign balances correctly. Sort the plan question before you sort the mapping, because retrofitting currency onto a year of single currency transactions is genuinely painful.

Chargebacks

A chargeback withdraws money for an order that may be four months old. In the payout it appears as a negative adjustment plus a fee. In the books it should reduce revenue in the period the dispute resolves, not the period of the original sale, and the fee is an operating expense. If the dispute is later won, the funds return as another adjustment. Both movements pass through clearing.

What still needs a person

Two things.

Cost of goods sold does not come from Shopify. Shopify knows what you charged. It does not know what the unit cost you, what freight and duty allocated to it, or which warehouse shipped it. FIFO cost of goods sold at the SKU level, and the inventory asset balance that comes with it, has to be produced by the layer holding your purchase and receipt history.

Period end cutoff also needs judgment. Orders captured on 31 August that pay out on 3 September belong to August revenue and September cash. The clearing account makes that split visible and correct, which is most of the reason to build it.

The test

At the end of a clean month, three things should be true. Shopify Payments Clearing is at zero or holds only in transit payouts you can name. Product revenue in Xero ties to the Shopify sales report for the same dates. Sales tax payable holds only amounts you actually owe.

If those hold, you have replaced a recurring manual journal with a structure that maintains itself. See how the pieces connect on the Xero integration page, read the wider ecommerce accounting overview, or walk a live payout with someone on a demo.

Take Control of Your E-Commerce Business with ConnectBooks

Running an e-commerce business comes with plenty of challenges, but ConnectBooks is here to make your life easier. With real-time insights, seamless integrations, and detailed tracking of your profitability and inventory, you can stay ahead of the game. Whether you’re selling on Amazon, Shopify, Walmart, TikTok or eBay, ConnectBooks helps you manage your finances with 100% accuracy and confidence, so you can focus on growing your business.

Ready to level up? Start making smarter, data-driven decisions every step of the way. Try ConnectBooks Free Today or Schedule a Demo