For Australian businesses already on Shopify, an Odoo Shopify integration is a connector that pushes Shopify orders, customers, products and stock movements into Odoo so that accounting, inventory, fulfilment and reporting all live in one database. Shopify stays as the storefront. Odoo becomes the system of record behind it.

We’ve set this up for Perth retailers, DTC brands and B2B wholesalers running Shopify Plus. The pattern is consistent: the storefront stays, the back-office stack collapses. Below is what actually syncs, what doesn’t, how GST and BAS flow back through, and where the Australian carriers and Peppol e-invoicing fit in.

Integration methods: native connector, middleware or custom API

There are three realistic paths from Shopify to Odoo. The right one depends on order volume, how many warehouses you run, and whether you need flows the native connector skips — returns, B2B Peppol invoices, gift cards.

Odoo’s official Shopify connector

Odoo’s Enterprise edition ships a Shopify connector that handles products, variants, customers, orders and payments, with stock updates pushed from Odoo to Shopify on a schedule. It works well for a single Shopify store, a single warehouse and a business that wants the basics live in a fortnight. The licence is included with Enterprise, so there’s no per-order fee.

Third-party middleware

Once you’re past one store, one warehouse and one currency, middleware earns its keep. Celigo, Onport (formerly Jetti) and the Odoo Apps store’s Shopify Connector PRO all add bidirectional inventory, multi-location stock allocation, refund handling and richer order-state mapping. Expect $200-$800/month on top of Odoo licensing. We tend to default to the marketplace PRO connector for SMEs and Celigo for businesses already running multi-channel.

Custom API integrations

For Shopify Plus operators with bespoke checkout logic, subscription products, or marketplace fan-out, a custom integration built on Shopify’s REST and GraphQL APIs plus Odoo’s XML-RPC or external API gives you full control of every field. It’s more work — typically $15,000-$40,000 of build — but pays back when an off-the-shelf connector forces you to compromise on order routing or pricing rules.

What syncs between Shopify and Odoo

The honest answer is “most of what matters, if you scope it properly”. The native connector covers the four objects below; everything else needs configuration or middleware.

Products and variants

Products, descriptions, variants, images and SKUs sync between Shopify and Odoo. The decision worth making early: which system is the master? For most operators it’s Odoo — you create the product once, push to Shopify, and Shopify becomes a read-only display of catalogue. For brands changing storefront copy daily, it’s the other way. Pick one direction per field and stop fighting it.

Inventory levels and sync direction

Inventory is where the trouble starts. Shopify holds a stock number per variant per location; Odoo holds quantity on hand, forecasted, reserved and incoming across all warehouses. The connector reconciles “available to sell” — but only if you’ve mapped Shopify locations to Odoo stock locations cleanly. Get this wrong and you’ll oversell on Shopify while Odoo says there are 40 in the Welshpool warehouse. We’ve written about multi-warehouse stock in Odoo — the mapping there is what makes or breaks the Shopify sync.

Orders, customers and payment capture

Shopify orders flow into Odoo as sales orders or invoices, depending on configuration. Customers create or match contacts in Odoo. Shopify Payments, Stripe, eWAY and Afterpay all settle to your bank; the connector posts the matching journal entries in Odoo with payment processor fees on a separate line so reconciliation against the bank feed lines up.

GST and Australian tax handling on Shopify orders

GST is the line where many Shopify-plus-Xero stacks start to leak. Shopify charges 10% GST on AU domestic orders if you’ve set the tax region correctly, but the GST on processor fees, on shipping, on overseas sales and on imported low-value goods all need separate handling. Odoo does this properly once configured.

GST on domestic Australian orders

A Shopify order for an Australian consumer carries 10% GST on the line items and on the shipping component. The Odoo connector reads the tax line and maps it to the AU GST 10% tax code in Odoo’s chart of accounts, so the order lands on the BAS report ready for lodgement. We’ve covered the Odoo BAS and GST setup in detail.

GST on exports and low-value imported goods

Exports out of Australia are GST-free; Shopify zero-rates the order if customer billing or shipping is overseas. Sales to overseas customers of physical goods under A$1,000 (the ATO’s low-value imported goods threshold) are also typically GST-free at your end. Odoo applies the correct fiscal position based on customer country, so the same product carries 10% to Brisbane and zero to Auckland without a tax-code swap on each order.

BAS reconciliation

Every Shopify order, refund and processor fee in the period feeds Odoo’s BAS report. There’s no monthly download-and-paste from a Shopify export into Xero. The trade-off is that you’ve moved the source of truth — accountants used to seeing Xero need a short walkthrough of where the GST report lives in Odoo. We brief the accountant before go-live and most are comfortable within a week.

Australian carriers and fulfilment: Aus Post, StarShipIT and 3PL handoff

Fulfilment is where the rest of the SERP goes quiet. Shopify Shipping covers basic Aus Post labels, but most Australian operators end up with a more layered carrier stack as volumes grow: Aus Post MyPost Business for parcels, StarTrack for next-day metro, Sendle or Aramex for cheap regional, and Toll or Mainfreight for pallet B2B.

StarShipIT is the de facto middle layer here. We connect Shopify to StarShipIT for label printing and rate-at-checkout, and StarShipIT to Odoo for shipment status and tracking writeback. The result: pickers in the warehouse work off Odoo’s transfer screen, the label prints from StarShipIT against the carrier with the cheapest rate for that postcode, and the tracking number lands back on the Shopify order so the customer sees it.

For brands using a 3PL — eStore Logistics, eFulfilment, Bonds Couriers — Odoo becomes the inventory authority and the 3PL fulfils against EDI or SFTP feeds. Shopify orders drop into Odoo, Odoo routes the fulfilment, and the 3PL confirms ship-out back to both systems. This keeps your inventory accurate when stock sits in three warehouses and one 3PL across Sydney, Perth and Melbourne.

Refunds, returns and the RMA flow between Shopify and Odoo

Returns are the integration’s biggest blind spot. The Shopify storefront initiates the refund; the customer ships the item back to your warehouse or the 3PL; the credit hits the payment processor; and somewhere in Odoo the original sale needs reversing, the stock needs receiving back in, and the GST adjustment needs flowing to the next BAS.

Done badly, this becomes three half-processes — a Shopify refund, an Odoo credit note typed up separately, and a stock receipt entered by hand. Done well, the Shopify refund triggers an Odoo credit note linked to the original invoice, an inbound transfer for the SKU into the returning warehouse, and a quality check task on the returns desk to grade the item before it goes back on the shelf.

The native connector only partially handles this. For volume returners, we add a Returns Merchandise Authorisation flow in Odoo so the customer service rep approves the return, the warehouse expects the inbound parcel, and the credit posts only once stock is received and graded. Without that, your inventory drifts a few units a week and your BAS quietly overstates net sales.

Peppol e-invoicing for Shopify wholesale and B2B orders

Plenty of Shopify operators run a B2B channel alongside their consumer storefront — Shopify Plus’s B2B feature, a wholesale-only domain, or a hidden price-list. Once the buyer is a business, an A$2,500 wholesale order should arrive as a Peppol-compliant e-invoice rather than a PDF email attachment, especially if your customer is an ATO-registered Peppol recipient or a government body.

This is where Odoo earns the integration. Shopify B2B orders flow into Odoo as sales orders, then invoice generation runs through Odoo’s Peppol BIS Billing 3.0 e-invoicing module. The invoice goes Peppol-direct to your customer’s accounting system rather than into their AP inbox. We’ve set this up for a wholesale brand selling food service across WA and SA — their buyers were demanding Peppol from July 2025 and the Shopify-only stack couldn’t deliver it without Odoo behind the scenes.

When to keep Shopify or move to Odoo eCommerce

Not every Shopify integration ends with both platforms. A reasonable share of our discovery conversations end with the recommendation to drop Shopify and run Odoo’s native eCommerce instead. The decision turns on three things: theming flexibility, transactional volume and complexity of pricing logic.

If you’re running a brand-led storefront where the front-end design changes monthly and you have a Shopify-specialist agency on retainer, keep Shopify. If you’re a B2B distributor where 80% of orders come from logged-in repeat buyers, the case for Odoo eCommerce is strong — customer-specific pricing, account credit limits, multi-step approval workflows and Peppol invoicing all live natively without a connector. Odoo’s eCommerce design templates have improved a lot since Odoo 17, though they still won’t outshine a Shopify theme built by a senior front-end designer.

The tipping point we see most often: a brand at A$3-8M in revenue on Shopify Basic + Xero + Cin7 + an Aus Post script, paying three subscriptions and stitching four systems. They consolidate onto Odoo, keep Shopify as the public storefront because the brand team loves the theme, and use the connector for the boring middle. Three years later half of them retire the Shopify front for Odoo eCommerce too.

A Perth case in the wild

A Perth-based homewares brand we worked with had been running Shopify Plus on the front, Xero for accounting, Cin7 Core for inventory and a StarShipIT account that nobody was sure who owned. Monthly close took eight days. The stock-on-hand on Shopify lied by a few units per SKU every Friday.

We replaced Xero and Cin7 with Odoo, kept Shopify Plus on the storefront, set up the connector with the warehouse mapped one-to-one to Odoo’s Welshpool stock location, and routed all fulfilment through StarShipIT for carrier rate-shopping. The B2B side moved to Odoo’s portal with Peppol invoicing for the bigger trade accounts. Monthly close dropped to two days. Stock accuracy moved from 92% to 99.4% over the first quarter. Total project: A$78,000 over fourteen weeks, with the operations manager spending about a day a week through the build.

Implementation approach and what it costs

A Shopify-to-Odoo integration done properly costs A$25,000 to A$120,000 in Australia, depending on which connector path you take and how many edges — multi-warehouse, B2B, returns, Peppol — apply to you. The licence for Odoo Enterprise is A$31.10 per user per month at current Australian pricing. Middleware adds A$200-$800 per month. We’ve written a detailed Odoo implementation cost breakdown covering the full picture.

The build itself runs in three phases. First, map every Shopify object — products, locations, payment methods, tax rates, fulfilment statuses — to its Odoo equivalent. Second, configure the connector and run a sandbox sync of seven days of historic orders to catch the edge cases. Third, cut over on a low-volume day, monitor closely for two weeks, then layer in the deeper flows like returns and Peppol. Our implementation method walks through this step by step.

The most common scoping mistake we see is treating the connector as an off-the-shelf install. The connector itself is — the Shopify side is a marketplace app, the Odoo side is a module. But the value of the integration sits in the configuration: which warehouse fulfils which product, what gets invoiced versus quoted, how Afterpay and Shopify Payments settle into Odoo’s bank journal, and which Shopify metafields drive Odoo-side automation. That configuration is the project. Treat it as a fortnight of clicks and you’ll spend three months unwinding it.

A last note on data residency. Shopify hosts in North America by default; Odoo can be hosted on Odoo.sh, on AWS Sydney through a partner, or on-premise in Perth. For Australian businesses with privacy obligations under the Privacy Act 1988 or sector rules like APRA CPS 234, the Odoo side is usually where customer and financial data lands, so Sydney-region hosting is the sensible default. We map this out as part of hosting and migration scoping before the build starts.

If you’re a Shopify operator weighing whether Odoo behind it is the right next move — or whether to move further and consolidate onto Odoo’s own eCommerce — we’d be happy to look at the specifics of your stack and tell you straight. Have a chat with us and we’ll map out the connector choice, the GST and Peppol flow, and the realistic budget for your business.

Frequently asked.

Can I use Odoo in Australia?

Yes. Odoo ships an Australian localisation that covers GST, BAS, STP Phase 2, Peppol BIS Billing 3.0 and ABA payment files for the big four banks. It's used across wholesale, retail, manufacturing and services here, hosted on Odoo.sh, AWS Sydney or on-premise depending on data-residency preference.

Can you integrate Odoo with Shopify?

Yes — through Odoo's official Shopify connector, a third-party app from the Odoo Apps store, middleware like Celigo or Onport, or a custom API build. The native connector covers products, customers, orders, payments and inventory in one direction; deeper flows like returns, multi-warehouse stock and Peppol need a partner setup.

Is Shopify worth it in Australia?

For a storefront aimed at consumers or B2B with self-serve checkout, Shopify remains the fastest path to a polished, fast Australian e-commerce site. The trade-off is that Shopify won't run your accounting, multi-warehouse inventory, MRP or payroll — that's where Odoo behind it earns its keep.

How does Shopify handle Australian taxes?

Shopify applies a 10% GST on domestic Australian orders when tax settings are configured for AU, and zero-rates exports. It does not lodge your BAS. The Odoo connector pulls each order through with the right tax code so the GST appears on the BAS report in Odoo, not as a manual reconciliation in Xero.

Is Odoo growing in Australia?

Yes. Odoo's Australian partner network and customer count have grown each year since the Sydney office opened, with strongest uptake in wholesale, manufacturing and services moving off Xero plus a bolt-on inventory tool. It's still smaller than Xero or MYOB by raw user count but growing faster at the ERP end.

What is the 200 day rule in Australia?

Outside e-commerce, this usually refers to the ATO's tax-residency tests or trading rules of thumb. Inside e-commerce, it's not a formal rule — though importers often hold around 200 days of fast-moving stock to absorb shipping delays. Odoo's inventory forecasting handles that cover ratio per SKU rather than as a fixed business-wide number.