Australia regime#723
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive support for the Australian tax regime (AU) to GOBL, implementing GST tax categories, ABN (Australian Business Number) validation with checksum verification, and providing example invoices demonstrating the regime in action.
Changes:
- Added Australian regime definition with GST tax scheme supporting standard (10%), GST-free (0%), and input-taxed (0%) rates
- Implemented ABN validation including format checking and checksum verification per ATO specifications
- Added example invoice and comprehensive test coverage for the regime
Reviewed changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| regimes/regimes.go | Registered the AU regime in the global registry |
| regimes/au/au.go | Core regime definition with validation and normalization functions |
| regimes/au/tax_categories.go | GST category definition with standard, GST-free, and input-taxed rates |
| regimes/au/tax_identity.go | ABN validation logic with regex pattern matching and checksum verification |
| regimes/au/tax_identity_test.go | Comprehensive test cases for ABN validation |
| regimes/au/au_test.go | Tests for regime normalization and structure |
| regimes/au/README.md | Documentation of AU regime rates and references |
| examples/au/invoice-au.yaml | Example Australian invoice in YAML format |
| examples/au/out/invoice-au.json | Generated JSON output from example invoice |
| data/schemas/tax/regime-code.json | Added AU to regime code schema |
| data/regimes/au.json | Generated regime data file |
| CHANGELOG.md | Added AU regime entry under Unreleased section |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #723 +/- ##
==========================================
- Coverage 92.86% 92.86% -0.01%
==========================================
Files 331 333 +2
Lines 17260 17313 +53
==========================================
+ Hits 16029 16078 +49
- Misses 867 869 +2
- Partials 364 366 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@pmenendz |
Summary
Changes
regimes/au/au.go: New AU regime definition.regimes/au/tax_categories.go: GST category and rates.regimes/au/tax_identity.go: ABN validation.regimes/au/tax_identity_test.go: ABN validation tests.regimes/au/au_test.go: Regime normalize test.examples/au/invoice-au-au.yaml: AU invoice example.examples/au/out/invoice-au.json: Generated example output.CHANGELOG.md: Added AU regime under Unreleased.Pre-Review Checklist
go generate .to ensure that the Schemas and Regime data are up to date.Link to the fork PR where I did the codex review: Australia Regime
Only after checking off all the previous items: