Skip to content

Australia regime#723

Open
angelvido wants to merge 9 commits intoinvopop:mainfrom
angelvido:australia-regime
Open

Australia regime#723
angelvido wants to merge 9 commits intoinvopop:mainfrom
angelvido:australia-regime

Conversation

@angelvido
Copy link
Copy Markdown

@angelvido angelvido commented Feb 21, 2026

Summary

  • Add Australia (au) GST regime with standard, GST‑free, and input‑taxed rates.
  • Implement AU tax identity normalization/validation (ABN format).
  • Add AU example invoice and generated output.
  • Add AU regime tests and update changelog.

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

  • Opened this PR as a draft
  • Read the CONTRIBUTING.md guide.
  • Performed a self-review of my code.
  • Added thorough tests with at least 90% code coverage.
  • Modified or created example GOBL documents to show my changes in use, if appropriate.
  • Added links to the source of the changes in tax regimes or addons, either structured or in the comments.
  • Run go generate . to ensure that the Schemas and Regime data are up to date.
  • Reviewed and fixed all linter warnings.
  • Been obsessive with pointer nil checks to avoid panics.
  • Updated the CHANGELOG.md with an overview of my changes.
  • Requested a review from Copilot and fixed or dismissed (with a reason) all the feedback raised.
    Link to the fork PR where I did the codex review: Australia Regime

Only after checking off all the previous items:

  • Marked this PR as ready for review and requested one from @samlown.

@angelvido angelvido marked this pull request as ready for review February 21, 2026 16:39
@pmenendz pmenendz requested a review from Copilot February 24, 2026 12:32
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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
Copy link
Copy Markdown

codecov Bot commented Feb 24, 2026

Codecov Report

❌ Patch coverage is 92.45283% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 92.86%. Comparing base (8ca0f6c) to head (d09730a).

Files with missing lines Patch % Lines
regimes/au/tax_identity.go 86.66% 2 Missing and 2 partials ⚠️
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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@angelvido
Copy link
Copy Markdown
Author

@pmenendz
Hey, I added some test to increase the patch coverage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants