l10n_au_bas_report — a small, self-contained Business Activity Statement (GST
section) summary for Australian businesses running Odoo 19 Community, which
does not include the Enterprise-only l10n_au_reports module.
Built and used in production by a GST-registered small business. LGPL-3, free.
Adds Invoicing → Reporting → BAS Summary: pick a date range (defaults to the last completed calendar quarter), hit Compute, and get:
| Label | Description |
|---|---|
| G1 | Total sales (GST-inclusive) |
| G2 | Export sales |
| G3 | Other GST-free sales |
| G10 | Capital purchases (GST-inclusive) |
| G11 | Non-capital purchases (GST-inclusive) |
| 1A | GST on sales |
| 1B | GST on purchases |
| 9 | Net GST payable / refundable (1A − 1B) |
- Cash or accrual basis, automatically. The report follows your company's tax exigibility setting. With Odoo's native cash basis enabled (taxes exigible on payment), the tax grids are populated by the Cash Basis Taxes journal at payment date, so the report is inherently cash basis. Otherwise it is accrual. The active basis is shown on the report.
- Drill-down from every label to the underlying journal items, so you can audit each figure before lodging.
- PDF export with your company letterhead, ABN, and period.
- "Tax Invoice" retitling: customer invoices that charge GST are titled Tax Invoice instead of Invoice, as the ATO requires for GST-registered entities. Invoices with no GST keep the plain Invoice title.
Only posted journal entries are counted. Credit notes correctly reduce the labels. Amounts display with cents — round to whole dollars when copying onto the BAS form (the ATO wants whole dollars).
This covers the GST section of the BAS only (which is all of Simpler BAS: G1, 1A, 1B — the other G labels are shown for your own reconciliation). It does not handle:
- PAYG withholding (W1–W5) or PAYG instalments (T labels)
- Fuel tax credits, wine equalisation tax, luxury car tax
- GST adjustments (G7/G18) — post adjustment journal entries with the appropriate tax instead
- Lodgment — it produces figures for you to enter into ATO Online Services or give to your BAS agent
This is not tax advice. Always check the figures against your records before lodging, and ask your accountant or BAS agent if unsure.
- Odoo 19 Community (it also installs on Enterprise, but Enterprise users
should use the built-in
l10n_au_reportsinstead) - The standard
account(Invoicing) app - AU tax-grid tags (G1, G2, G3, G10, G11) available and assigned to your GST taxes — see Configuration below
- Download or clone this repository.
- Copy the
l10n_au_bas_reportfolder into your Odoo addons path (e.g./mnt/extra-addonsfor the official Docker image, or any directory listed inaddons_pathinodoo.conf). - Restart Odoo.
- Activate developer mode, go to Apps → Update Apps List, then search for Australian BAS Summary and install it.
The report works by summing posted journal items that carry the AU tax-grid tags. Everything below is about making sure your GST taxes put those tags on your journal items. How your journal items are tagged is your responsibility — verify a quarter against your records before relying on it.
If your company was created with Australia as its country, Odoo installed
l10n_au and its chart of accounts, and your default GST taxes already map to
the G-label tax grids. Check under Invoicing → Configuration → Taxes → (your
10% GST taxes) → Advanced Options / tax grids:
- Your 10% sales tax should report into G1 (base and tax lines)
- Your 10% purchase tax should report into G11 (base and tax lines)
One thing the stock localisation does not give you is a separate capital purchases tax. If you buy assets (vehicles, equipment) create one:
- Copy your 10% purchase GST tax and name it e.g. GST 10% (Capital).
- On its distribution lines (invoice and refund, base and tax rows), replace the G11 tag with G10.
- Use this tax on asset purchases so they land in G10 instead of G11.
You can still use this module — this is exactly how the author runs it:
-
Install the
l10n_aumodule (Apps → search "Australia"). Installing the module makes the AU tax report and its tax-grid tags available; it does not switch your existing chart of accounts or modify your data. -
Set your company's fiscal country to Australia (Settings → Companies) if it isn't already, and put your ABN in the company VAT/Tax ID field so it prints on the report.
-
Edit each of your GST taxes (Invoicing → Configuration → Taxes, with developer mode on so the distribution lines are visible) and add the right tag to all four distribution rows — invoice base, invoice tax, refund base, refund tax:
- 10% sales tax → G1
- GST-free / export sales taxes (0%) → G2 (exports) or G3 (other GST-free)
- 10% purchase tax → G11
- 10% capital-purchase tax → G10 (duplicate the purchase tax if you don't have one)
Tagging both base and tax rows is what makes G1/G10/G11 GST-inclusive, as the BAS form expects.
If a tag is missing the wizard tells you exactly which one, rather than reporting a wrong number.
If you report GST on a cash basis (common for small businesses — you account for GST when money moves, not when invoices are raised):
- Invoicing → Configuration → Settings → Taxes: enable Cash Basis, pick a Tax Cash Basis Journal (create a miscellaneous journal, e.g. "Cash Basis Taxes"), and save.
- Create two reconcilable transition accounts, e.g. GST Collected (in transit) (current liability) and GST Paid (in transit) (current asset).
- On each GST tax, set Tax Due to Based on Payment and set the Cash Basis Transition Account to the matching transition account.
From then on Odoo moves GST from the transition account to your GST accounts at payment date, the tax grids are fed at payment date, and this report is automatically cash basis — the wizard's Basis line will read "Cash (payments)". No setting in this module needs changing. Note this applies from setup onward; invoices posted before enabling cash basis keep their original tax treatment.
- Invoicing → Reporting → BAS Summary
- Adjust the period if needed (defaults to the last finished quarter) and click Compute.
- Click ⤷ lines next to any label to inspect the journal items behind it.
- Click Print PDF for a copy to file with your working papers.
- Round to whole dollars and enter the figures in ATO Online Services.
Access is granted to users in the Invoicing / Billing group and above.
odoo -d <test-db> -i l10n_au_bas_report --test-tags /l10n_au_bas_report --stop-after-initThe suite covers accrual amounts, GST-inclusive labels, capital vs non-capital purchases, period filtering, draft/untagged exclusion, credit notes, and cash basis timing (unpaid invoices excluded, payment date drives the period).
Issues and pull requests are welcome. This module is deliberately small
(~150 lines of Python, no stored models, no dependencies beyond account) —
please keep contributions in that spirit.
LGPL-3.0 — see LICENSE.
Copyright © 2026 Peachester Rural Services. Not affiliated with the ATO or Odoo S.A.