Xero → Shopify · Live
Xero → Shopify sync
on Hasil Sync.
Sign in through Xero — no API keys typed anywhere. Your items and tracked stock land in Shopify, matched by SKU. Shopify orders come back as draft Quotes at your exact amounts. Wholesale tiers stay in Hasil Pricing, because Xero has no price lists. You preview every run before it writes.
No Shopify App Store install · No theme edits · Hasil never touches funds
What syncs
Two flows, and one thing we deliberately leave out.
Catalog and stock — Xero → Shopify
Xero Items become Shopify products, matched by SKU (the Xero item Code). Tracked items bring their quantity on hand across with them. New products are created as drafts so nothing goes live before you review it. Every run is idempotent: the same item is updated, never duplicated.
Orders — Shopify → Xero draft Quotes
Shopify orders arrive in Xero as draft Quotes with your line amounts written verbatim — we read the quote back and assert the totals rather than letting Xero silently recompute. The contact is matched by email so you do not accumulate duplicates, and the Shopify order number is carried as the reference.
Wholesale tiers — owned by Hasil Pricing
Xero has no price lists. Your per-customer prices and quantity breaks live in Hasil Pricing and are shown to buyers in the wholesale portal. Nothing about tiers is read from or written to Xero.
How it works
Connect → Preview → Sync.
- 1
Connect
Sign in to Xero through Xero's own consent screen and pick the organisation. You never type an API key into Hasil, and you can revoke access at any time from Xero or from Hasil.
- 2
Preview
The Connection Doctor checks the tenant, the organisation, a first page of items and a contacts read before anything is activated. Then a dry run shows exactly what would be created and updated in Shopify — including items skipped for having no code — before a single write.
- 3
Sync
Run it manually from the dashboard, or switch on auto-sync and it runs every 6 hours. Each run is recorded in sync history with counts and errors.
Shopify is connected through official Shopify OAuth — no App Store install and no theme edits. Portal orders become Shopify draft orders you invoice from Shopify, so Hasil never holds funds. Raw sync payloads auto-purge after 30 days.
Limits
What this connector does not do.
Read this before you buy. A connector that quietly does less than you assumed is worse than one that tells you first.
- Items need a Code in Xero — that is the SKU we match on. Items without one are skipped and listed in the preview.
- Xero has no price lists. Wholesale tiers are managed in Hasil Pricing, not in Xero.
- Catalogue and stock sync every 6 hours or on demand.
- Only tracked items report quantity on hand. Untracked items sync as products without stock.
- Single catalog source: one system owns the Shopify catalog per store. If Xero owns it, Odoo, Zoho and QuickBooks do not.
- Invoices, payments, returns and order-status write-back to Shopify are not part of this connector.
- Xero rate limits at 60 calls per minute and 5,000 per day per organisation. We budget below that and report when a run approaches the daily cap.
FAQ
Xero → Shopify questions, answered
Which Xero plans are supported?
Any Xero organisation with Accounting API access. Hasil requests minimal scopes: offline access, settings read, contacts, and invoices (which covers quotes and items).
Do I have to paste an API key?
No. You sign in to Xero and approve access on Xero's own screen. Shopify is connected the same way, through official Shopify OAuth — no App Store install and no theme edits.
Why do items need a Code?
The Code is how Hasil matches a Xero item to a Shopify product without ever creating a duplicate. An item with no Code has nothing stable to match on, so it is skipped and reported in the preview instead of being guessed at.
Can I keep wholesale prices in Xero?
Xero has no price-list object, so there is nothing to read. Per-customer prices and quantity breaks are managed in Hasil Pricing and shown in the wholesale portal.
What does a Shopify order look like in Xero?
A draft Quote with the order lines at your exact amounts, the matched contact, and the Shopify order number as the reference. Nothing is written back to Shopify, and Hasil never touches funds.
Is it real-time?
Catalogue and stock sync every 6 hours, and you can trigger a run manually at any time.
Connect Xero in a few minutes.
Start the 14-day trial, connect Shopify and Xero, run the Connection Doctor and a dry run, then sync when the preview looks right.
Running Odoo, Zoho or QuickBooks instead? Odoo → Shopify · Zoho Inventory → Shopify · QuickBooks Online → Shopify