Skip to Content

Odoo Retail ERP, POS and eCommerce for Australia

Seamlessly Integrate eCommerce & Retail POS for Financial Control.


For modern retailers, the line between a physical storefront and an online cart has disappeared. But for your back office, they often exist as separate, conflicting worlds. Juggling two sets of inventory, separate customer databases, and promotions that don't sync leads to stockouts, frustrated customers, and an inability to see your true, blended profitability.

As a firm founded by accountants, we solve this core financial challenge. We implement Odoo to be the single, unified commerce platform that connects your eCommerce store and your retail POS. We ensure every sale, every return, and every customer interaction is captured in one place, giving you a rock-solid financial and operational core to scale your brand with confidence.


Book a Free System Process Audit

eCommerce & Retail/POS

A Truly Unified Commerce Platform, 
Built on a Financial Core


We architect Odoo to solve the most pressing pain points for Australian retailers, creating a seamless experience for both your customers and your team:

Accept payments smoothly across every channel. We integrate Odoo POS with Australia’s leading gateways—Tyro, Linkly, and Windcave—ensuring secure, fast transactions that reconcile directly with your Odoo Accounting.
Seamless Payment Processing

Accept payments smoothly across every channel. We integrate Odoo POS with Australia’s leading gateways—Tyro, Linkly, and Windcave—ensuring secure, fast transactions that reconcile directly with your Odoo Accounting.

Deliver the seamless retail experience your customers expect. We configure Odoo for unified loyalty, gift cards, and promotions across channels, plus Click & Collect fully integrated with inventory and sales data.
Omnichannel Customer Experience

Deliver the seamless retail experience your customers expect. We configure Odoo for unified loyalty, gift cards, and promotions across channels, plus Click & Collect is fully integrated with inventory and sales data.

Eliminate overselling and stock discrepancies for good. Odoo gives you a single, real-time view of inventory across all locations—your eCommerce warehouse and your retail stores. A product sold in-store is instantly updated online, and vice versa.
Unified Inventory Management

Eliminate overselling and stock discrepancies for good. Odoo gives you a single, real-time view of inventory across all locations—your eCommerce warehouse and your retail stores. A product sold in-store is instantly updated online, and vice versa.

Odoo’s POS is robust, intuitive, and reliable. It works on any device—from an iPad to an industrial touchscreen—and critically, it continues to function even if your internet connection goes down, automatically syncing all transactions once you're back online.
Integrated Point of Sale (POS)

Odoo’s POS is robust, intuitive, and reliable. It works on any device—from an iPad to an industrial touchscreen—and critically, it continues to function even if your internet connection goes down, automatically syncing all transactions once you're back online.

The job to be done

What a retail ERP actually has to do

Retail software is sold on the till screen. What decides whether the system pays for itself is what happens behind it, in four places.

Hold one stock number, not four

The moment your shop floor, your website, your marketplace listing and your wholesale channel each keep their own view of stock, you are choosing between overselling and holding buffer inventory in every channel to avoid it. Both cost money. One pool, decremented by whichever channel sold it, is the whole argument for putting retail on an ERP rather than stitching apps together.

Know the margin per channel, not just the revenue

Online orders carry pick, pack, freight and a return rate that a counter sale does not. Marketplace orders carry commission. Wholesale carries terms. Revenue by channel is easy and tells you almost nothing; contribution by channel after the cost of serving it is the number that changes what you do next.

Recognise revenue where it actually belongs

Gift cards, store credit, loyalty points, lay-by and deposits are liabilities until they are redeemed. Retail businesses routinely book them as revenue on the day they are taken, then find the balance sheet does not agree with the loyalty scheme. Getting this right is an accounting design decision made before the first sale is rung up.

Close the day, and then the month, without a reconstruction

Every till session should close to cash counted, card settled and stock moved, with variances visible on the day rather than found at month-end. When that holds daily, month-end close is a review rather than an investigation.

One stock pool

One stock pool across every channel

This is the reason retailers move to Odoo, and the part that has to be configured deliberately rather than switched on.

Same product, same stock, every channel

The shop floor, the online store, the marketplace listing and the wholesale price list all read and write the same product record and the same quantity. A sale on the counter reduces what the website can sell within the same transaction, not on tonight's sync.

Stock by location, not just in total

Multi-store retailers need to know what is in each shop, what is in the distribution centre and what is in transit between them. Odoo warehouses and locations model this natively, so "we have three" can be answered with where.

Reserved versus available

Once an online order is placed, that stock is committed. Odoo separates on hand from forecasted from available to promise, so the last unit is not sold twice — once at the counter and once online, ten seconds apart.

Transfers between stores

Inter-store transfers as tracked movements rather than a phone call and a note. The stock leaves one location, sits in transit, and arrives — with a record if it does not.

Replenishment per location

Reordering rules set per product per store, so a slow line in one suburb is not restocked on the same rule as a fast one in another.

Cycle counting

Counts scheduled by location or category running continuously, rather than closing the shop for a full count. For multi-store retail this is usually the fastest operational payback in the project.

At the counter

Odoo Point of Sale

Odoo POS runs in a browser on almost any hardware, keeps working when the internet drops, and posts to the same ledger as everything else.

It keeps selling when the line goes down

The POS caches its product and pricing data locally and continues to take sales through an internet outage, then synchronises when the connection returns. For a retailer whose worst hour is a busy Saturday with a flaky connection, this matters more than most feature comparisons.

Hardware you probably already have

Receipt printers, barcode scanners, cash drawers, customer-facing displays and weighing scales for anything sold by weight. Odoo POS is hardware-agnostic within the common Australian retail kit rather than tied to a proprietary terminal.

Sessions, cash control and variances

Each session opens with a counted float and closes with a counted drawer, and the difference is recorded against the person who closed it. Card settlements reconcile against the terminal. Variances surface daily rather than being discovered in a bank reconciliation three weeks later.

Multi-store and multi-register

Each store runs its own POS configuration — its own float, its own payment methods, its own receipt — while reporting into one set of books. Adding a store is a configuration, not a new system.

Hospitality as well as retail

For businesses running a cafe or bar alongside retail: floor and table management, order splitting, kitchen printing and course timing are part of the same POS rather than a separate product.

Loyalty, gift cards and promotions at the till

Loyalty programmes, gift cards, coupons and discount rules apply at the counter and online from the same configuration, which is what stops a customer being offered a promotion in one channel and refused it in the other.

Online

eCommerce on the same database as the books

Odoo includes a full online store. Whether you should use it, or keep the storefront you have and connect it, is the most consequential decision on this page — and the honest answer is that it depends.

What Odoo eCommerce gives you

Product catalogue, variants and attributes, customer accounts, wishlists, abandoned-cart recovery, delivery methods, Australian payment providers and a page builder — all reading the same products, stock, pricing and customer records as the POS and the ledger. No connector, no sync window, no reconciliation between two product masters.

Where it genuinely wins

Businesses whose online sales are meaningful but not their entire identity: wholesale-first businesses adding a retail channel, retailers whose catalogue changes constantly, anyone whose current pain is that the website and the back office disagree. Removing the sync layer removes an entire category of problem.

Where it does not

If your storefront is a genuine merchandising and brand asset — heavy content, sophisticated theming, a dependence on a large app ecosystem — Odoo eCommerce is not a like-for-like replacement for Shopify Plus. We will tell you that rather than sell you a migration you will regret.

The pattern we build most often

Keep the storefront that is working, and put Odoo behind it as the single source of truth for stock, orders, customers, fulfilment and financials. The customer keeps the front end they have invested in; the business stops running on two disagreeing systems.

Connecting what you already run

Connecting Shopify, WooCommerce and marketplaces to Odoo

Where the storefront stays, the integration is the project. These are the connections we build, and what each of them actually has to handle.

Shopify

Orders, customers, fulfilments and refunds into Odoo; stock levels and pricing back out. The parts that need care are variant mapping, gift cards, discount allocation across lines and how partial refunds land in the ledger — not the order feed, which is the easy half.

WooCommerce

The same shape of integration on a platform with more variability, because plugins change behaviour. Scope is driven by which plugins are in play more than by the store size.

Amazon

Odoo has a native Amazon connector covering order import and fulfilment status. Commission, FBA fees and settlement reconciliation are where the accounting work sits, and they are the reason marketplace margin is usually overstated.

Other marketplaces

Coverage beyond Amazon generally needs middleware rather than a native connector. That is an integration project with its own scope and cost, and it belongs in the estimate rather than in an assumption.

Freight and fulfilment

Carrier rating, label generation and tracking so dispatch is a scan. Where fulfilment is outsourced, stock and dispatch instructions flow to the 3PL and confirmations flow back.

The rule we apply

One system owns each piece of data. Stock and financials are owned by Odoo; the storefront owns presentation and the customer experience. Integrations that let both sides edit the same field are the ones that fail six months later.

Where the channels meet

Click and collect, ship from store, and returns

Omnichannel is easy to say and awkward to account for. Each of these flows moves stock and money between channels, and each needs a deliberate answer.

Click and collect

An online order reserved against a specific store's stock, picked by that store, collected by the customer. The question that needs answering before you build it is whose sale it is — the online channel that won it or the store that fulfilled it — because that decision drives store performance reporting and, in many businesses, commission.

Ship from store

Using shop stock to fulfil online demand turns every store into a fulfilment node and is the fastest way to lift availability without buying more inventory. It also puts picking work onto retail staff, so it needs rules about which orders route where and a floor that will actually do it.

Returns across channels

Bought online, returned in store, is the flow that breaks most retail systems. It needs the original order, the original payment method, the correct tax treatment and the stock put back into the right location in sellable or quarantined condition. Odoo handles it, but only if the return route is designed rather than improvised at the counter.

Gift cards, credit notes and lay-by

All three are liabilities carried on the balance sheet until redeemed, and all three are commonly mis-posted as revenue on the day they are issued. We set the accounting treatment for these at design time, with your accountant, because unwinding it later is genuinely painful.

Do you know which sales channel is actually making you money?

Talk it through with an accountant who has costed Australian omnichannel retail in Odoo — commission, freight, returns and all. Thirty minutes, no obligation.

The accountant section

Margin by channel, by product, by store

Two channels selling the same item at the same price are not equally profitable. Very few Australian retailers can produce this view, and the ones who can tend to change where they push volume.

Analytic accounting by channel and store

Analytic distributions tag revenue and cost by channel, store, brand or category independently of the chart of accounts. That is what makes a profit and loss per store or per channel possible without creating a hundred general ledger accounts, and it is a day-one design decision rather than a report switched on later.

The costs that only apply online

Pick and pack labour, packaging, outbound freight, payment gateway fees, marketplace commission and — the one most often ignored — the return rate. An online channel running fifteen per cent returns on a thirty per cent gross margin is a materially different business from the counter selling the same product.

True cost of goods

If you import, freight, insurance, duty and brokerage belong in the stock value rather than in an expense account. Odoo apportions these landed costs across a receipt by quantity, weight, volume or value. Without it, gross margin on every imported line is overstated by the freight bill and moves with the exchange rate.

What you can see afterwards

Contribution by channel, by store, by category and by product, from live data. The value is not the report — it is that the decision about whether a marketplace channel is worth keeping can be made with a number rather than a feeling.

The same jumper, three channels

Cost lineIn storeOwn websiteMarketplace
Landed cost of goodsSameSameSame
Channel fee or commissionNoneGateway fee onlyCommission per sale
Pick, pack and handlingNoneAppliesApplies
Outbound freightNoneApplies, often subsidisedApplies
ReturnsLowMaterially higherHigher, and often less recoverable
Who owns the customerYouYouThe marketplace

None of these lines is controversial on its own. The point is that most retail reporting captures the first row and none of the others, which is why channel decisions get made on gross margin rather than contribution.

One customer record

Customers, loyalty and pricing across channels

A customer who buys in store on Saturday and online on Tuesday is one customer. Most retail stacks record two.

One customer record

Purchase history from every channel against a single contact, which is what makes lifetime value real rather than channel-specific. It is also the difference between a returns conversation that takes thirty seconds and one that takes ten minutes.

Loyalty that works everywhere

Points earned at the counter and spent online, or the reverse, from one programme configuration. Loyalty balances are carried as a liability, not quietly ignored until someone asks what they are worth.

Gift cards and store credit

Issued in any channel, redeemed in any channel, and sitting on the balance sheet as the obligation they are until they are used or expire.

Price lists across channels

Retail, online, member and trade pricing from one structure, with rules for quantity breaks and time-limited promotions. Where a channel deliberately prices differently, that is a decision recorded in the system rather than a discrepancy someone has to explain.

Promotions and discounts

Discount programmes, coupons and automatic promotions applying consistently at the till and in the cart, so the offer a customer saw online is honoured in the shop.

What this is not

Odoo gives you a solid single customer view and a workable loyalty engine. It is not a specialist clienteling or retail CRM suite, and if sophisticated segmentation and campaign automation are central to your model you will want a dedicated tool alongside it.

Taking the money

Payment terminals, gateways and reconciliation

The point where retail systems most often leak time is not taking payment — it is proving at the end of the day that what the terminal settled matches what the system recorded.

Terminals at the counter

We built and maintain an Odoo connector for Linkly, which is the integration layer most Australian EFTPOS terminals sit behind. The sale amount is pushed to the terminal rather than keyed in, which removes the transposition error and makes the card settlement reconcile automatically against the POS session.

Online payment providers

Australian gateways connect to Odoo eCommerce directly, with the settlement, the fees and the payouts landing in the ledger rather than being reconciled by hand from a monthly statement.

Closing the day

Each POS session closes against counted cash and settled card totals, with variances recorded against the person who closed it. The bank feed then reconciles the settlement deposit against the session rather than against a lump sum nobody can break down.

Fees where they belong

Gateway fees, terminal fees and marketplace commission recorded against the channel that incurred them. This sounds like bookkeeping detail and it is exactly what makes the channel margin table above possible.

Being straight with you

Where Odoo has limits for retailers

Odoo suits most Australian retailers running a handful of stores and a meaningful online channel. It does not suit everyone, and these are the six places we say so before a project starts.

It is not Shopify Plus

Odoo eCommerce is capable and integrated, but it does not match a dedicated platform on merchandising depth, theming flexibility or app ecosystem. For a brand whose storefront is a primary asset, the right architecture is usually keeping that storefront and putting Odoo behind it.

Marketplace coverage is thin beyond Amazon

The Amazon connector is native. Anything else generally needs middleware, which is an integration project with its own scope, cost and ongoing maintenance rather than a checkbox.

Not a specialist retail CRM

Single customer view and loyalty are solid. Clienteling, advanced segmentation and campaign orchestration are not, and a retailer whose growth depends on those will want a dedicated platform alongside Odoo.

Complex promotions can hit a ceiling

Straightforward discounts, coupons, quantity breaks and loyalty tiers are well handled. Highly conditional stacked promotions across channels can reach the edge of what is configurable and start needing development.

Offline POS has boundaries

The POS keeps selling through an outage, but not everything works offline — some payment and loyalty operations need the connection. Worth understanding precisely if your sites have genuinely unreliable internet.

Retail at scale needs tuning before it is stable

A store with 10,000-plus SKUs, hundreds of categories and several terminals is not an out-of-the-box configuration. As at Odoo 19 the experience is poor until the catalogue, the promotions and the server are tuned for it. All of it is fixable and we do it routinely, but budget two to four weeks of stabilisation on top of the build rather than meeting it at go-live.

How we work

Implementing Odoo retail with WAO Group

Every engagement starts with an Odoo Success Blueprint — a fixed-price scoping exercise where a solution architect configures and demonstrates your own process back to you before implementation is quoted. The implementation itself is billed on time, because retail scope moves once the stores see the system.

01

Channel and margin discovery

How a sale happens in each channel today, what it costs to serve, and where the numbers currently come from. This is where we find the channel that looked profitable and was not.

02

Product, pricing and customer data

Product master, variants, barcodes, price lists and the customer records from every channel — usually with substantial duplication to resolve. Almost always the longest task in the project.

03

Accounting design

Costing method, stock valuation, gift card and loyalty liability treatment, channel analytic structure, payment and fee mapping. Signed off with your accountant before anything is transacted.

04

POS, eCommerce and integration build

Store configurations, terminals, receipts, the online store or the storefront connector, fulfilment routes, click and collect and returns flows.

05

Migration and opening balances

Stock on hand at correct value per location, open orders, customer balances, outstanding gift cards and loyalty points, and an opening trial balance that reconciles.

06

Pilot store, then roll out

One store live first, running long enough to prove the day closes and the numbers reconcile, then the rest. We do not switch every site on the same morning.

How long it takes

A smaller retail build in the thirty to sixty thousand dollar range typically runs eight to ten weeks. A medium project of seventy to one hundred and twenty thousand runs five to seven months. Larger multi-store programmes from one hundred and fifty thousand upward run nine to twelve months. The largest source of delay is availability on the client side — data preparation and decisions. Where a client resources that properly, these timelines compress by roughly a fifth.

Retailers we have done this for

Sustainable apparel — multi-channel, multi-region

Boody

Three regional Shopify Plus stores across Australia, New Zealand and Europe, a B2B wholesale portal, and marketplace channels including The Iconic and David Jones — running on QuickBooks Commerce, Xero, Salesforce and a stack of third-party apps that had stopped scaling. We consolidated sales channels, inventory, accounting and CRM onto one Odoo platform, keeping the Shopify storefronts and making Odoo the source of truth behind them.

We worked with WAO for several years and always appreciated their team’s professionalism, responsiveness, and willingness to help us navigate complex ERP challenges.
Read the full case study
Wholesale distribution — B2B eCommerce

Alpha Six Three

A new wholesale distributor supplying local retailers, with no centralised system for inventory, ordering or customer management. We implemented Odoo with a custom B2B eCommerce portal so their retail customers order against their own pricing directly.

Read the full case study
Not just clients, but partners — working side by side to achieve mutual growth, year after year.
At Global Heritage they're always looking to the future. They know what they do has an impact.
Divine Cosmetics is a modern Australian company, specialising in the development and manufacture of heavenly skin care products. They have excellent research, packaging and shipping facilities in Sydney that enable them to provide an exceptional level of service and delivery to their customers.
LK&Co, accessible at lkco.com.au, is an Australian chartered accounting and business advisory firm.
Kelton Investment PTE Limited
Sensor Global is an Australian company that offers a diverse range of sensor products and services, catering to various sectors such as industrial automation, smart cities, environmental monitoring, and more.
Con-form Group is your one-stop-shop for light-weight mechanical plant platform and roof access solutions. We’re proud to say we are the market leader in the industry and have been for over 20 years.
SJS Trading Co. is an Australian-based company specializing in the import, export, and distribution of agricultural commodities and food products.
https://www.odoo.com/customers/armoury-group-6105082

What this makes possible

Retail support runs on the same twenty questions, answered over and over. Once orders, products and customers live in one system, those replies can be drafted from your own material for an agent to review before sending. AI for customer service sits behind your team rather than in front of your customers, which is a deliberate choice.

Retail and eCommerce questions we get asked

Can Odoo run my point of sale and my online store on the same stock?

Yes, and that is the main reason retailers move to it. The POS, the online store, any connected marketplace and your wholesale price list all read and write the same product records and the same quantities. A counter sale reduces what the website can sell in the same transaction rather than on an overnight sync, which is what removes overselling without holding buffer stock in every channel.

Does Odoo POS keep working if the internet goes down?

Largely, yes. The POS caches product and pricing data locally and continues taking sales through an outage, then synchronises when the connection returns. Some operations that depend on a live connection, including certain payment and loyalty functions, are the exception. If your sites have genuinely unreliable internet it is worth mapping precisely which operations you need offline before you commit.

Should I replace Shopify with Odoo eCommerce, or keep Shopify?

It depends on what your storefront is doing for you, and we will give you a straight answer rather than the one that sells more work. If the storefront is a serious merchandising and brand asset with heavy content and app dependencies, keep it and put Odoo behind it as the source of truth for stock, orders, customers and financials. If your pain is that the website and the back office disagree, moving onto Odoo eCommerce removes the sync layer and an entire category of problem with it. We have built both.

Can Odoo connect to Shopify, WooCommerce and Amazon?

Yes. Orders, customers, fulfilments and refunds flow into Odoo, and stock and pricing flow back out. Odoo has a native Amazon connector. Coverage of other marketplaces generally needs middleware, which is a real integration project rather than a checkbox, and it should be scoped and costed as one. The parts that need the most care are variant mapping, discount allocation across lines, partial refunds and marketplace commission — not the order feed itself.

Will it show me profitability by channel rather than just total sales?

Yes, provided the analytic structure is designed for it at the start. Analytic distributions tag revenue and cost by channel, store, brand or category independently of the chart of accounts. That is what makes it possible to see contribution after pick and pack, freight, gateway fees, marketplace commission and the return rate, which is where channel decisions should actually be made.

How does Odoo handle gift cards, loyalty points and store credit?

As liabilities on the balance sheet until they are redeemed, which is the correct treatment and not what many retail systems do by default. Gift cards and loyalty can be issued in one channel and redeemed in another from a single programme configuration. The accounting treatment is set at design time with your accountant, because unwinding it after a year of trading is genuinely painful.

Can it handle returns of online orders in a physical store?

Yes, and this is the flow that breaks most retail stacks. Odoo can find the original order and payment method, apply the correct tax treatment, refund or issue credit, and return the stock to the right location in either sellable or quarantined condition. It works when the return route is designed as part of the build rather than improvised at the counter.

What does an Odoo retail implementation cost in Australia?

It depends on scope, and we scope it before we quote it. Every engagement begins with an Odoo Success Blueprint, a fixed-price exercise in which a solution architect configures and demonstrates your process back to you, so the estimate is based on a demonstrated solution rather than a wish list. The implementation itself is billed on time rather than fixed price, because retail scope moves once the stores see the system. As a guide, smaller builds run eight to ten weeks and mid-sized programmes five to seven months.

Is Odoo the right fit for your business?

Seven questions, about two minutes. You will hear back from a solution architect who has delivered Odoo in Australia, not a call centre.

1. What brings you here today?
2. How many employees do you have?
3. What are you running today?
4. When do you want this live?
5. Do you have a budget approved?
6. Which areas do you need? Select all that apply
7. What is the single biggest problem you are trying to solve?

Where should we send it?

We will come back to you with an honest view, including if we think you should stay where you are.

Download: The CFO's Guide to De-risking Your ERP Implementation

Download: The CFO's Guide to De-risking Your ERP Implementation


Before you invest in any ERP, learn the 5 critical financial mistakes that lead to budget overruns and failed projects. This free guide provides a practical framework for ensuring your next systems project delivers a clear and measurable ROI.

Not ready to talk to us yet? Take the free 5‑minute ERP Readiness Scorecard and see exactly where you stand.