Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p

## [Unreleased]

### Added

- `au`: Added the Australian GST regime.

## [v0.309.0] - 2026-04-01

### Added
Expand Down
112 changes: 112 additions & 0 deletions data/regimes/au.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
{
"$schema": "https://gobl.org/draft-0/tax/regime-def",
"name": {
"en": "Australia"
},
"description": {
"en": "Australia's indirect tax system is administered by the Australian\nTaxation Office (ATO). Goods and Services Tax (GST) applies at a\nstandard rate of 10%. Supplies may also be GST-free (for example, many\nexports) or input-taxed (for example, certain financial supplies and\nresidential rent). In GOBL's generic GST model, GST-free supplies map to\nthe zero key and input-taxed supplies map to the exempt key.\n\nBusinesses are identified by an Australian Business Number (ABN), an\n11-digit identifier used for GST registration and invoicing. Australian\ntax invoices must show the supplier's details and ABN, and invoices of\nAUD 1,000 or more, or self-billed invoices, must also identify the\ncustomer. Electronic invoicing is aligned with the Peppol PINT A-NZ\nspecification."
},
"sources": [
{
"title": {
"en": "ATO - GST"
},
"url": "https://www.ato.gov.au/businesses-and-organisations/gst-excise-and-indirect-taxes/gst"
},
{
"title": {
"en": "ATO - Tax invoices"
},
"url": "https://www.ato.gov.au/businesses-and-organisations/gst-excise-and-indirect-taxes/gst/tax-invoices"
},
{
"title": {
"en": "Peppol PINT A-NZ BIS"
},
"url": "https://docs.peppol.eu/poac/aunz/pint-aunz/bis/"
},
{
"title": {
"en": "ATO - eInvoicing"
},
"url": "https://www.ato.gov.au/businesses-and-organisations/invoicing-and-using-accounting-software/einvoicing"
}
],
"time_zone": "Australia/Sydney",
"country": "AU",
"currency": "AUD",
"tax_scheme": "GST",
"corrections": [
{
"schema": "bill/invoice",
"types": [
"credit-note",
"debit-note"
]
}
],
"categories": [
{
"code": "GST",
"name": {
"en": "GST"
},
"title": {
"en": "Goods and Services Tax"
},
"keys": [
{
"key": "standard",
"name": {
"en": "Standard"
}
},
{
"key": "zero",
"name": {
"en": "Zero"
}
},
{
"key": "exempt",
"name": {
"en": "Exempt"
},
"no_percent": true
},
{
"key": "outside-scope",
"name": {
"en": "Outside scope"
},
"no_percent": true
}
],
"rates": [
{
"rate": "general",
"keys": [
"standard"
],
"name": {
"en": "General rate"
},
"values": [
{
"since": "2000-07-01",
"percent": "10%"
}
]
}
],
"sources": [
{
"title": {
"en": "ATO - GST"
},
"url": "https://www.ato.gov.au/businesses-and-organisations/gst-excise-and-indirect-taxes/gst"
}
]
}
]
}
4 changes: 4 additions & 0 deletions data/schemas/tax/regime-code.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@
"const": "AT",
"title": "Austria"
},
{
"const": "AU",
"title": "Australia"
},
{
"const": "BE",
"title": "Belgium"
Expand Down
41 changes: 41 additions & 0 deletions examples/au/invoice-au-au.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
$schema: https://gobl.org/draft-0/bill/invoice
$regime: AU
uuid: 2d301f3b-370a-4e15-a554-a8e05f61e93b
currency: AUD
series: "2026"
code: "AU0001"
issue_date: "2026-04-03"

supplier:
name: Example Supplier Pty Ltd
tax_id:
country: AU
code: "51824753556"
addresses:
- street: George Street
num: "100"
locality: Sydney
region: NSW
code: "2000"
country: AU

customer:
name: Example Customer Pty Ltd
addresses:
- street: Collins Street
num: "200"
locality: Melbourne
region: VIC
code: "3000"
country: AU

lines:
- quantity: "1"
item:
name: Software engineering services
price: "900.00"
unit: h
taxes:
- cat: GST
rate: general
key: standard
95 changes: 95 additions & 0 deletions examples/au/out/invoice-au-au.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
{
"$schema": "https://gobl.org/draft-0/envelope",
"head": {
"uuid": "8a51fd30-2a27-11ee-be56-0242ac120002",
"dig": {
"alg": "sha256",
"val": "9b83035fda7d9f82243097be6bfdfc321d431f25d4d355b2a00700ed5c9b6687"
}
},
"doc": {
"$schema": "https://gobl.org/draft-0/bill/invoice",
"$regime": "AU",
"uuid": "2d301f3b-370a-4e15-a554-a8e05f61e93b",
"type": "standard",
"series": "2026",
"code": "AU0001",
"issue_date": "2026-04-03",
"currency": "AUD",
"supplier": {
"name": "Example Supplier Pty Ltd",
"tax_id": {
"country": "AU",
"code": "51824753556"
},
"addresses": [
{
"num": "100",
"street": "George Street",
"locality": "Sydney",
"region": "NSW",
"code": "2000",
"country": "AU"
}
]
},
"customer": {
"name": "Example Customer Pty Ltd",
"addresses": [
{
"num": "200",
"street": "Collins Street",
"locality": "Melbourne",
"region": "VIC",
"code": "3000",
"country": "AU"
}
]
},
"lines": [
{
"i": 1,
"quantity": "1",
"item": {
"name": "Software engineering services",
"price": "900.00",
"unit": "h"
},
"sum": "900.00",
"taxes": [
{
"cat": "GST",
"key": "standard",
"rate": "general",
"percent": "10%"
}
],
"total": "900.00"
}
],
"totals": {
"sum": "900.00",
"total": "900.00",
"taxes": {
"categories": [
{
"code": "GST",
"rates": [
{
"key": "standard",
"base": "900.00",
"percent": "10%",
"amount": "90.00"
}
],
"amount": "90.00"
}
],
"sum": "90.00"
},
"tax": "90.00",
"total_with_tax": "990.00",
"payable": "990.00"
}
}
}
47 changes: 47 additions & 0 deletions regimes/au/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Australia (`AU`)

Australia uses a Goods and Services Tax (GST) system administered by the Australian Taxation Office (ATO). GOBL models the Australian regime with a 10% standard GST rate, support for GST-free and input-taxed supplies through the generic GST key model, ABN validation, and invoice validation rules for supplier and customer identification.

## Public Documentation

- [ATO - GST](https://www.ato.gov.au/businesses-and-organisations/gst-excise-and-indirect-taxes/gst)
- [ATO - Tax invoices](https://www.ato.gov.au/businesses-and-organisations/gst-excise-and-indirect-taxes/gst/tax-invoices)
- [ABR - ABN format](https://abr.business.gov.au/Help/AbnFormat)
- [Peppol PINT A-NZ BIS](https://docs.peppol.eu/poac/aunz/pint-aunz/bis/)

## Tax Identity (ABN)

Australian businesses are commonly identified by an Australian Business Number (ABN). The ABN is 11 digits long, usually written with spaces for display, but normalized in GOBL without separators.

Validation follows the ABR checksum algorithm:

| Position | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Weight | 10 | 1 | 3 | 5 | 7 | 9 | 11 | 13 | 15 | 17 | 19 |

Comment on lines +18 to +21
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Markdown tables use a double leading pipe (|| ...) which creates an extra empty first column in most renderers. Consider changing these rows to a single leading | so the table renders as intended (e.g., | Position | 1 | 2 | ... |).

Copilot uses AI. Check for mistakes.
1. Subtract 1 from the first digit.
2. Multiply each digit by its weight.
3. Sum the products.
4. The total must be divisible by 89.

## GST

Australian GST distinguishes between taxable supplies, GST-free supplies, and input-taxed supplies. GOBL keeps Australia on the shared GST model and maps those concepts as follows:

| Australian concept | GOBL key / handling | GST treatment |
| --- | --- | --- |
| Taxable supply | `standard` / `general` | 10% GST |
| GST-free supply | `zero` | 0% GST through the shared GST zero key |
| Input-taxed supply | `exempt` | No GST charged; used as the generic mapping for input-taxed treatment |
| Outside scope / non-taxable | `outside-scope` | Not part of the GST calculation |
Comment on lines +31 to +36
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same table formatting issue here: rows start with || (double pipe), which will render an unintended blank first column. Update to a single leading | for proper Markdown table formatting.

Copilot uses AI. Check for mistakes.

| Rate Name | GOBL Rate Key | Percent | Since |
| --- | --- | --- | --- |
| General rate | `standard` / `general` | 10% | 2000-07-01 |

Comment on lines +38 to +41
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The rate table also starts rows with ||, which most Markdown renderers interpret as an empty first column. Use a single leading | for these rows as well.

Copilot uses AI. Check for mistakes.
## Tax Invoices

- Suppliers must include their details and ABN.
- Invoices of AUD 1,000 or more must identify the customer.
- Self-billed invoices must identify the customer regardless of amount.
- In this implementation pass, customer identification is satisfied by the customer's name; an AU ABN may also be included but is not required when the name is present.
Loading
Loading