Peppol e-invoicing is the ATO-backed way to send and receive invoices as structured data between finance systems, rather than as PDFs emailed between inboxes. Odoo ships native Peppol BIS Billing 3.0 support for Australia, and since Odoo 17 it acts as its own access point — so an Australian business running Odoo Accounting can register its ABN, connect to the ATO-operated Peppol network, and send compliant e-invoices without third-party middleware. This guide explains how it works, what it costs, where the mandate sits today, and the failure modes we see in the field.
What Peppol e-invoicing actually is
Peppol stands for Pan-European Public Procurement On-Line, a name that has long outgrown its origins. It’s now a global four-corner network operated in Australia by the Australian Taxation Office, which became the local Peppol Authority in 2019. A supplier sends an invoice from their accounting system to their access point; that access point routes the invoice across the network to the buyer’s access point; the buyer’s finance system receives it as a structured XML document in the Peppol BIS Billing 3.0 format. No PDF, no email, no data entry at the receiving end.
The document itself is machine-readable. Line items, GST codes, ABN, payment terms, bank account — every field has a defined place, so the buyer’s AP system can post a draft vendor bill automatically. A correctly issued Peppol invoice is, in effect, a pre-typed bill.
One rule of thumb we give clients: if your accounts team is currently keying invoices from a shared Gmail inbox, Peppol replaces that entire workflow with about two clicks.
How Odoo’s Peppol integration is configured
Setting up Peppol in Odoo isn’t difficult, but it’s exacting. Every field flows through to the ATO’s validation layer, and one wrong identifier can leave you invisible on the network. We walk every client through the three-step path below before going live.
Registering your ABN as a Peppol participant
Odoo’s Accounting module includes a Peppol onboarding wizard under Settings → Accounting → Customer Invoices → Peppol. You enter the business’s ABN, company legal name, registered email and phone. Odoo submits a registration request to its built-in access point, which issues a verification code back to the nominated email. The ABN is then bound to Odoo’s access point in the Peppol SMP (service metadata publisher) directory. This is how other senders on the network discover that your ABN is reachable and that Odoo is the destination.
Contact verification and onboarding suppliers
For each contact that trades via Peppol — customer or supplier — the Peppol endpoint type and value need to be set on the contact record. In Australia, the standard scheme is 0151 (ABN). Odoo validates that the supplier’s ABN resolves on the network before the invoice is sent; if the ABN isn’t registered, the send silently fails or falls back to email depending on how you’ve configured the partner. We set a Peppol lookup check into the contact save routine on every client build so a sales rep never creates an unreachable customer.
Peppol codes and product records
Every product line needs a valid unit-of-measure code and a GST tax that maps to a UN/CEFACT tax category (S for standard-rated, Z for GST-free, E for exempt). The Australian localisation pre-populates these mappings, but custom tax groups introduced during a MYOB or Xero migration often miss them. We audit every tax record at cutover. A missing category code is the single most common reason an invoice validates in Odoo and then rejects at the buyer’s access point.
Sending Peppol invoices from Odoo
Once configuration is live, sending is almost anticlimactic. The accounts user clicks Confirm on the invoice and then Send & Print. The send-method selector now includes a “by Peppol” option; Odoo serialises the invoice to BIS Billing 3.0 XML, hands it to its access point, and returns a status. Within seconds the status moves from Processing to Done, and the invoice record shows the Peppol message ID in the chatter.
If the buyer’s system acknowledges receipt, the invoice’s Peppol status updates to Accepted. If their access point rejects it — usually because a mandatory field is blank or a tax code doesn’t match — you get the reason in plain English against the invoice, not a cryptic XML fault. That transparency is the single biggest quality-of-life improvement over homegrown EDI.
Receiving vendor bills via Peppol
Inbound is where the real labour-saving shows. When a supplier sends your ABN a Peppol invoice, Odoo’s access point routes it into your Vendor Bills list as a draft. The supplier is matched by ABN, the GL account is proposed from prior bills, and line items are pre-coded. A bookkeeper reviews and posts. For a business receiving two hundred bills a month, we’ve seen AP hours drop by sixty percent inside the first quarter.
One operational detail: Odoo creates the draft vendor bill in the specific company on the database matched by ABN. In multi-company setups — a holding company plus two trading entities, say — each company registers its own ABN on Peppol, and inbound mail routes to the right ledger automatically.
Australian localisation context — GST, BAS, ABA
Peppol doesn’t replace the rest of the Australian compliance stack; it snaps into it. The invoice carries GST amounts that post straight into the BAS Type A report; the payment side still uses ABA files uploaded to ANZ, NAB, CBA or Westpac business banking; payroll still flows through STP Phase 2 with Employment Hero or Odoo’s native payroll. Peppol is the last-mile replacement for a single step in the receivables and payables loop, not a new compliance regime.
This matters at scoping time. Clients sometimes assume switching on Peppol will simplify BAS or bank recs. It won’t. What it does is remove the invoice-delivery cost and the data-entry cost on both sides of a transaction. For a Perth wholesaler we implemented for, with about four hundred monthly invoices out and three hundred in, the direct saving came to roughly forty-five hours of staff time per month once suppliers were migrated across.
The ATO and Commonwealth mandate timeline — what changes when
There’s no mandatory Peppol date for the private sector in Australia as of April 2026. The milestones that matter are these: on 1 July 2022, all Commonwealth Government agencies became required to receive Peppol invoices, meaning any business selling to a department can already transact this way. The 2023-24 federal Budget funded an expansion of Business eInvoicing Right (BER), which gives large businesses a time-limited right to request Peppol from their trading partners. Treasury consultation on a broader mandate is ongoing but no legislation has been enacted.
Practically, that means two things. If you sell to government — health departments, Defence, the ATO itself, state agencies that have adopted the network — you already need Peppol or you’re losing efficiency points at contract time. If you sell to large corporates such as Telstra, Woolworths or a Big Four bank, expect BER requests to arrive within the next 12-24 months. Implementing Peppol on Odoo ahead of those requests is the cheapest posture; retrofitting during a procurement window is more expensive and rushed. We typically bundle the Peppol configuration into a standard Odoo implementation at no extra charge, precisely because doing it then is fifteen hours of work rather than a standalone project later.
The true cost of running Peppol on Odoo versus email PDFs and ABA
There is no per-invoice fee on Odoo’s Peppol integration. Your cost is the Odoo Enterprise subscription — about $34 AUD per user per month for all apps as of early 2026 — plus the implementation time to configure contacts and taxes correctly. Most Australian SMEs we work with get their Peppol flow live inside a day of consultant time, usually bundled into a broader Accounting rollout.
Compare that with the status quo. Emailing PDFs and rekeying them costs between $15 and $30 per invoice on the receiving side according to Australian Small Business and Family Enterprise Ombudsman figures — staff time, error correction, late-payment interest. Middleware-based EDI on other platforms typically adds $0.20 to $1.50 per document plus a monthly minimum. Net of the Odoo Enterprise fee, most clients clear the investment inside the first 60 days of Peppol use. A twelve-user manufacturer on Odoo we implemented for eliminated a $28,000-per-year bookkeeping contract when AP rekeying stopped being a job.
The honest trade-off: Peppol only pays off if your trading partners are on the network. In a supplier base still dominated by tradies invoicing from Tradify or ServiceM8, the saving accumulates slowly. In a supplier base full of Xero, MYOB Acumatica and Odoo businesses, it compounds fast.
Peppol cutover and deregistration — changing access points
This is the least-written-about part of Peppol and the part that causes the most pain. When a business moves from one access point to another — say, from a Xero-plus-middleware setup to Odoo’s built-in access point — the ABN needs to be deregistered from the old SMP entry and re-registered against the new one. If the sequencing is wrong, the network can route inbound invoices to an address that no longer accepts them. You lose bills.
Our cutover plan is always the same. We stand up Odoo with Peppol configured in receive-only mode on the go-live weekend. The previous access point is left active to catch any in-flight bills. On day seven, we request deregistration of the old access point via its provider; that typically completes within 48 hours at the ATO’s SMP. Only then do we switch Odoo’s Peppol access point to send and receive. The overlap costs a week of parallel cost on the outgoing platform and preserves the continuity of the inbound flow. It’s the same principle we apply to our MYOB to Odoo migration playbook — cut once, and cut cleanly.
Where Peppol breaks, and how we work around it
Peppol isn’t magic, and three things go wrong in the field more than the documentation admits. First, supplier ABN data is frequently wrong in a migrated chart of contacts. We run an ABR lookup script on every contact at cutover; between five and fifteen percent of ABNs need correction before they’ll route. Second, multi-line BPAY invoices with reference numbers that vary per line don’t map cleanly into BIS Billing 3.0’s single-reference model; we configure a custom field to surface the primary reference and fall back to email PDF for the exceptions. Third, credit notes raised against invoices originally emailed rather than sent via Peppol can’t be transmitted as Peppol credits to the same buyer; the message chain needs to start clean. For those buyers, we migrate the first invoice of a new billing cycle to Peppol rather than retrofitting a credit to an old document.
None of this is disqualifying. It’s the same class of edge case that exists with any networked protocol — the fixes are rarely documented by the platform itself. Treat these as implementation items, not reasons to delay. The same trade-offs are called out in our comparison of Odoo vs Xero for Australian businesses, because Xero’s Peppol implementation handles the network differently but hits an overlapping set of real-world snags.
If you’re scoping an Odoo rollout and want Peppol configured cleanly from day one — or already on Odoo and want the integration audited against your actual supplier base — we’d be happy to talk it through. Our implementation method bakes Australian compliance in at day one rather than bolting it on. Reach out through the contact form and we’ll respond within a business day.
Frequently asked.
Is Peppol mandatory in Australia?
Not for the private sector. Since July 2022 every Commonwealth agency has been required to receive Peppol invoices, and the ATO — the local Peppol Authority — has signalled broader adoption. Most Australian SMEs adopt Peppol voluntarily: to trade cleanly with government customers, or to retire the cost of emailing and re-keying PDFs.
Is Odoo a Chinese company?
No. Odoo S.A. is Belgian, headquartered in Ramillies near Brussels, with regional offices including Sydney and Hong Kong. The source code is open-source under LGPL for Community and a commercial licence for Enterprise. Australian customers are served by the local Odoo office and an accredited partner network.
What is the disadvantage of using Odoo?
Odoo rewards investment and punishes shortcuts. There's more to configure than Xero or MYOB, upgrades land yearly, and poor implementations produce cluttered systems staff don't trust. The Australian localisation is mature but needs a partner who understands ATO quirks — GST clearing, BAS types, STP Phase 2 and Peppol.
Does Odoo support e-invoicing?
Yes. Odoo ships native Peppol BIS Billing 3.0 support in the Accounting module, certified for the Australia and New Zealand network. Odoo acts as its own Peppol access point through a built-in integration, so you don't need a separate middleware subscription to send or receive compliant e-invoices.
What is Peppol in Australia?
Peppol is a global network for exchanging structured business documents. The Australian Taxation Office is the local Peppol Authority and has operated the Australian network since 2019. It lets two trading partners send invoices directly between their finance systems as machine-readable XML, rather than as PDFs attached to email.
Is Peppol only for e-invoicing?
No. Peppol was built for any structured trade document — orders, order responses, despatch advices, invoices, credit notes and invoice responses. In Australia, the ATO's rollout focused on invoices because they're the highest-volume document. Odoo supports invoice and credit-note flows today, with order flows maturing over coming releases.