Odoo is the open-source ERP used by more than twelve million people worldwide, and for Australian wholesale distributors it replaces the common Xero-plus-Cin7 stack — or the aging Pronto, Attaché or MYOB Greentree system — with one ledger covering purchasing, inventory, sales, B2B pricing, BAS, STP and Peppol. It runs on Odoo Online, Odoo.sh or self-hosted, ships with an Australian localisation pack, and is implemented in Australia through local partners.
We’re a Perth Odoo consultancy and we implement Odoo for wholesalers, importers and distributors across WA, NSW, Victoria and Queensland. This article walks through what Odoo gives a wholesale distribution business, what it doesn’t, the Australian compliance side, and what a real rollout costs in AUD.
What Odoo gives Australian wholesale distributors
A wholesale distributor needs the same ledger to know what stock landed at Fremantle this morning, what’s on the water from Ningbo, what the GP percentage is on a 100-carton order to a Sydney retailer, what’s due to the supplier in 30 days, and what BAS is owing this quarter. Most Australian distributors get there with a stack: Xero for the GL, Cin7 or Unleashed for stock, a spreadsheet for tiered pricing, a separate B2B portal for resellers, an email chain for backorders. Each tool is fine on its own; the joins between them are where the operation bleeds time.
Odoo collapses that stack. Purchasing, Inventory, Sales, Accounting, CRM and a B2B portal sit in one database, posting in real time to the same general ledger. A sales order in Brisbane reserves stock at the Welshpool DC; a receipt at the dock writes to a stock-in-transit account; a dispatch posts cost of goods sold automatically. The BAS report at the end of the quarter is generated from the same ledger that ran the warehouse, not a reconciliation between two systems.
The quotable rule of thumb: any Australian distributor running more than 2,000 SKUs across more than one warehouse is paying more in operational friction for a Xero-plus-add-on stack than they would in licences and partner fees for Odoo. The break-even is around $5M turnover or fifteen people on the operations side.
Core modules for wholesale distribution
The Odoo modules that earn their keep in a distribution business are Inventory, Purchase, Sales, Accounting, CRM and the website B2B portal. Inventory handles the warehouse — multi-site stock, lots and serials, barcode picking, putaway and removal strategies, landed costs and real-time valuation. Purchase handles supplier requests for quotation, blanket orders, vendor pricelists and three-way match against the receipt and bill. Sales handles quotations, order confirmation, partial deliveries, backorders and customer-specific price rules.
Accounting underneath posts every operational movement to the GL with no end-of-month stock journal to reconcile. CRM tracks the pipeline of new resellers, the customer-facing rep activity and the renewal of trading terms. The website module exposes a B2B portal where logged-in customers see their own pricelist, place orders against credit and download tax invoices for their bookkeeper. There’s no separate licence for the portal — it’s part of the Enterprise subscription.
Manufacturing isn’t always needed, but wholesale distributors with kitting, assemble-to-order or co-pack lines run a light Manufacturing app on top. For deeper coverage of the warehouse side, see Odoo Inventory for Australian warehouses.
Multi-warehouse management
Odoo treats every warehouse as a separately addressable entity with its own locations, routes and operations. A typical Australian distributor we implement for runs three or four — a Perth main DC, a Sydney 3PL forward stock holding at Eastern Creek, a returns location and a quarantine zone for damaged or recalled goods. Each warehouse gets its own physical hierarchy: zones, aisles, racks and bins, configured to match how pickers walk the floor.
Routes do the heavy lifting. A make-to-order from Perth, ship-from-Sydney customer order triggers an internal transfer rule automatically; an inbound container at Fremantle posts to a quality-hold zone before being released to sellable stock. Once routes are set up properly the warehouse team stops thinking about transfers — the system generates them on order confirmation, with full available-to-promise across every warehouse in the calculation.
Stock takes happen by location, not by warehouse. Odoo lets you cycle-count one zone a week against a barcode scanner, with variances posted to a holding account for the controller to investigate before they hit the P&L. For a distributor moving twenty thousand SKUs across two DCs and a 3PL, this is the difference between a clean BAS-time stock figure and an annual write-down conversation with the auditor.
Sales, pricing and customer management
Wholesale pricing in Australia is rarely a single price list. A tier-one reseller in Sydney pays one price; a regional independent in Geraldton pays another; a national chain on a tendered contract pays a third, with rebate accruals on top. Most Xero-plus-add-on stacks handle this with a spreadsheet and a sales rep’s memory. Odoo handles it with the Pricelist engine.
A pricelist in Odoo is a set of rules — by customer, by customer group, by product, by category, by quantity break, by date range — that resolves on quotation. The rep selects the customer; the price list applies; the line shows the customer’s price with their landed margin visible to a manager but not to the customer. Rebate accruals post to a balance-sheet liability and are released to the P&L when the rebate is paid.
The CRM module sits in front of the pricelist work. It tracks the pipeline of new accounts, the activity log on existing accounts and the renewal date on trading terms. A rep on the road in regional WA can open the Odoo app on a phone, take an order, photograph the merchandiser’s planogram and email a quote — all against the same customer record the back office sees.
Barcode scanning and warehouse efficiency on the floor
Odoo’s Barcode app turns a phone or a Zebra TC22 into a picking, packing and receiving terminal. Pickers scan the location, scan the product, scan the package and scan the destination — Odoo updates the move in real time. Receipts work the same way: scan the supplier label, scan the lot, post putaway. There’s no separate scan-gun licence and no daily upload batch.
The configuration that makes this work in an Australian distribution centre is GS1 barcode nomenclature. Odoo supports GS1 out of the box, so a single GS1-128 label encoding GTIN, batch and expiry is parsed in one scan. For wholesalers importing from Asia with EAN-13 only, we usually print an internal label at receipt that adds the lot. It takes two days of configuration; it removes hours of manual entry every week.
Wave and cluster picking come built in. A picker can be assigned ten orders for the same Coles PO, walk the racks once and split the cart at the pack station. For an operation moving a few hundred lines a day this is where Odoo earns its keep against a Xero-plus-Unleashed stack — and where the floor manager finally gets a real picks-per-hour figure to manage against.
B2B portal, customer-specific pricing and credit management
The Odoo website module ships with a B2B portal for logged-in customers. A reseller signs in, sees their pricelist, sees their available credit, places an order against it, downloads their last six months of tax invoices and lodges a return request. The portal pulls from the same product catalogue the sales team uses, so a stock figure on the portal is the real Welshpool figure, not a nightly export.
Credit management sits behind the portal. Odoo’s Accounting module supports credit limits at the customer level, with hard stops or soft warnings on order confirmation; an account with overdue invoices over 60 days can be flagged so a new order requires controller approval before dispatch. We typically wire a Slack or email notification to the AR clerk so the conversation with the reseller happens before the stock leaves the dock, not after.
The B2B portal also handles the part of trading terms most Xero-plus-add-on stacks ignore: customer-specific promotion calendars, end-of-quarter rebate previews, and an export of trading data for the customer’s own buying team. For a wholesaler selling to ten or twenty resellers with bespoke arrangements, this part of Odoo replaces a dedicated EDI-light tool the business was probably evaluating separately.
Australian compliance: BAS, STP, Peppol and ABA
The Odoo Australian localisation covers the four compliance items every wholesale distributor needs: GST and BAS, Single Touch Payroll, Peppol e-invoicing and ABA file payments.
GST and BAS work out of the box. The localisation ships the Australian chart of accounts, the standard GST tax codes (GST on sales, GST on purchases, GST-free, input-taxed, export) and the BAS report formatted to match the ATO portal. A clean migration from Xero gives you a BAS in Odoo that matches Xero’s BAS within rounding from day one.
STP Phase 2 is where the honest answer matters. Native Odoo Payroll handles the lodgement mechanics, but does not interpret Fair Work modern awards (Storage Services, Road Transport, Clerks Private Sector). Most distributors we implement for either run Employment Hero or KeyPay alongside Odoo for award interpretation, with a clean GL feed back into Odoo, or stay with their existing payroll provider entirely. For a 30-person distributor this is a $40 per employee per month line item to keep in the model.
Peppol BIS Billing 3.0 is native — Odoo is an access point, so an invoice to a Peppol-registered buyer goes machine to machine through the network. For wholesalers selling to Commonwealth agencies, large universities and major health buyers, this matters now and will matter more as Peppol mandates spread. ABA file generation works for ANZ, NAB, CBA and Westpac with bank-specific format quirks handled in the bank journal configuration.
Migrating from Xero plus Cin7 or Unleashed
The classic Australian distributor migration is moving from Xero plus Cin7, Unleashed or DEAR. We’ve done dozens of these and the pattern is consistent.
Start with a fixed cutover date — typically the first day of a BAS quarter — and work back. The data migration falls into three buckets: master data (chart of accounts, customers, suppliers, products, pricelists), opening balances (trial balance, AR/AP aged listings, stock on hand by warehouse and lot), and transactional history (closed sales, closed purchases, payroll history). Master data and opening balances are mandatory; transactional history is loaded as read-only archive in most cases, not migrated as live transactions.
The trap on the inventory side is product-master cleanliness. A Xero-plus-Cin7 distributor typically has 8,000 active SKUs, of which 2,500 haven’t sold in two years. Migrating all 8,000 doubles the configuration time and pollutes the new system on day one. We run a pre-migration SKU rationalisation with the buying team — keep, archive or merge — before any product touches Odoo. For the full nine-step pattern, see our Xero to Odoo migration playbook.
The BAS cutover is the bit that catches DIY migrations. The last BAS is lodged from Xero, the first BAS is lodged from Odoo, and the opening balance on the GST control accounts has to reconcile. We hold a five-business-day window where both systems run in parallel for AR/AP receipting before the old system is locked.
Real cost and timeline for a wholesale distributor
A wholesale distribution rollout for a 20- to 50-user Australian business lands in a $90,000 to $220,000 partner fee range, plus Odoo licences at roughly $37.40 per user per month for Standard or $56.10 for Custom (2026 AUD list, billed annually, before partner discount). Hosting on Odoo.sh adds $40 to $90 per month per worker depending on database size; self-hosting on AWS Sydney trades that for an in-house DevOps line.
Timeline runs 14 to 22 weeks for a single-warehouse 20-user business; 22 to 36 weeks for a multi-warehouse 50-user business with B2B portal and Peppol live from day one. The phases are discovery (two to four weeks), configuration (six to ten weeks), data migration and UAT (four to eight weeks), and cutover plus hypercare (four weeks). Our implementation method sequences these so the warehouse team gets hands on the barcode app in week six, not week sixteen.
To put numbers on it: we worked with a Perth importer and distributor of homewares, around $28M turnover, 32 staff, two warehouses, importing from Vietnam and China, distributing to independent retailers across WA and the East Coast through a Sydney 3PL. They were running Xero, Cin7 Core, a custom B2B portal a developer built five years earlier and three spreadsheets for rebates. The rollout took 20 weeks, landed at $168,000 in partner fees plus $1,950 a month in licences, and removed two of the spreadsheets entirely. The B2B portal moved into Odoo at month four; the rebate accruals stopped being a quarter-end fire drill at month six.
The pattern repeats: the bigger the operation, the more Odoo pays for itself against a fragmented stack. For a five-person reseller turning over $2M, Xero plus a light app stays the better fit. For anything bigger across more than one location, the maths flips.
If you’re a wholesale distributor weighing Odoo against your current Xero-plus-add-on stack, or a mid-market operator looking at Pronto, Attaché or MYOB Greentree replacement, we’d be happy to walk through what a rollout would look like for your business. A first conversation is free and we’ll be honest about whether Odoo is the right fit. Reach us at /#contact.
Frequently asked.
Can I use Odoo in Australia?
Yes. Odoo ships an Australian localisation pack with the GST chart of accounts, BAS report, ABA bank file generation, TPAR support and native Peppol BIS Billing 3.0 e-invoicing. It runs on Odoo Online, Odoo.sh or self-hosted servers, and is used by thousands of Australian wholesalers, importers and 3PLs.
Who is Odoo partner in Australia?
Odoo lists official partners on its website, with offices in Perth, Sydney, Melbourne and Brisbane. Australian partners range from one-person shops to teams of forty. For a wholesale distribution rollout, the partner's experience with multi-warehouse routes, B2B pricing, Peppol and Australian payroll handoff matters more than partner tier alone.
Is Odoo an Australian company?
No. Odoo is Belgian, headquartered in Louvain-la-Neuve, with regional offices in Hong Kong, San Francisco, Dubai and elsewhere. It has no Australian office, which is why most Australian implementations run through a local Odoo partner. The Australian localisation and Peppol access point are maintained by Odoo and the local partner community.
Is Odoo growing in Australia?
Yes. Odoo's Australian user base has grown steadily as Xero-plus-add-on stacks hit their ceiling. Mid-market distributors moving 5,000 to 50,000 SKUs are the fastest-growing segment, replacing combinations of Xero plus Cin7, MYOB plus Unleashed, or aging on-premise systems like Pronto and Attaché.
What is the 200 day rule in Australia?
There isn't a 200-day rule — the commonly cited threshold is the 183-day rule, used by the ATO as one of four tests for individual tax residency. It rarely matters for company ERP decisions. The relevant numbers for a wholesale distributor evaluating Odoo are the GST registration threshold ($75,000 turnover) and the TPAR contractor reporting threshold.