Data & Analytics 12 min read

How to Connect Stripe to Xero: Methods, Tools & Reconciliation Guide

Connect Stripe to Xero using native feeds, Synder, A2X, Dext Commerce, or Zapier. Step-by-step setup, tool comparison table, pricing, and reconciliation best practices.

Siddharth Gangal

TL;DR

  • Five methods exist: Xero's native Stripe connection, Synder, A2X, Dext Commerce, and Zapier — each suited to a different volume and use case.
  • The native Xero-Stripe integration is free and takes 15 minutes to set up, but it syncs payout totals, not individual transactions — which causes reconciliation gaps at volume.
  • Synder is the strongest fit for most SaaS businesses: per-transaction sync, subscription event tracking, and automatic fee separation. Starts at $65/month.
  • A2X suits accrual-basis multi-channel sellers who need clean payout-level journal entries. Starts at $29/month but primarily targets Amazon and Shopify use cases.
  • Dext Commerce excels at line-item detail — every fee, tax, and discount as its own entry — useful for ecommerce businesses selling via Stripe and multiple other platforms.
  • Zapier works for simple, low-volume triggers (create invoice on new charge) but is not a substitute for accounting-grade reconciliation.

Most businesses using Stripe and Xero together discover the same problem about three months in. Stripe pays out a net amount — charges minus fees minus refunds — as a single bank deposit. Xero sees that deposit. But matching that deposit back to individual invoices, customer accounts, and cost-of-revenue line items is where things fall apart. The native Stripe bank feed in Xero is good enough for reconciling the balance. It is not designed for reconciling the detail.

This guide covers every viable method for connecting Stripe to Xero in 2026, with step-by-step setup instructions for the two most-used approaches, a comparison table across all five options, pricing as of publication, and answers to the reconciliation questions that come up repeatedly in practice.

Why Stripe-Xero reconciliation is harder than it looks

The fundamental problem is structural. Stripe batches your charges and pays out the net sum — typically on a daily rolling basis — after deducting processing fees (usually 2.9% + $0.30 per transaction in the US), any refunds issued, and any chargebacks lost. That single payout amount is what arrives in your bank account and, through Xero's bank feed, in your Xero ledger.

If you process 80 Stripe transactions in a day at different amounts, with two refunds, one chargeback, and varying fee rates for different card types, your Xero bank feed shows one line: the net deposit. Reconciling that line correctly requires knowing the gross revenue from those 80 transactions, the processing fees as a cost of revenue line, the refunds as contra-revenue, and the chargeback as a separate entry. None of that detail flows through the native bank feed by default.

The method you choose to connect Stripe to Xero determines how much of that detail you get — and how much manual work you have to do each month to close your books accurately.

Method 1: Xero's native Stripe connection

Xero has a first-party integration with Stripe that serves two purposes: it adds a Pay Now button to Xero invoices so customers can pay by card, and it creates a bank feed from your Stripe payouts directly into a Xero bank account. Setup takes roughly 15 minutes and costs nothing beyond your existing Xero subscription.

Setup steps

  1. Log into Xero and navigate to Settings > Payment Services.
  2. Click Add Payment Service and select Stripe from the list.
  3. Click Connect to Stripe and authorize the connection using your Stripe account credentials.
  4. Map the Stripe bank feed to the Xero bank account that receives your Stripe payouts. If you do not yet have a dedicated Stripe clearing account in Xero, create one before completing this step — mixing Stripe payouts with your operating account creates reconciliation problems later.
  5. In Invoice Settings, enable the Pay Now button for your invoice templates. This allows customers paying Xero invoices to use Stripe as the payment processor.
  6. Create a test invoice, process a small payment, and confirm the transaction appears correctly in your Xero bank feed within 24 hours.

What syncs and what does not

The native connection syncs Stripe payouts as bank transactions. Each payout arrives as a single entry in your Xero bank feed showing the net amount. Individual charges, fees, and refunds do not appear as separate line items. When Xero offers to reconcile a bank transaction against an invoice, it will attempt to match the net payout to outstanding invoice balances — which works when a single invoice equals a single payout, but fails when you have dozens of invoices rolled into one payout.

The native integration is appropriate for businesses with low Stripe transaction volumes — fewer than 30 to 50 payments per month — and for businesses where each payment corresponds directly to a single Xero invoice. It is not appropriate for subscription businesses with recurring charges, businesses with regular refunds, or any business that needs processing fees separated into a cost-of-revenue account.

Method 2: Synder

Synder is a dedicated accounting automation platform built specifically for syncing payment processors into accounting software. It has native integrations with both Stripe and Xero and is the most commonly recommended tool for businesses that need per-transaction detail in Xero.

Setup steps

  1. Create a Synder account at synder.com. A 15-day free trial is available with no credit card required.
  2. In the Synder dashboard, go to Integrations and connect your Stripe account. Authorize Synder to read Stripe transaction data.
  3. Connect your Xero organization. Synder will request permission to read and write accounting data in Xero.
  4. Configure your account mapping: specify which Xero account each type of Stripe data maps to. At minimum, map: Sales/Revenue (for charges), Stripe Fees (for processing costs — this should be a dedicated expense account), and Refunds (as a contra-revenue or returns account). If you process multiple currencies, configure currency handling at this step.
  5. Choose your sync mode. Per Transaction Sync creates an individual Xero entry for every Stripe charge, fee, and refund. Summary Sync consolidates transactions by day or payout period into a single journal entry — faster for reconciliation, less useful for customer-level detail.
  6. If you process subscription revenue, configure subscription event tracking. Synder captures start, renewal, upgrade, downgrade, and cancellation events from Stripe Billing and maps them to the appropriate Xero accounts.
  7. Run a historical sync for the period you want covered. Synder can backfill transaction history from before the connection was established.
  8. Review the first batch of synced transactions in Xero to confirm account mapping is correct before enabling continuous sync.

What syncs

In per-transaction mode, Synder flows every Stripe payment, processing fee, refund, and chargeback into Xero as individual records. Invoices or sales receipts are created for payments. Credit notes are created for refunds. Processing fees are recorded as expenses against your configured cost-of-revenue account. Subscription events — renewals, upgrades, cancellations — are tracked and mapped to the correct accounts.

Synder also handles Stripe payouts: when Stripe deposits the net payout to your bank account, Synder creates a matching transfer entry in Xero to clear the individual transactions against the bank deposit, enabling clean bank reconciliation.

Pricing: Basic at $65/month (up to 500 transactions, 2 integrations); Essential at $115/month (up to 3,000 transactions, unlimited integrations); Pro at $275/month (up to 50,000 transactions). A 15-day free trial is available.

Method 3: A2X

A2X was built primarily for Amazon and Shopify sellers reconciling marketplace payouts. It has since expanded to support Stripe and other payment processors. Its architecture posts settlement summaries — periodic journal entries that correspond to Stripe payouts — rather than individual transactions, which produces clean payout-level reconciliation suitable for accrual-basis books.

For Stripe specifically, A2X posts transactions into clearing accounts in Xero. These balances clear when deposits appear in the bank feed. You can configure entries as daily, weekly, or monthly summaries. A2X automatically separates gross sales, Stripe fees, refunds, and taxes in each journal entry, making the payout-to-Xero reconciliation match cleanly without manual intervention.

A2X is a stronger fit for multi-channel ecommerce businesses that use Stripe alongside Amazon and Shopify, and want a unified settlement-reconciliation approach across all channels. For pure-play SaaS businesses using Stripe as their primary revenue channel, Synder's per-transaction granularity is generally more useful.

Pricing: Plans start at $29/month for a single-channel integration at up to a few hundred orders. Multi-channel plans range from $89/month (up to 1,000 orders across 2 channels) to $229/month (up to 10,000 orders across 5 channels). Stripe is treated as a payment processor integration rather than a primary channel, and pricing is typically bundled with a primary platform (Shopify, Amazon, etc.).

Method 4: Dext Commerce

Dext Commerce (formerly Greenback) focuses on line-item granularity. Where Synder creates transaction-level records and A2X creates settlement-level summaries, Dext Commerce produces entries that include every individual line within a transaction: the charge amount, Stripe processing fee, any applicable tax, shipping charges, discounts, and refunds — each as a separate accounting line.

Dext Commerce connects to Stripe, Shopify, Amazon, eBay, Etsy, PayPal, Square, and over 30 other sources through a single subscription. This breadth makes it practical for ecommerce businesses with complex multi-channel revenue and detailed cost-of-goods requirements. You can publish transactions to Xero individually or consolidate by accounting period or payout settlement. Manual publish and scheduled auto-export are both supported.

For SaaS businesses with straightforward subscription revenue and limited SKU complexity, Dext Commerce's level of detail may be more granularity than necessary. Its value is clearest when transaction-level line items vary significantly — variable shipping, complex tax rules, multi-product orders — rather than uniform subscription charges.

Pricing: Dext Commerce pricing is bundled within the broader Dext platform, starting around $24/month per user. A single subscription covers all supported integrations.

Method 5: Zapier

Zapier can connect Stripe and Xero through automated workflows — "Zaps" — that trigger on Stripe events and create corresponding actions in Xero. Common workflows include creating a Xero invoice when a new Stripe charge occurs, updating a Xero invoice status when a Stripe payment is confirmed, and creating or updating a Xero contact when a Stripe customer is added.

Zapier's integration is event-driven and forward-looking. It does not handle historical reconciliation, payout-to-invoice matching, or fee separation. Xero's API also imposes rate limits — 60 API calls per minute, 5,000 per day — that can cause Zaps to fail during high-volume periods. The New Payment trigger only finds payments created within the last seven days, creating gaps for any reconciliation workflow that runs less frequently.

The appropriate use case for Zapier is lightweight operational automation: a service business that processes one or two Stripe payments per day and wants Xero invoices created automatically, without needing accounting-grade reconciliation. It is not a substitute for dedicated integration tools at any meaningful transaction volume.

Pricing: Zapier's free plan covers basic two-step Zaps. Paid plans start at $19.99/month (Starter, up to 750 tasks/month). Most Stripe-Xero workflows that are more than trivial require a paid plan for multi-step Zaps.

Comparison table: Stripe-Xero integration methods

Tool Transaction detail Fee separation Subscriptions Historical sync Starting price Best for
Xero native Payout-level only No No No Free Low-volume, simple invoicing
Synder Per-transaction or summary Yes Yes (events) Yes $65/mo SaaS, subscription, mid-volume
A2X Settlement summaries Yes Limited Yes $29/mo Multi-channel ecommerce, accrual books
Dext Commerce Line-item detail Yes Partial Yes ~$24/mo Multi-channel ecommerce, complex SKUs
Zapier Event-triggered only No No No Free / $19.99/mo Simple automation, very low volume

Reconciliation: how to close your Stripe-Xero books cleanly

Regardless of which integration method you use, the reconciliation workflow follows the same logic. Understanding the mechanics helps you configure your integration correctly and catch errors before they compound over multiple periods.

The clearing account approach

The cleanest way to reconcile Stripe in Xero is to use a dedicated Stripe clearing account — a bank account in Xero that exists solely to record Stripe transactions before they settle to your actual bank. The workflow looks like this:

  1. Individual Stripe charges are recorded in Xero against the Stripe clearing account (gross amount).
  2. Processing fees are recorded as a debit to a fee expense account and a credit to the clearing account, reducing the balance.
  3. Refunds are recorded as a credit to the clearing account (reducing its balance).
  4. When Stripe pays out the net amount, you record a transfer from the Stripe clearing account to your actual bank account. The clearing account balance should reach zero or near-zero after each payout cycle.

This approach works because the clearing account acts as a running tally of what Stripe owes you, net of fees and refunds. When the payout arrives, the transfer zeroes out the clearing account and the bank reconciliation is trivial. Dedicated tools like Synder and A2X automate this entire workflow. With the native integration, you have to do it manually.

Handling subscription revenue

Subscription revenue introduces timing differences between cash receipt and revenue recognition, particularly on accrual-basis books. When a customer pays $1,200 for an annual subscription in January, the cash arrives in January but the revenue is earned at $100 per month across 12 months.

The correct treatment in Xero:

  • Record the January payment to a Deferred Revenue liability account (not a revenue account).
  • Each month, journal $100 from Deferred Revenue to your Revenue account.
  • After 12 months, the Deferred Revenue balance for that customer is zero.

Synder can automate this mapping by tracking subscription events from Stripe Billing and mapping payments to deferred revenue accounts. For businesses requiring full ASC 606 or IFRS 15 compliance — particularly those preparing for an audit or fundraise — a dedicated revenue recognition layer built on top of Xero is typically required. The Xero-native approach handles the cash recording and basic deferral, but does not automate the periodic release of deferred revenue without additional tooling.

Multi-currency Stripe transactions

If you charge customers in multiple currencies, Stripe converts those charges to your payout currency and the exchange rate difference appears in your Stripe dashboard as a gain or loss. In Xero, multi-currency is available on the Established plan ($90/month as of 2026). Your integration tool must be configured to record each transaction in its original currency and allow Xero to apply its own exchange rate for reporting.

Synder handles multi-currency reconciliation by recording transactions at the original charge currency and amount. Xero's multi-currency module then handles the conversion and tracks realized exchange gains and losses. A2X takes a similar approach for its settlement summaries. Both require that Xero's multi-currency feature is active before enabling multi-currency sync.

Which method should you use?

The right choice depends on three variables: transaction volume, accounting basis, and whether you use Stripe as your only payment channel or alongside others.

Under 30 to 50 Stripe transactions per month, cash-basis books: Start with the native Xero-Stripe integration. Reconcile manually using the clearing account method. The time cost is manageable and the tool cost is zero.

50 to several thousand Stripe transactions per month, SaaS or subscription model: Synder is the default recommendation. The per-transaction sync handles subscription events, fee separation, and historical backfill. The Basic plan at $65/month pays for itself quickly in bookkeeper time saved.

Multi-channel ecommerce (Shopify + Amazon + Stripe), accrual-basis books: A2X provides the most consistent reconciliation across channels with clean settlement summaries. If you need line-item detail for complex SKU costing, Dext Commerce is worth evaluating alongside it.

Low-volume service business with simple workflows: Zapier can handle basic invoice creation triggers at minimal cost, as long as you are not relying on it for accounting-grade reconciliation.

Any business preparing for audit or investor due diligence: Use Synder or A2X. Auditors and investors will ask for transaction-level support for revenue figures. The native integration and Zapier cannot provide that support efficiently.

Frequently asked questions

Does Xero have a native Stripe integration?

Yes. Xero has a native Stripe connection available under Settings > Payment Services. It creates a bank feed from your Stripe payouts into a Xero bank account and adds a Pay Now button to Xero invoices so customers can pay directly. The native connection is free, fast to set up, and works well for low transaction volumes. Its main limitation is that it syncs payout-level data — not individual charge or fee detail — which makes per-transaction reconciliation difficult for businesses processing more than a few dozen Stripe payments per month.

What data syncs from Stripe to Xero?

The data that syncs depends on the tool you use. The native Xero-Stripe connection syncs payout-level bank transactions: the net payout amount arrives as a bank feed entry in Xero. Dedicated tools like Synder and A2X sync individual charges, Stripe processing fees, refunds, chargebacks, subscription events, and multi-currency amounts. Dext Commerce adds itemized line-level detail including taxes, shipping, and discounts. Zapier can sync basic events — new charges triggering invoice creation — but does not handle payout reconciliation or fee separation natively.

What is the difference between Synder and A2X for Stripe-Xero?

The core difference is granularity and primary use case. Synder syncs every individual Stripe transaction into Xero in real time — each payment, fee, and refund becomes its own record, making it well-suited for businesses that need customer-level detail, cash-basis books, or per-transaction reporting. A2X summarizes Stripe settlements into periodic journal entries that map to payouts, which produces cleaner accrual-basis reconciliation. A2X was originally built for Amazon and Shopify sellers; its Stripe coverage is secondary to those use cases. For SaaS businesses primarily using Stripe, Synder is generally the stronger fit. For multi-channel ecommerce businesses that also use Stripe, A2X is worth evaluating.

Why doesn't Stripe's native Xero integration reconcile properly?

Stripe's native Xero integration syncs payout-level data, not individual transaction data. Stripe batches multiple charges into a single payout (typically daily), then deducts all processing fees and sends the net amount. The native integration puts that net payout into your Xero bank feed as one line. When you try to reconcile that line against individual invoices, you are reconciling a sum of 10, 50, or 100 charges against line items in your Xero accounts receivable — the math rarely matches cleanly. Dedicated tools like Synder and A2X solve this by breaking out each charge, fee, and refund so that individual transactions can be matched to individual invoices or journal lines.

Can Zapier replace a dedicated Stripe-Xero integration tool?

For simple workflows, yes — Zapier can create a Xero invoice when a Stripe charge occurs, or update an invoice status when payment is confirmed. For accounting-grade reconciliation, no. Zapier does not handle payout-to-invoice matching, fee separation, refund processing, chargeback recording, or multi-currency conversion. Xero also enforces strict API rate limits (60 calls per minute, 5,000 per day) that can cause Zaps to fail during high-volume periods. Zapier is a reasonable choice for lightweight triggers — a low-volume service business creating one invoice per client. It is not appropriate as the accounting integration layer for a business processing hundreds of Stripe transactions per month.

How should SaaS businesses handle Stripe subscription revenue in Xero?

The approach depends on your accounting basis. For cash-basis books, Synder's per-transaction sync records each Stripe subscription payment as it hits your account, net of fees — straightforward to implement and maintain. For accrual-basis books, the correct treatment requires recognizing revenue across the subscription period: a January annual subscription payment is not January revenue, it is revenue earned over 12 months. Xero supports a basic deferred revenue workflow using liability accounts, and Synder can map subscription events to the appropriate accounts. More sophisticated ASC 606 or IFRS 15 recognition requires a dedicated revenue recognition tool layered on top of the Xero data.

Is there a free way to connect Stripe to Xero?

Yes. The native Xero-Stripe integration costs nothing beyond your existing Xero subscription. It syncs Stripe payout amounts as bank feed transactions, enables Pay Now buttons on Xero invoices, and takes about 15 minutes to configure. For businesses with low transaction volumes — fewer than 30 to 50 Stripe transactions per month — the native integration combined with manual reconciliation is often sufficient. For higher volumes or accrual-basis books, the time cost of manual reconciliation typically exceeds the subscription cost of a dedicated tool within the first month.