DTC & Ecommerce 14 min read

How to Connect Shopify to Xero: Integration Methods, Setup Guide & Tool Comparison

Step-by-step guide to connecting Shopify to Xero. Compare A2X, Xero's native connector, Synder, and Amaka — including what data syncs, common reconciliation issues, and pricing.

Siddharth Gangal

Getting Shopify and Xero to talk to each other sounds straightforward — install a connector, flip a switch, watch the data flow. In practice, the method you choose determines whether your books reconcile cleanly or become a monthly archaeology project.

This guide covers every viable integration method, walks through setup for the top options, identifies what data actually syncs (and what doesn't), surfaces the reconciliation problems that catch operators off guard, and provides a side-by-side tool comparison so you can make the right call for your store's volume and accounting approach.

Why the Connection Method Matters

Shopify doesn't deposit a clean revenue figure into your bank account. It batches together sales, refunds, disputed charges, and its own fees — then releases a net payout, typically two to eight days after the underlying transactions. That timing mismatch is the root cause of most Shopify-Xero reconciliation headaches.

A naive integration that pushes individual orders into Xero the moment they're placed creates a journal that never reconciles with the bank feed. You'll have October revenue in your books, a November bank deposit, and a gap in between that your bookkeeper spends hours explaining each month.

The right architecture posts accounting entries at the payout level, not the order level — summarising all the transactions in a Shopify payout period into a single journal that matches the deposit to the cent.

What Data Needs to Sync

A complete Shopify-Xero integration should capture the following data categories:

  • Gross sales — product revenue before discounts
  • Discounts — coupon and automatic discount amounts
  • Shipping charged — what you billed the customer
  • Refunds and returns — full and partial refunds, return credits
  • Shopify Payments fees — per-transaction processing fees deducted before payout
  • Other fees — subscription fees, app charges billed through Shopify
  • Sales tax / VAT / GST — collected amounts, broken out by jurisdiction
  • Gift card liability — sold but unredeemed gift cards (a liability, not revenue)
  • COGS — cost of goods sold if inventory costs are maintained in Shopify
  • Third-party gateway payouts — PayPal, Afterpay, Klarna, Stripe if used alongside Shopify Payments

Most connectors handle the first seven reasonably well. COGS tracking and third-party gateway separation are where tools diverge significantly.

The Four Main Integration Methods

Method 1: Xero's Native Shopify Connector

Xero built a direct integration with Shopify that lives in the Xero App Store. It is the lowest-friction starting point and costs nothing beyond your Xero subscription.

What it syncs: Sales summaries, basic refunds, and payment fees. Xero's connector maps transactions to your chart of accounts and reconciles against Shopify payouts.

Setup steps:

  1. In Xero, go to App Store and search for "Shopify."
  2. Click Connect on the official Shopify integration and authorise with your Shopify credentials.
  3. Select the Xero bank account that receives Shopify payouts.
  4. Map your sales accounts, shipping account, fees account, and refunds account in the account mapping screen.
  5. Set tax defaults — choose whether tax is inclusive or exclusive, and map Shopify tax rates to Xero tax codes.
  6. Set the sync start date. Xero will pull historical data from that date forward.
  7. Save and run a test sync. Review the resulting invoice or journal entry against a known payout in your bank feed.

Limitations to know before you rely on it:

  • No line-item COGS posting. Gross margin tracking requires a separate workflow.
  • Syncs on a fixed schedule — no real-time or on-demand refresh.
  • Multi-currency orders and split payments (e.g., partial gift card + card) frequently fail to categorise correctly.
  • Regional tax group support (by rate) is largely limited to Australia, the UK, and New Zealand.
  • No historical data import beyond the sync start date without manual intervention.
  • Fees are sometimes missing from summaries, meaning the journal doesn't match the deposit amount.

Best for: Early-stage stores under 200 orders per month that don't need COGS tracking and operate in a single currency within a supported tax region.

Method 2: A2X

A2X is the dominant purpose-built tool for ecommerce accounting. It won Xero's Practice App of the Year in 2024 and is the default choice recommended by most ecommerce-specialist accountants.

A2X's core mechanism: it fetches each Shopify payout from the Shopify API, breaks it down into component transaction types (sales, refunds, fees, adjustments), summarises them into a single Xero invoice per payout period, and posts it with the net amount matching the bank deposit exactly.

What it syncs: Sales, discounts, refunds, Shopify Payments fees, shipping, gift cards, taxes (with country/rate mapping), and COGS via monthly journal entries if product costs are maintained in Shopify.

Setup steps:

  1. Create an A2X account at a2xaccounting.com and select Shopify + Xero as your connection.
  2. Connect your Shopify store by authorising the A2X app from your Shopify admin.
  3. Connect Xero by authorising via OAuth. A2X will read your Xero chart of accounts.
  4. In A2X's account mapping screen, assign each transaction type (Sales, Refunds, Fees, Shipping, Taxes, Gift Cards) to the relevant Xero account code.
  5. Set up tax mapping — assign Shopify tax rates to Xero tax codes, including region-specific rules for US sales tax, UK VAT, or Australian GST.
  6. Optionally enable COGS tracking by confirming that product costs (cost price) are set in Shopify. A2X will calculate and post COGS in monthly journals.
  7. Choose your settlement currency and set up multi-currency rules if applicable.
  8. Send your first settlement to Xero and match it to the bank feed deposit in Xero's reconciliation screen.

Pricing: Starts at $29/month for up to 200 orders on a single channel. Multi-channel plans run $89/month (1,000 orders/month) to $229/month (10,000 orders/month). Free onboarding is included on all plans.

Best for: Stores on accrual accounting, any store where clean reconciliation is non-negotiable, bookkeepers managing multiple ecommerce clients, and any store needing COGS tracking.

Method 3: Synder

Synder takes a different architectural approach: it syncs individual transactions rather than payout-level summaries. Every order, refund, and fee enters Xero as its own line, which gives you granular customer-level data but creates considerably more volume in your accounting software.

What it syncs: Individual orders, refunds, fees, payment gateway transactions, inventory movements. Synder connects to 30+ platforms, making it the better choice for operators running Shopify alongside Amazon, eBay, Etsy, TikTok Shop, or multiple payment gateways like Stripe and PayPal simultaneously.

Setup steps:

  1. Sign up at synder.com and navigate to Connect Platform.
  2. Add Shopify as a sales channel — authorise the Synder app from your Shopify admin.
  3. Add Xero as your accounting software via OAuth.
  4. Map transaction categories (products, shipping, discounts, fees, taxes) to Xero accounts.
  5. Configure sync mode: per transaction (every order as a separate Xero invoice) or daily summary (one summarised invoice per day, closer to A2X's approach).
  6. Set historical sync date and run a trial sync on a limited date range to validate mappings.
  7. Enable smart reconciliation rules so Synder can auto-match deposits in Xero's bank feed.

Pricing: Starts near $61/month for Shopify + Xero. Pricing scales by transaction volume, making it 1.5–2x more expensive than A2X at equivalent order counts. Multi-channel plans offer more value when you're consolidating five or more sales channels.

Best for: Cash-basis books where per-order detail is important, B2B Shopify stores with accounts-receivable aging needs, and multi-channel operators who want one tool across all platforms.

Method 4: Amaka

Amaka is the top-rated Shopify-Xero integration on the Xero App Store by review volume. It offers both per-order and daily summary sync modes, a clean interface, and — most relevantly — a free plan for stores under 60 orders per month.

What it syncs: Sales, payments, fees, refunds, shipping, gift cards, and COGS. Supports Shopify Payments, PayPal, Afterpay, and other gateways as separate bank accounts in Xero.

Setup steps:

  1. Install the Amaka app from the Shopify App Store or visit amaka.com.
  2. Connect your Shopify store and authorise Amaka's read access.
  3. Connect Xero via OAuth and select the organisation to sync to.
  4. Choose sync type: one invoice per order or one daily summary invoice.
  5. Map your accounts — Amaka auto-suggests account codes based on your Xero chart of accounts.
  6. Set gateway rules if you use multiple payment processors.
  7. Run a test sync for a prior month and verify the Xero invoices match your Shopify payout report.

Pricing: Free up to 60 orders/month. Paid plans available month-to-month or annually, with a 7-day free trial. Pricing is competitive with A2X at similar order volumes.

Best for: Early-stage DTC brands watching tool costs, bookkeepers wanting strong Xero App Store support, and stores needing gateway-level separation between Shopify Payments and PayPal.

Integration Tool Comparison Table

Tool Starting Price Sync Method COGS Tracking Multi-Currency Multi-Channel Best For
Xero Native Free (with Xero) Payout summary No Limited No Small stores, simple books
A2X $29/mo Payout summary Yes (monthly journal) Yes Yes (Amazon, eBay, Etsy) Accrual DTC, bookkeepers
Synder ~$61/mo Per-transaction or daily summary Yes Yes Yes (30+ platforms) Cash-basis, multi-channel heavy
Amaka Free (≤60 orders/mo) Per-order or daily summary Yes Yes Limited Budget-conscious, high Xero support
Zapier ~$20/mo (Zaps) Per-order (custom) No (custom build) Manual mapping Custom Custom workflows, low volume

Common Reconciliation Issues (and How to Avoid Them)

Payout Timing Mismatches

Shopify holds funds for two to eight business days before depositing. If your integration posts revenue on the order date rather than the payout date, your P&L and bank balance will be out of sync every day of the year. Fix: use a payout-level connector (A2X, Amaka in summary mode) and always match in Xero's bank reconciliation screen against the actual deposit date.

Post-Payout Refunds

A refund issued after a payout has already been settled appears as a deduction from a future payout — not a reversal of the original. Most connectors handle this correctly if they're processing payout data from Shopify's API, but manual workflows frequently miss it. The result: overstated revenue for the original period.

Missing or Misclassified Fees

Shopify's payout includes at least three fee types: payment processing fees, subscription-based transaction fees (for stores not using Shopify Payments), and occasional adjustments. Xero's native connector sometimes omits fees entirely, leaving the journal amount higher than the actual bank deposit and producing an unresolved difference in reconciliation.

Sales Tax and VAT Handling

Shopify collects tax on behalf of sellers in many jurisdictions and reports it at the line level. Your integration needs to map each tax rate to the correct Xero tax code — not dump everything into a single "Sales Tax" account. Stores selling into the EU, UK, or multiple US states where nexus has been established need rate-level mapping, or they'll under-report VAT/GST liabilities.

Gift Card Liability

Gift card sales are not revenue at the point of sale — they're a liability until the gift card is redeemed. Many operators run gift card proceeds straight to a revenue account and then double-count the redemption. A proper setup posts gift card sales to a liability account and recognises revenue only on redemption.

Multiple Payment Gateways

If you accept both Shopify Payments and PayPal (or Afterpay, Klarna, etc.), each gateway settles to a separate bank deposit on a separate schedule. Treating them as a single stream in Xero creates irreconcilable differences. Each gateway needs its own Xero bank account mapped in your integration settings.

COGS Posted at Purchase Instead of Sale

This is a pure accounting error but it's common when operators set up integrations without accounting guidance. COGS should be recognised when inventory is sold, not when it's purchased. Posting at purchase inflates COGS in restocking periods and understates it in high-sales periods, distorting gross margin in every monthly report.

Choosing the Right Method for Your Store

The decision tree is straightforward:

  • Under 60 orders/month, single currency, no COGS needs: Start with Xero's native connector or Amaka's free tier. Validate it reconciles for two months before trusting the books.
  • 60–2,000 orders/month, accrual accounting, need COGS: A2X is the practitioner default. The setup is more involved but the reconciliation reliability justifies the cost.
  • Multi-channel (Shopify + Amazon/Etsy/eBay), or cash-basis with per-customer reporting: Synder's breadth of platform connections outweighs its higher price point.
  • Custom workflows or very low volume: Zapier can connect Shopify webhooks to Xero's API for simple triggers (new order → draft invoice), but it is not a substitute for accounting-grade reconciliation. It lacks payout-level logic, COGS handling, and tax mapping.

Before You Go Live: Pre-Connection Checklist

  • Chart of accounts in Xero is set up with distinct accounts for: Sales, Refunds, Shipping Income, Shopify Fees, Sales Tax Collected, Gift Card Liability (if applicable), and COGS.
  • Tax codes in Xero match the rates Shopify collects (e.g., 20% UK VAT, 10% AU GST, state-level US rates where nexus applies).
  • Xero has a bank account set up for each payment gateway (one for Shopify Payments, one for PayPal, etc.).
  • Product costs are entered in Shopify admin if you want COGS tracking.
  • Your accountant or bookkeeper has reviewed the account mapping before the first live sync.
  • You've run a test sync on a prior month and reconciled the output against Shopify's Payout Summary report.

FAQ

Does Xero have a built-in Shopify integration?

Yes. Xero offers a native Shopify connector available through the Xero App Store at no additional cost. It syncs sales summaries, basic refunds, and fees. However, it has documented limitations around COGS, multi-currency, complex tax scenarios, and post-payout refunds — which is why most operators handling significant volume move to A2X or Amaka instead.

What data syncs from Shopify to Xero?

A properly configured integration syncs gross sales, discounts, shipping charged, refunds, Shopify Payments fees, sales tax or VAT collected (by rate and jurisdiction), gift card liability, and COGS (if product costs are maintained in Shopify). The exact data available depends on the tool. Xero's native connector does not sync COGS. A2X, Synder, and Amaka all support COGS posting.

How does Shopify payout reconciliation work in Xero?

Shopify batches transactions over a settlement period and deposits the net amount (sales minus fees minus refunds) into your bank account. Your integration should post a single journal entry to Xero for that exact net amount, covering each transaction type as a line item. When that invoice hits the Xero bank feed, you match it to the bank deposit. If the amounts match, you're reconciled. If they don't, a line item — usually a post-payout refund or a missing fee — is the culprit.

Is A2X worth it compared to the free Xero Shopify connector?

For most stores doing meaningful volume, yes. The free connector's missing-fee problem alone can create material reconciliation errors every month. A2X adds COGS tracking, reliable multi-currency handling, region-specific tax mapping, and clean payout-level summaries. At $29/month, the time saved on monthly reconciliation typically pays for it in the first billing cycle.

Can I sync COGS from Shopify to Xero?

Yes, but it requires two conditions: product cost prices must be entered in Shopify for each SKU, and you must use an integration that supports COGS posting (A2X, Synder, or Amaka). A2X posts COGS as monthly journal entries. Once set up, your Xero P&L will show gross margin by period rather than just top-line revenue.

What happens with Shopify refunds in Xero?

Refunds issued within the same payout period are netted out in that payout's journal entry. Refunds issued after a payout has already settled appear as deductions from a future payout. A payout-level connector handles this automatically. Per-order connectors sometimes fail to link the refund back to the original order correctly, producing revenue overstatement in the original period and an unexplained deduction in the later one.

Do I need a separate Xero bank account for PayPal and Shopify Payments?

Yes, if you use both. Shopify Payments and PayPal settle on different schedules and deposit into your bank account separately. Mixing them into a single Xero clearing account makes it impossible to reconcile either stream cleanly. Create a dedicated Xero bank account for each payment gateway and map each one separately in your integration settings.