Xero is the default small-business ledger in NZ for good reason — and Shopify is the default e-commerce spine. The gap between them is where GST splits, payout deposits, and refund timing quietly stop matching. The honest answer is: most integrations are “set up once and never checked”, which is fine until the month your accountant asks why the bank doesn’t match “total sales” and you discover fees were living in a different universe.
The options — direct, A2X, and duct tape
Shopify has a direct Xero pathway that can work for smaller, simpler stores — especially when Shopify Payments is clean and volumes are low. It’s not fake; it’s just easy to configure optimistically.
A2X (third-party) is the serious answer for many NZ merchants once order volume, refunds, fee lines, and multi-channel complexity show up. It costs money in USD — remember the NZD reality — but it buys journal shapes accountants actually want.
Zapier-ish chains and one-off importers usually age poorly — fine for experiments, brittle for compliance seasons.
I’ll name Bold, Stitch, and similar connectors only to warn: they can be useful in narrow cases — they’re also where I’ve seen “it worked in January” turn into “why is March wrong?” because nobody owned the mapping when Shopify changed a field. If you use them, assign an owner and a calendar reminder — integrations rot without owners.
| Direct Shopify → Xero | A2X | Zapier / manual | |
|---|---|---|---|
| Best for | Low volume, simple payment stack | Serious monthly order volume, messy fees | Prototypes — not long-term core |
| GST mapping | Can work — needs careful testing | Stronger guardrails when configured | Fragile — easy to drift |
| Ongoing cost | Lower subscription overhead | Paid — justify with time saved | Hidden time tax |
| Refund / fee reality | Trips people up as volume grows | Designed around payouts | Often wrong under stress |
What “good” looks like
Daily or frequent summary journals — not an infinite firehose of order line noise — with GST components mapped to the right codes, Shopify Payments fees separated, shipping income separated, and gift cards handled consistently. Reconciliation means the Xero bank feed agrees with what landed after fees and chargebacks.
Setup walkthrough — high level
- Connect Xero with a dedicated integration user — not a personal login you’ll lose when someone leaves.
- Map revenue, discounts, shipping, and refunds to real accounts your accountant recognises.
- Map payment fees to a fees expense — not “misc”.
- Align GST codes with your registration status — see GST on Shopify.
- Run parallel for a week — Shopify totals vs Xero journals vs bank — before you declare victory.
- Schedule a quarterly “integration health” check — gateways change behaviour.
Common pitfalls
Multi-currency exposes GST treatment mistakes — markets are a business strategy and a tax configuration. POS + online diverge if you only wired one channel. Afterpay / Shop Pay / wallets each leave fee footprints — your ledger should recognise them, not smear them into revenue.
Inventory in Shopify vs Xero is another fork — if you’re trying to run true COGS, you need a deliberate method, not hope.
When A2X is worth it
Past roughly 100+ orders a month, or the moment your accountant starts sighing on Zoom, A2X often pays for itself — not because Shopify is bad, but because reality is messy. Multi-channel stores and inventory-heavy businesses graduate faster.
Below ~50 orders a month, disciplined direct integration or even a careful manual monthly journal can be totally sane. Don’t buy enterprise plumbing for a hobby-scale ledger — but don’t run a growth store on spreadsheet vibes either.
A2X pricing moves with plan tiers and USD — think “tens to low hundreds USD monthly” as an orientation band for many NZ stores, not a quote. The question isn’t whether it’s cheap; it’s whether you’re paying more in human hours pretending the free path is “fine”. I’ve watched owners burn a full day a month on reconciliation that A2X would have eaten — that’s not virtue; it’s misallocated attention.
GST correctness is upstream — if tax settings are nonsense, Xero becomes a neat filing cabinet for nonsense. Fix tax first, then automate.
Shopify reporting vs bank reality
Shopify will show you pretty totals. Your bank feed shows what arrived after fees, currency conversion quirks, and partial captures. The gap is normal — your integration should explain the bridge, not hide it behind a single “sales” number that makes everyone feel good until it doesn’t.
Refunds are where pretty dashboards die. A spike in refunds around product quality or delivery issues shows up as accounting noise first — if your integration collapses under refunds, you’ll misread your own business health.
Plan economics interact with fees — if you’re weighing Advanced vs Plus, run the integration implications past your bookkeeper, not just your developer.
App minimisation still helps — audit the stack before you add another connector. And if fulfilment is gnarly, shipping articles (carriers, rate types) matter to totals, not just couriers.
If you’re on the edge of Plus conversations because “finance needs better data”, try fixing integration shape first — Plus rarely solves Xero heartbreak by itself.
Build and integration projects: fixes and custom work.
What a calm month-end looks like
Calm month-end means the bank reconciliation clicks without heroic spreadsheet surgery — payouts match journals, GST lines tie to returns expectations, and refunds don’t appear as unexplained negative miracles. If your process still involves copying numbers from three tabs into a fourth, you don’t have an integration — you have a ritual.
I push owners to name a single source of truth for revenue recognition — usually Xero once integration is trustworthy — and treat Shopify admin as operations, not accounting canon. That separation reduces fights between “sales” and “finance” when both are right in their own toolings.
Inventory and COGS — don’t fake precision
If you carry stock, decide whether Shopify is your operational inventory system or merely a sales channel — then make Xero reflect that decision. Half the inventory mess I see is philosophical: two systems both think they’re canonical. Pick one for stock truth; mirror carefully to the other.
COGS journals aren’t morally mandatory for every tiny store — but if you claim them, do them consistently. Your accountant will have an opinion; Shopify won’t resolve philosophy for you.
POS, B2B invoices, and other stray currents
If you take in-person payments or manual B2B orders, make sure those channels flow into the same integration story — otherwise Xero shows a pretty online picture while reality includes side doors. That mismatch shows up at year-end like a hangover.
GST on mixed channels is where tax setup returns — don’t assume POS inherits online rules without testing.
Marketplace selling (Trade Me) adds parallel revenue lines — your integration map needs to include them or you’ll think Shopify is “down” when the real story is channel mix.
Fees, reserves, and “why doesn’t this deposit match?”
Payment processors sometimes hold reserves — especially when you’re new or when chargeback risk spikes. Shopify admin can look cheerful while the bank feed whispers a different number. Your integration should surface fees and holds explicitly — otherwise your “profit” is a fairy tale until the cash lands.
Gift cards, store credit, and partial captures each add a line-item personality — if your integration ignores them, you’ll find mystery cents that accountants hate. Mystery cents become mystery hours — expensive hours.
Rollout discipline — parallel run
Never flip accounting integrations on the last day of the month without a parallel run. Give yourself at least a week where you still know how to reconcile the old way — confidence, not hope, should retire the spreadsheet.
If you’re migrating platforms (from Woo or elsewhere), treat accounting cutover as part of migration — not an afterthought on launch Friday.
GST remains the upstream gate — tax settings first, Xero second. Speed work is downstream — performance won’t fix journals.
Plan conversations (Plus vs Advanced) sometimes include finance stakeholders early — good — but don’t let the plan become a substitute for mapping reality in Xero.
People and permissions — protect the plumbing
Integration breaks often trace back to someone rotating API credentials on a Friday, or a well-meaning staff member reconnecting “to fix something” and choosing default mappings. Treat Xero and Shopify integration users like production infrastructure — named owners, documented steps, no mystery reconnects.
If you use agencies, require handover notes — what’s connected, what accounts map where, what to never toggle. I’ve inherited integrations where three different consultants each “fixed” GST mapping — the resulting hybrid was creative, wrong, and expensive to unwind.
Shipping and surcharges change totals — carriers and rural logic aren’t Xero problems first — but they become Xero problems if income doesn’t match what customers paid for freight.
Year-end sanity — what breaks under pressure
June stress for many NZ businesses exposes integration rot — everyone wants “the numbers” suddenly. If your integration never survived a refund-heavy month or a gateway change, year-end becomes archaeology. Build monthly reconciliation habits small — they compound.
Directors and owners: ask for a one-page reconciliation narrative each quarter — bank vs Xero vs Shopify — even if you don’t read every line. The act of producing it keeps teams honest.
If you’re cross-border, keep GST/markets documentation with your Xero files — auditors connect dots across years, not across your admin session.
Migration seasons (from Woo) often coincide with accounting system cleanup — use the pain once, not twice.
If you want help scoping integration work before you sign contracts with apps or agencies, bring your accountant’s questions — I like meeting them early, before assumptions harden into invoices.
Documentation wins: a short “finance handbook” for your own business — accounts mapping, exception handling, who approves reconnects — saves more money than most marketing experiments. Boring? Profoundly. Effective? Yes.
If your integration hasn’t been reviewed since you added a new payment method, schedule a review this week — that’s the change that silently breaks mappings.