Skip to main content
Talk to an expert
Xero ERP system

Xero integration for ecommerce

Governance-driven order and invoice flows that survive launch iWeb connects Xero to your commerce platforms so orders post with correct tax treatment, stock is never oversold, and refunds reconcile automatically. Works with Adobe Commerce, Magento Open Source, Shopify Plus, BigCommerce and other storefronts.

Also searched as: connector, plugin, extension, API integration, system integration.

XeroiWeb integration layeryour storefront
Works with - Adobe Commerce · Magento Open Source · Shopify Plus · BigCommerce · Other storefronts
01 · What you get

What a Xero integration gives you.

Finance reconciliation is daily, not monthly

Orders, invoices, payments and refunds are logged in Xero in real time with audit trails intact. Finance teams can reconcile daily bank deposits against web transactions without manual spreadsheet work.

Stock is a single source of truth

Xero stock levels feed all storefronts and channels at once. Oversell is prevented because orders are checked against Xero availability before checkout completes.

Customer accounts stay clean

Duplicate customers are prevented. Credit limit changes, holds and account closures in Xero are enforced immediately at the checkout gate.

Tax and nominal coding are governance, not guesswork

Every ecommerce order is posted to Xero with the correct tax treatment, nominal codes and cost centre. VAT recovery is automated and auditable.

Refunds and credits reconcile themselves

When a customer receives a refund, Xero records the credit note and reverses the payment. Finance teams close the loop without manual intervention.

02 · When it's worth it

Where a Xero integration earns its place.

If two or more of these are true, the integration usually pays for itself quickly.

Capture web orders into Xero with correct nominal codes and tax treatment automatically
Publish base pricing and customer-specific pricing from Xero to commerce platforms
Sync stock availability from Xero to prevent oversell across channels
Flow invoices, credit notes and despatch confirmations back to the storefront
Reconcile payments against Xero transactions and flag exceptions for finance teams
03 · The limits

Where off-the-shelf connectors fall short.

Vendor connectors are fine for simple cases. Here's where the real ones need more.

No built-in order capture transform

Xero's standard API does not map ecommerce order fields (channel, SKU, line-item discount) directly to invoice line items and nominal codes. Custom logic is needed to honour your chart of accounts and tax rules.

Customer sync requires deduplication rules

When orders come from multiple storefronts, Xero cannot distinguish between a repeat customer and a duplicate contact. A matching algorithm is needed to link orders to existing customers and prevent account fragmentation.

Stock levels are not multi-location

Xero tracks aggregate inventory by product but does not model warehouse or fulfillment centre stock splits. If you ship from multiple locations, you need an external WMS or inventory system as the source of truth.

No channel-specific pricing

Xero publishes one price per product. If you need different prices on different storefronts, channels or customer segments, you must manage those rules outside Xero or in a pricing engine.

Refunds require manual settlement

Xero does not automatically reverse payments or bank deposits when a refund is issued. Finance teams must manually record the credit note and reconcile bank deposits against returns.

04 · The real work

Finance teams often inherit reconciliation tails because orders flow to Xero with missing or incorrect tax codes, and refunds do not automatically reverse the original invoices.

05 · Where it sits

Where this integration sits in your estate.

Xero holds the commercial record. The iWeb integration layer manages the rules, mappings, monitoring and exceptions. The commerce platform presents the customer-facing experience. The estate map helps agree ownership before anything is built.

Platform-agnostic by design. Xero sits at the centre of your estate, not at the edge of one platform.

System of record
Source / owner
Xero
System of record for transactional skeleton: stock, pricing, orders, invoices and customer credit
  • Stock availability and location-level inventory
  • Base and list pricing
  • Customer accounts, terms and credit limits
  • Invoice and credit note issuance
  • Payment recording and reconciliation
  • Nominal coding and tax treatment
iWeb integration layer
Customer-facing commerce
Commerce platform
Adobe CommerceMagento Open SourceShopify PlusBigCommerceOther storefronts
  • Storefront experience and checkout flow
  • Order capture and initial validation
  • Customer profile and shipping address
  • Refund initiation and reversal
  • Cart and promotion logic
Connected neighbours
Integration layer
WMS / 3PL
Receives picking instructions from Xero orders; sends despatch, tracking and stock adjustment events back to Xero and commerce
Integration layer
PIM
Holds product content, attributes and images; feeds storefronts independent of Xero pricing and stock
Integration layer
Payment gateway
Authorises and captures payments at checkout; sends transaction details to Xero for invoice reconciliation
Integration layer
Pricing engine
Manages channel-specific and customer-specific pricing; publishes to storefronts; Xero holds base cost
Integration layer
CRM or marketing platform
Syncs customer and transaction data from Xero for segmentation and campaign targeting
Two-way sync where relevant
06 · Surrounding systems

Systems this integration usually sits next to.

Examples, not a closed list. iWeb is platform-agnostic on both sides: we wire this integration into whatever ecommerce platform and surrounding systems your estate already runs.

Ecommerce platforms (examples)
  • Adobe Commerce
  • Magento Open Source
  • Shopify Plus
  • BigCommerce
  • Other storefronts
Surrounding systems (examples)
  • WMS or 3PL for stock movements and dispatch
  • PIM for product content and attributes
  • Pricing engine for channel-specific price rules
  • Payment gateway for transaction capture and reconciliation
  • CRM or marketing platform for customer data and segments
  • Accounting or tax engine for compliance and reporting
  • Data warehouse for analytics and forecasting
Not sure?

Not sure if this works with your stack?

Tell us what you’re using and what needs to connect. We’ll give you a straight view on what’s possible, what might be awkward, and the safest way to approach it.

07 · Data flows

The data flows we wire.

Each flow has a direction and an owner. We agree both before a line of code is written.

Into ERP
From ERP
BOTH WAYS
Stock and pricing to commerce: Xero holds base stock levels and list pricing
These flow to your commerce platforms and are used to prevent oversell and display accurate pricing on product pages and checkout.
Web orders and customer transactions: Orders captured from storefronts are transformed into Xero invoices with the correct nominal codes, tax treatment and customer account linked
Payment status and channel source are recorded for audit.
Invoices and credit notes back to commerce: Once Xero issues an invoice or credit note, it flows back to the storefront or customer account for visibility
Despatch confirmations and tracking updates are linked to the corresponding transaction.
Customer and credit limit changes: New customers created in Xero are made available for checkout
Credit limit changes, holds or suspension are published to commerce to enforce real-time availability rules.
Payment reconciliation: Payment records from Xero are compared against bank deposits and ecommerce transaction logs
Mismatches and unreconciled items are flagged for investigation.
08 · How we build it

How iWeb configures the integration around your business.

Same method on every integration. The decisions come before the code.

  1. 01
    Design the order-to-invoice mapping

    We document how your ecommerce order fields map to Xero invoice line items, nominal codes, tax codes and customer records. We build the transformation so finance rules are enforced at point of order, not corrected afterwards.

  2. 02
    Build customer identity and deduplication

    We implement matching logic so orders from multiple storefronts are linked to the correct Xero customer account. We handle new-customer creation, email changes and account merges so Xero remains a single view of your customer base.

  3. 03
    Manage stock and pricing flows

    We sync stock from Xero to commerce platforms and enforce channel-specific pricing through an upstream pricing engine or rule set. Stock availability checks happen before checkout, and pricing is always fresh.

  4. 04
    Handle refunds and credit notes as events

    We build bidirectional refund flows so that when a customer receives a refund, Xero records the credit note, reverses the payment and updates the customer balance in real time.

  5. 05
    Set up monitoring and exception handling

    We define SLAs for order acknowledgement, payment matching and reconciliation exceptions. We build queues and alerting so gaps are surfaced to the right team within agreed timeframes.

09 · Ownership

Who owns what.

The single most important table in any integration. One system owns each field; everything else reads it.

Data
Source / owner
Maintained by
Notes
DataStock availability
Source / ownerXero
Maintained byOperations / warehouse team
NotesXero holds quantity on hand; this is synced to commerce platforms for checkout validation and channel feed eligibility. Warehouse adjustments in Xero are the source of truth.
DataBase and list pricing
Source / ownerXero
Maintained byFinance / pricing team
NotesXero holds default cost and margin; these feed to commerce platforms for product page display. Channel-specific pricing is managed in an upstream rule engine or Xero price lists.
DataCustomer accounts and credit limits
Source / ownerXero
Maintained bySales / credit control team
NotesXero holds account status, credit limit, payment terms and hold flags. These are published to commerce to enforce checkout rules and customer eligibility.
DataWeb order capture and acknowledgement
Source / ownerXero
Maintained byIntegration / fulfilment team
NotesOrders flow from storefronts into Xero as invoices with correct tax, nominal codes and customer link. Acknowledgement status and invoice number are sent back to commerce for customer communication.
DataInvoice, credit note and refund transactions
Source / ownerXero
Maintained byFinance team
NotesInvoices, credit notes and refunds are posted to Xero and linked to bank deposits and customer accounts. These are published back to commerce for customer visibility and reconciliation.
DataTax and nominal coding
Source / ownerXero
Maintained byFinance team
NotesTax codes and nominal accounts are configured in Xero and applied during order posting. Changes to tax rules or coding structure require integration logic updates to stay compliant.
10 · Experienced integrator

Built this before

iWeb has designed and supported Xero integrations across retail, manufacturing and foodservice businesses. We understand how Xero sits as the transactional spine and what governance is needed to keep it clean and your teams confident.

We design order-to-invoice transforms that respect your chart of accounts, tax compliance and cost centre split so finance reconciliation is clean on day one
We implement customer deduplication and credit limit enforcement so Xero remains a single source of customer truth across multiple storefronts
We handle refund and credit note flows bidirectionally so finance teams do not inherit reconciliation exceptions
We layer WMS, pricing engines and payment gateways alongside Xero without corrupting stock, pricing or transaction logic
We set up monitoring and exception queues so operations teams can diagnose and resolve order posting failures before they become compliance issues
11 · Before launch

What we test before launch.

Every one of these is rehearsed before a customer ever sees the integration.

Verify that all web orders post to Xero within 60 seconds with correct nominal codes, tax codes and customer links
Confirm that Xero stock levels prevent checkout oversell when inventory is low across channels
Check that customer deduplication correctly links orders from multiple storefronts to a single Xero account
Validate that refunds in the ecommerce platform create Xero credit notes and reverse original invoices
Test Xero downtime fallback: orders are queued locally and posted successfully once Xero is restored
Confirm that payment reconciliation matches Xero invoices to bank deposits and flags unmatched transactions
Verify that credit limit changes in Xero are reflected at checkout within the next sync cycle
12 · Failure points

Common risks and where they bite.

We name these on day one. A risk written down is a risk you can plan around.

Orders arrive in Xero with wrong nominal codes

If the order-to-invoice mapping is not locked down before launch, orders may be posted to the wrong cost centre or profit centre. This breaks management reporting and makes VAT recovery difficult. Finance teams discover the error weeks later during monthly close.

Customer accounts fragment or duplicate

If the customer matching rules are weak or missing, the same buyer may be created multiple times in Xero. Credit limits, account holds and customer history become inaccurate, leading to checkout denials or failed order capture.

Stock oversell across channels

If stock is not synced from Xero to all storefronts in real time, two channels may sell the same item simultaneously. Overpromise leads to backorder penalties or emergency procurement.

Refunds do not reverse Xero invoices

If refund flows are not wired into Xero, credit notes are issued in the ecommerce platform but the original invoice remains open in Xero. Finance reconciliation becomes impossible and customer account balances drift.

Xero outage breaks checkout

If orders cannot be posted to Xero, the integration holds them in a queue. If no fallback or buffer is in place, checkout fails or orders are not acknowledged to customers.

Tax or pricing changes in Xero are not reflected

If tax codes or price lists are updated in Xero, storefronts continue to use stale rates until the next sync cycle. Batch refreshes happen on a schedule, so live price changes are delayed.

14 · Questions

Common questions about Xero integrations.

How are ecommerce orders posted to Xero automatically?

When an order is placed, the integration transforms it into a Xero invoice with the correct customer, line items, tax codes, nominal accounts and payment status. The order reference and channel source are recorded for traceability. The invoice is sent via the Xero API and acknowledgement is logged.

How does Xero stock stay in sync with my storefronts?

Stock levels are read from Xero on a scheduled cycle and published to your commerce platforms and marketplace feeds. Orders are checked against available stock before checkout completes. Stock adjustments made in Xero (receipts, write-offs, counts) propagate to storefronts within the sync window.

What happens if a customer is created in multiple storefronts?

The integration applies matching rules (email, phone, postal address) to detect duplicate registrations and link them to a single Xero customer account. If a match is ambiguous, the integration can be configured to flag it for manual review or create a new account with a deduplication suffix.

How are customer credit limits enforced at checkout?

When a customer attempts to check out, the integration queries Xero for their account status, available credit and any holds. If the order value exceeds their limit or the account is on hold, checkout is blocked and an error message is shown. Credit limit changes in Xero are respected immediately.

How are refunds and credit notes handled?

When a refund is issued in the ecommerce platform, the integration creates a credit note in Xero linked to the original invoice, reverses the payment and updates the customer account balance. Refund status is sent back to the storefront so the customer sees the credit applied.

How does payment reconciliation work between commerce and Xero?

Payment records from the ecommerce platform are compared against Xero invoices and bank deposits. Unmatched payments and refunds are flagged in a reconciliation queue. Finance teams review exceptions and post manual corrections if needed.

What happens if Xero is unavailable during checkout?

If Xero is down, the integration can hold orders in a local queue and retry them on a schedule. Alternatively, orders can be placed in checkout without immediate Xero acknowledgement, then posted asynchronously once Xero is available. Fallback rules depend on your risk tolerance and credit limit checking requirements.

Can I use different prices on different storefronts?

Xero holds base pricing but does not model channel-specific prices. To use different prices on different storefronts, you need an upstream pricing engine or rule set that publishes channel-specific prices to each storefront independently of Xero.

How are tax and VAT handled?

Tax codes are configured in Xero and applied to invoice line items based on product type and customer location. The integration ensures that all orders are posted with the correct tax treatment so VAT recovery is accurate and auditable.

How do I handle orders from multiple channels or storefronts?

Each order carries a channel or source identifier that is recorded in Xero. Customer deduplication rules apply across channels so the same buyer is linked to one Xero account. Stock is managed globally but can be allocated by channel if you use a WMS or inventory system alongside Xero.

Can Xero track stock across multiple warehouses?

Xero does not natively model multi-location inventory. If you ship from multiple warehouses, you need a WMS or inventory management system that sits upstream of Xero. Xero holds aggregate stock and receives stock movements from the WMS.

How do I monitor the health of the integration?

The integration logs all order postings, stock syncs, customer updates and reconciliation exceptions. Monitoring dashboards show queue depth, error rates and SLA breaches. Alerts notify teams when exceptions exceed thresholds or when critical flows are delayed.

What happens if an order posting to Xero fails?

Failed orders are moved to an exception queue with error details. Teams are notified and can investigate the cause (missing customer, invalid account, tax code mismatch). Once the underlying issue is resolved, the order can be retried manually or automatically.

How are customer terms and payment conditions managed?

Payment terms (net 30, net 60, etc.) and credit status are configured in Xero. When orders are posted, the correct terms are applied based on the customer account. These terms are visible in the Xero invoice and used for dunning and aged debt reporting.

14b · Same category

Other erp · finance integrations.

Adjacent integrations in the same category. Same shape of work, different vendor.

ERP · finance
Next step

Have a Xero integration brief?

Send the brief, or tell us what is breaking. You will get a written response from a senior expert: the integration boundary, the realistic shape, the risks worth naming, and what it takes to support after launch.
Talk to an expertOr browse all integrations →