Releases: ryanduguid/ato-benchmark-compare
Release list
v0.1.4
v0.1.4
Changes since v0.1.3:
- read the package version from
atobenchmark/__init__.pyalone, so the module attribute and the distribution metadata cannot drift apart again; and - add a test asserting
atobenchmark.__version__equals the installed distribution version.
Version 0.1.3 shipped __version__ = "0.1.2". Callers that quote that attribute beside a computed figure, such as the engine_version field on au-tax-mcp-server tool responses, understated the engine that produced the number. Nothing about the comparison arithmetic or the bundled benchmark figures changed.
The runtime remains dependency-free. The bundled benchmark figures are derived from Australian Taxation Office data licensed under Creative Commons Attribution 2.5 Australia; see LICENSE, NOTICE and the source notes in docs/.
v0.1.3
v0.1.3
Changes since v0.1.1:
- align the labour benchmark variance with the ATO method and keep single-line COGS accounts mappable;
- refuse malformed benchmark dataset entries and drive the show command from the published ratio keys;
- preserve mapping identity after CSV input guarding;
- fail closed on overwrite-guard errors and adopt the shared release-policy workflow;
- restore MIT licence detection by moving the data notice to
NOTICE; - publish the attested distribution to PyPI via trusted publishing on release;
- add editorconfig, CODEOWNERS, mailmap, job timeouts and Dependabot pacing; and
- refresh documentation so every claim matches the repository, including the repository name.
The runtime remains dependency-free. The bundled benchmark figures are derived from Australian Taxation Office data licensed under Creative Commons Attribution 2.5 Australia; see LICENSE, NOTICE and the source notes in docs/.
v0.1.1
v0.1.1
Changes since v0.1.0:
- publish mapping, comparison and related output files with staged atomic replacement so a failed write does not destroy the prior output; and
- add workflow-built wheel and source distribution artefacts, SHA-256 checksums, an SPDX SBOM and GitHub build attestations.
The runtime remains dependency-free. The bundled benchmark figures are derived from Australian Taxation Office data licensed under Creative Commons Attribution 2.5 Australia; see LICENSE and the source notes in docs/.
v0.1.0
First release.
Compares a set of profit and loss figures against the ATO small business benchmarks and shows which accounts produced each figure.
Benchmark data: 2023-24 and 2022-23, both built from the ATO's published workbook on data.gov.au, licensed CC BY 2.5 AU. Each dataset records the resource URL, the retrieval date and the SHA-256 of the file it came from, and the comparison prints all three.
What it implements, from the ATO's own method rather than the obvious reading of it:
- Turnover is the sales of goods and services label, falling back to total business income only when sales are blank, zero, or less than 50% of it
- Total expenses for the ratio is total expenses less payments to associated persons
- Cost of sales for the ratio excludes salary and wages
- The key range is cost of sales to turnover where the ATO publishes one for that industry, otherwise total expenses to turnover
- Turnover bands are treated as adjoining, so turnover of $400,000.50 lands in a band rather than in the gap the printed labels leave
Reviewable by design: map proposes a bucket for each account from its name and marks it as a suggestion. compare reports how many accounts are still unreviewed and exits 3 until a person has been through them.
Verified: 187 tests on Ubuntu with Python 3.10 and 3.13 and on Windows with 3.12, a wheel install and CLI run, the shipped tests run again from the sdist, and pip-audit over the locked environment. The 2023-24 figures were cross checked against the ATO's own industry page for bakeries and hot bread shops.