Skip to main content

Australian tax calculators

tests PyPI License: MIT Python 3.10+

Distribution australian-tax-calculators, import package austaxcalc. Library only: this component ships no command.

Six calculation worksheets for established facts: ordinary GST, resident basic income tax, CGT losses and discount, ordinary employer FBT, first-year depreciation and quarterly super guarantee. These are experimental review aids, not advice or return preparation. Callers must establish every scope condition before calculating.

The Python functions in austaxcalc.calculations accept Decimal amounts and an explicit period. Results include amounts, scope exclusions, official source URLs, the source-check date and engine version. They perform no network calls or writes. Amounts must be non-negative, finite, at most 2 decimal places and no more than AUD 1 trillion. Rounding uses half-up to cents at output; individual worksheets state additional conventions.

Install

Python 3.10 or later. No runtime dependencies.

pip install australian-tax-calculators

Use

Every worksheet takes Decimal amounts, an explicit period, and a scope_confirmed flag the caller sets only once it has established the scope conditions the worksheet states. Splitting $1,100.00 GST-inclusive into its exclusive amount and its GST:

from decimal import Decimal

from austaxcalc.calculations import gst

result = gst(Decimal("1100.00"), gst_inclusive=True, scope_confirmed=True, year="2025-26")
print(result["amounts"], result["source_checked"])
{'gst': '100.00', 'exclusive': '1000.00', 'inclusive': '1100.00'} 2026-09-10

Amounts come back as quoted decimal strings rather than numbers, so an amount that leaves a worksheet cannot arrive at a JSON reader as a float.

The full result also carries scope, the official sources the figures came from, the engine version and the warnings that travel with every worksheet:

>>> result["scope"]
'One ordinary taxable supply at 10%, already classified by the operator. Excludes mixed supplies, exemptions, margin schemes, adjustments, tax invoice rounding across line items, input-credit entitlement and BAS preparation.'
>>> result["warnings"]
['Operator-confirmed facts and scope; eligibility is not independently verified.', 'Worksheet only, not advice, an assessment or a lodgment. Obtain human review.']

Full boundary statement: DISCLAIMER.md.

Supported periods

Worksheet Period and boundary
GST 2025-26, one ordinary taxable supply at 10%; no classification or BAS
Resident tax 2024-25, 2025-26 and 2026-27; full-year resident ordinary income, before offsets and levies
CGT 2025-26, resident individual's established gains and losses; losses before the 50% discount
FBT Year ended 31 March 2026; established type 1 and type 2 taxable values, ordinary employer
Depreciation 2025-26, first year of an ordinary tangible Division 40 asset; established life and use
SG Complete quarters of 2025-26; established OTE, eligibility and qualifying contributions

Unsupported periods fail. The SG worksheet does not implement post-June 2026 Payday entitlement rules. The separate Payday engine reviews timing on a supplied liability. Contribution caps, SMSF tax, trusts, payroll tax, HELP and Medicare calculations remain outside these worksheets.

Worksheet discovery

The development source adds austaxcalc.calculations.worksheet_catalogue(). It returns supported periods with inclusive dates, required inputs and units, available methods, scope exclusions and a fabricated example for each worksheet. Money in the catalogue uses decimal strings. Python callers convert these to Decimal; MCP clients can send example.facts to calculate_tax_worksheet. This addition is published in the 0.1.4 wheel.

The engine owns the supported periods for both discovery and calculation. Returned dictionaries can be edited without changing later calls or engine rules.

Calculation evidence

Calculation evidence records Library paragraphs, document review dates, independent arithmetic and the limits of each example. example_evidence in the catalogue points to these records. It requires no local Library installation or network access at runtime.

Source URLs and exact exclusions remain in austaxcalc/calculations.py and every result. The existing 10 September 2026 source-check baseline is now stored per worksheet. A later check of one worksheet cannot refresh another's date. The 15 September Library example check does not extend that baseline to other periods or establish a taxpayer's circumstances.

Metadata

Release files for australian-tax-calculators 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for australian-tax-calculators 0.1.4
File Size Uploaded
australian_tax_calculators-0.1.4.tar.gz 66.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for australian-tax-calculators 0.1.4
File Interpreter ABI Platform
australian_tax_calculators-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 78.0 kB

Release files / australian_tax_calculators-0.1.4.tar.gz

Download URL australian_tax_calculators-0.1.4.tar.gz
Size 66.8 kB
Tags Source
SHA-256 checksum
How to use checksums
1e544de5168fa8979b0b0160f1b3a420a487b03dcfed2625a4870c1e5616cc1f
BLAKE2b-256 checksum
How to use checksums
2979cfb07cbc7a5b952219e300c3e7c961f4a75b26485fa601f56741dc3f2fb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / australian_tax_calculators-0.1.4-py3-none-any.whl

Download URL australian_tax_calculators-0.1.4-py3-none-any.whl
Size 11.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f22add4f28b376a3836b22afb67d05230e07408c4c06afc509f4542ef82a05f3
BLAKE2b-256 checksum
How to use checksums
dc0b971475cb17cd196af11bb05c73b585e19c863d9e8afc78948cf6921365e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page