Description
Demfilz Sync for Xero connects your WooCommerce store to your Xero organisation so you stop re-keying sales. It posts orders as Xero invoices (or quotes), matches or creates the contact, and can read stock-on-hand back from Xero.
Free features
- One-click OAuth 2.0 connection to your Xero organisation
- Push a WooCommerce order to Xero as an invoice or quote with a button on the order screen
- Create or match the contact in Xero automatically
- Map a default income account and GST tax rates
- Pull current stock-on-hand from Xero for a product (button on the product screen)
- Sync log of every attempt
Pro features (A$19.95/month)
- Automatic order sync when an order reaches a chosen status
- Bulk / historical order backfill
- Scheduled inventory sync across all products
- Refunds / credit notes to Xero
- Per-product / per-tax-class tax mapping
- Auto-retry of failed syncs with email alerts
- Multiple stores / organisations
- Supplier purchases: when the Demfilz Auto Order plugin emails a supplier a purchase order, post a matching bill (at cost) to Xero
Pro is delivered as a separate add-on plugin after subscribing at https://demfilz.com/woo-to-xero
External services
This plugin connects to external services. It sends data only when you explicitly connect and sync.
- Xero API (https://login.xero.com, https://identity.xero.com and https://api.xero.com)
- Purpose: authenticate (OAuth 2.0) and read/write your accounting data.
- Data sent: your store’s order details (customer name, billing address, email, phone, line items, totals, tax), product SKUs, and your Xero developer-app credentials/tokens.
- When: when you connect, push an order, or pull stock.
- Terms: https://www.xero.com/au/legal/terms — Privacy: https://www.xero.com/au/legal/privacy
Installation
- Install and activate the plugin (WooCommerce must be active).
- Go to WooCommerce Xero Sync.
- Create a «Web app» in the Xero developer portal and paste the Client ID and Client Secret, adding the redirect URI shown on the Connection tab.
- Click Save & Connect to Xero, approve access, then choose your organisation.
- Set your default income account and tax rates on the Mapping tab.
- Open any order and click Sync to Xero.
FAQ
-
Does it post orders as invoices or quotes?
-
Either. Choose how to post orders on the Mapping tab, and pick the invoice status (Draft, Submitted or Authorised).
-
Is the free version time-limited?
-
No. Manual order, contact and stock sync are free forever. Pro adds automation and scale.
-
Where is my data stored?
-
OAuth tokens are stored encrypted in your WordPress database. Order data is only sent to Xero when you sync.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Demfilz Sync for Xero” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Demfilz Sync for Xero” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.2.8
- Stock sync now reads the whole stock-on-hand list from Xero in a single request and matches products locally, instead of one request per product. This keeps a full catalogue sync (and the Pro scheduled sync) well within Xero’s API rate limits. The «Sync all stock» button uses this too and is much faster.
1.2.7
- The Mapping tab now explains why the account and tax-rate dropdowns are empty (for example a Xero rate limit, or a connection that needs refreshing) instead of just showing no options.
1.2.6
- The customer’s country is now sent to Xero as its full name (e.g. «United States») instead of the two-letter code. Filter dwtx_country_name to override.
1.2.5
- Improved handling of Xero’s rate limit (HTTP 429): the sync now waits for the period Xero asks for and retries, and shows a clear «please wait and try again» message instead of a raw error.
- The «Sync all stock from Xero now» run is now paced so it stays under Xero’s 60-calls-per-minute limit.
1.2.4
- New: the product SKU is now sent as the Xero line item code, so invoice lines link to the matching Xero item.
- New: a separate Shipping account on the Mapping tab, so shipping can post to its own Xero account (e.g. 210) instead of the income account.
- New: the delivery (shipping) address is now sent to the Xero contact as well as the billing address, and existing contacts are updated so their address is filled in.
- Fix: sales tax collected on an order now carries through to Xero as a tax amount on each line, so tax (or a tariff) is preserved and included in the invoice total even on a no-GST tax rate such as «BAS Excluded». Standard GST lines are unaffected.
- WooCommerce fee/surcharge lines are now included on the Xero invoice.
1.2.3
- New: a «Sync all stock from Xero now» button on the Sync tab pulls stock-on-hand for every published product that has a SKU, in one pass, matched to Xero by SKU. Runs on demand in small batches, so it works even if scheduled tasks are not firing on your host.
1.2.2
- Fix: invoices and quotes now post in the same currency as the WooCommerce order, rather than always using your Xero organisation’s base currency. Multi-currency must be enabled in Xero for any currency other than your base currency.
1.2.1
- Fix: invoices now always include a due date, so posting an order as a Submitted or Authorised invoice no longer fails with «The document DueDate field must be specified». The due date defaults to the invoice date, and can be adjusted with the dwtx_invoice_due_days filter for payment terms.
1.2.0
- Compliance: the free plugin no longer contains any premium or licensing code. All Pro gating, licence handling and supplier-bill sync now live entirely in the separate Pro add-on.
- The free plugin exposes small, generic Xero API helpers (get/post) that the Pro add-on builds on; no Pro-only endpoints ship in the free plugin.
- No functional change for free users.
1.1.0
- Pro: post a Xero bill (at cost) when the Demfilz Auto Order plugin emails a supplier purchase order.
- Added Xero supplier, bill (ACCPAY) and expense-account API support (used by Pro).
- Fix: «Save & Connect to Xero» now correctly redirects to the Xero consent screen.
- Pro subscriptions are now validated through the Demfilz billing service, and «Get Pro» links to live checkout.
1.0.0
- Initial release: OAuth 2.0 connection, manual order push (invoice or quote), contact sync, manual stock pull, mapping, logs, Pro licence framework.
