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.