Skip to content
Auboros

Odoo Australian Localisation: GST Codes, the BAS Report, TPAR and ABA Files in Odoo 18 to 20

Odoo's Australian localisation: 16 GST codes, a BAS report with ten return types, TPAR and ABA files. The BAS is keyed into the ATO portal, not lodged.

By Josh Craig, Managing Director, Auboros · · Updated

Updated 21 October 2026: this post now covers the accounting side of the Odoo Australian localisation only, verified against the Odoo 20.0 source and documentation. Payroll and STP material removed, the BAS return list corrected to the ten types Odoo 19 and 20 define, the calendar-quarter claim corrected, Peppol, ABA and deferred GST sections added, FAQ moved to the page schema.

Odoo’s Australian localisation installs the chart of accounts, 16 GST tax codes and fiscal positions in Community and Enterprise, and adds the Business Activity Statement (BAS) report, the Taxable Payments Annual Report (TPAR), ABA batch payment files and deferred GST handling in Enterprise. Odoo 19 and 20 define ten BAS return types. The BAS is computed in Odoo and keyed into the ATO portal, not lodged from Odoo.

At a glance

  • Who it is for: Australian businesses evaluating Odoo, or already live on Odoo 18, 19 or 20, who want to know what the localisation covers for GST, BAS, TPAR and bank payments before relying on it
  • Problem it solves: Separating what the base Community module installs from what Enterprise adds, and which claims about BAS lodgement, quarters and e-invoicing are true in the current release
  • Platforms: Odoo 18, 19 and 20, Community and Enterprise, with the Australia fiscal localisation package selected
  • Typical cost: Our Odoo packages are on the Odoo implementation cost in Australia page; licence pricing is in our Odoo pricing guide
  • Typical timeline: The accounting localisation is configured in the first phase of every implementation we run; the phase-by-phase breakdown is in our Odoo implementation guide for Australia
  • Last verified: 21 October 2026 against the Odoo 20.0 Australia localisation documentation, the l10n_au_reports module source for 18.0, 19.0 and 20.0, and the ATO BAS guide

If you are evaluating Odoo for an Australian business, or you are live and wondering whether the compliance side is set up properly, the answer is: yes, Odoo handles GST and BAS reporting for Australia, as long as you are on Enterprise and the tax codes, fiscal positions and tax groups are configured before the first invoice. The longer answer is about which layer does what, and about three claims that circulate in partner marketing and are not true. We work through all of it below. Payroll is a separate module and is not covered here.

What does the Odoo Australian localisation include?

The localisation is not one module. Odoo’s documentation lists two accounting modules that install automatically when the Australia fiscal localisation package is selected: Australia - Accounting (l10n_au), the base module that also installs the ABA Credit Transfer module, and Australian Reports - Accounting (l10n_au_reports), which adds the TPAR and the BAS report. The documentation also notes that users of the Australian localisation cannot deactivate two-factor authentication, because the Australian government requires it.

Community vs Enterprise: what each edition provides

The base module installs the Australian chart of accounts, the GST tax codes, the tax grids behind them and the fiscal positions. That layer is the same in Community and Enterprise, so a Community database invoices with the right GST treatment and posts to the right accounts.

The BAS report, the TPAR and the closing entry depend on the Enterprise reporting modules. The l10n_au_reports manifest in the 20.0 source lists account_reports and account_reports_cash_basis as dependencies, and it auto-installs when both l10n_au and account_reports are present. A GST-registered business on Community has the chart and the codes but no BAS report, which is the gap to be clear-eyed about before committing to a Community build; our post on Odoo Community plus Xero is the honest version of that trade-off. What our Odoo services include across both editions is on the services page.

Which GST codes does Odoo set up for Australia?

Tax names in the Australian localisation carry the rate in the name. The tax mapping in the 20.0 documentation lists five sales taxes and eleven purchase taxes, 16 in all. On the sales side: 10% GST, 0% EX (GST free on export sales), 0% F (GST free sales), 0% INP (input taxed sales) and a 100% adjustment tax. On the purchase side: 10% GST, 10% C (capital purchases), 10% INP (purchases for input taxed sales), 10% PRIV (private or non-deductible), 0% F (GST free purchases), 0% TPS (taxable imports, GST paid separately), 100% ONLY (GST only on imports), 100% Adj, 100% DGST (deferred GST liability), the no-ABN withholding tax, and PAYGW W3 for other amounts withheld.

Two things trip people up. First, every purchase tax has TPAR variants (with ABN and without) that are inactive by default; they only matter if you are in a TPAR industry, and they are switched on through fiscal positions. Second, the 100% DGST tax and its 21340 Deferred GST Liability account are inactive by default too. Importers on the deferred GST scheme activate the tax, set the tax return periodicity to monthly, and record the monthly deferred balance as a journal entry because, per the documentation, Odoo does not yet fetch the DGST balance from the ATO. Our post on Odoo landed costs and deferred GST walks through that flow.

Does Odoo handle GST and BAS reporting in Australia?

Yes, on Enterprise. The BAS Report (AU) opens from the Accounting dashboard under Miscellaneous Operations. Base and tax amounts are collected from the tax grids pre-configured on each tax, so once the codes are on the right products and journals, journal items slot into the right BAS boxes without manual coding. The grids can be extended by hand for special cases; the documentation gives wine equalisation tax as the example.

Which BAS form does Odoo use?

Earlier versions of this post listed seven forms. The 20.0 source defines ten BAS return types as account returns: A, C, D, F, G, U, V, W, X and Y, each with a default periodicity (quarterly for most, monthly for G and Y) that you change to match your ATO registration. Confirm the form with your accountant before go-live rather than assuming BAS A; the ATO’s BAS guide covers each case. Set your tax return periodicity under Accounting, Configuration, Settings, and set the GST payable and GST receivable accounts on the tax groups before the first closing. Odoo prompts you if they are missing, but it is easy to skip in a busy go-live.

Closing the period and paying the ATO

When the period is done, Closing Entry generates the journal entry that nets GST receivable against GST payable through the tax clearing account on the tax group. The amount owed to or due from the ATO then reconciles against the bank statement. Two corrections to what we and others have published before. The documentation states that Odoo uses calendar quarters rather than Australian financial-year quarters, so July to September shows as Q3 in Odoo; that is true in 20.0 and was not fixed in 19. And the BAS is not submitted to the ATO from Odoo. Odoo computes the figures and lets you audit them; you copy them into the ATO portal or your BAS agent lodges them.

How does TPAR work in Odoo?

The Taxable Payments Annual Report is a separate ATO obligation for businesses in building and construction, cleaning, courier and road freight, IT and security services, due by 28 August each year. The l10n_au_reports module generates it under Accounting, Reporting. It works off fiscal positions: assign the TPAR fiscal position (with ABN or without) to each contractor on the vendor record before you bill them, and the tax mapping tags the journal items. The report shows ABN, total GST, gross paid once the bill is marked paid, and tax withheld for no-ABN contractors, and it exports to PDF, XLSX and the ATO’s TPAR format. The module validates ABNs on the way out. Set the fiscal positions on day one; retro-tagging a year of supplier bills before August is miserable work, which is why our Odoo accounting in Australia guide puts it in the go-live checklist.

ABA files, remittance advice and Peppol

Three smaller pieces round out the localisation.

  • ABA batch payments. The ABA Credit Transfer module, installed with l10n_au, generates the Australian Banking Association file banks accept for bulk payments. You enable Batch Payments, enter the BSB, financial institution code, supplying user name and APCA number on the bank journal, add bank details to each vendor, pay bills with the ABA Credit Transfer method and create a batch; the file appears in the chatter for upload to the bank portal. Our accounts payable post covers the full run.
  • Remittance advice. Printed from Accounting, Vendors, Payments as a payment receipt.
  • Peppol e-invoicing. The documentation states Odoo is compliant with Australia’s Peppol requirements and that validating an invoice or credit note for a partner on the Peppol network downloads a compliant XML file for manual upload to your access point. As at 21 October 2026 the same page says Odoo is in the process of becoming an access point for the ANZ region, so treat native sending as planned.

What changed from Odoo 18 to Odoo 20 for Australian accounting?

Less than the marketing suggests, and the source is the place to check. In the 18.0 Enterprise source, l10n_au_reports ships the TPAR report data; the BAS report records live in the base module. In 19.0 the module gains the ten BAS account return types and a custom BAS report handler that calculates quarter percentages, and that structure carries into 20.0 unchanged apart from an internal refactor of the reporting engine. The tax list, the TPAR variants, the DGST flow, the ABA module and the Peppol XML download are the same in the 18.0, 19.0 and 20.0 documentation.

Table: What the Odoo Australian accounting localisation covers by edition and version, as at 21 October 2026
CapabilityCommunityEnterprise 18Enterprise 19 and 20
Chart of accounts, 16 GST codes, fiscal positionsYesYesYes
BAS Report (AU) with tax grids and closing entryNoYesYes
BAS forms tracked as account returnsNoNoTen types (A, C, D, F, G, U, V, W, X, Y)
TPAR with ABN validation and TPAR file exportNoYesYes
ABA credit transfer filesYesYesYes
Deferred GST tax and accountYes, inactive by defaultYes, inactive by defaultYes, inactive by default
PeppolXML download on validationXML download on validationXML download on validation; access point planned
Lodgement to the ATO from OdooNoNoNo

“Every Australian Odoo database we have inherited had the same two faults: tax groups without GST payable and receivable accounts, and contractors billed before their TPAR fiscal position was set. Neither shows up until the first closing. Both take ten minutes to set on day one.”

Josh Craig, Director, Auboros

Is Odoo a good ERP for Australian businesses?

For the accounting side, the localisation is complete enough that we run it for every Australian client without a third-party tax module: the codes map to the BAS boxes, the closing entry is automatic, TPAR and ABA are in the box, and deferred GST is handled with a monthly journal. The two limits worth knowing are that the BAS is keyed into the ATO portal rather than lodged, and that the quarter labels follow the calendar year. Neither has cost a client a lodgement. For an Odoo partner in Brisbane the configuration order matters more than the feature list: tax groups, fiscal positions, then products, then the first invoice.

Goes well with

Getting the Australian localisation configured correctly from day one

We implement Odoo for businesses across Queensland, NSW and Victoria from Brisbane, with the chart, GST codes, tax groups, TPAR fiscal positions and ABA journals set before the first live transaction. If you are planning a new implementation or checking a database you inherited, book a free consultation. We will walk the BAS and TPAR setup against your registration and flag what needs fixing before the next closing.

FAQ

Frequently asked questions

Does Odoo Community include BAS reporting?

No. Community installs the Australian chart of accounts, the GST tax codes and fiscal positions, so invoices and bills carry the right GST treatment. The BAS Report (AU), the closing entry and the TPAR depend on the Enterprise reporting modules (account_reports and account_reports_cash_basis), which l10n_au_reports requires. A GST-registered business on Community prepares its BAS outside Odoo.

Does Odoo lodge the BAS with the ATO?

No. Odoo computes every BAS box from the tax grids and lets you audit the figures back to the journal items, but the documentation states the report is not submitted to the ATO. You copy the values into the ATO portal or your BAS agent lodges them. Odoo also labels quarters by the calendar year, so July to September appears as Q3.

Which GST codes does Odoo use in Australia?

Sixteen taxes with the rate in the name: five sales taxes (10% GST, 0% EX export, 0% F GST-free, 0% INP input taxed, 100% adjustment) and eleven purchase taxes including 10% GST, 10% C capital, 10% INP, 10% PRIV, 0% F, 0% TPS for imports with GST paid separately, 100% ONLY GST on imports, 100% DGST deferred GST, no-ABN withholding and PAYGW W3. TPAR variants of the purchase taxes are inactive until a TPAR fiscal position is used.

Does Odoo produce the Taxable Payments Annual Report?

Yes, on Enterprise. Assign the TPAR fiscal position (with ABN or without) to each contractor before billing them. The report lists ABN, total GST, gross paid once bills are paid, and tax withheld for no-ABN contractors, validates ABNs, and exports to PDF, XLSX and the ATO TPAR file format. It is due by 28 August each year.

Can Odoo generate ABA files for bank payments?

Yes, in Community and Enterprise. The ABA Credit Transfer module installs with the Australian localisation. Enable Batch Payments, add the BSB, financial institution code, supplying user name and APCA number to the bank journal, record vendor bank accounts, pay bills with the ABA Credit Transfer method and create a batch. The ABA file appears in the chatter for upload to your bank portal.

Want help with your own implementation?

We're a Brisbane-based Odoo Silver Partner and MYOB Acumatica Partner. Book a free consultation and get a straight answer.