This tool runs the base rate entity test and tracks a franking account ledger covering PAYG instalments, company tax paid, dividends paid and received, and refunds. It works out franking deficit tax and checks the 30% offset reduction for supported debit types. The debit types and applicable exceptions determine whether a reduction applies, as explained under Common questions. It also checks distributions in a franking period against the Division 203 benchmark rule for over-franking tax and franking debit shortfalls.
It builds the statement fields a dividend distribution statement needs, too. That is a review helper for the statement, not a lodgement or a compliance certificate.
What this tool does
- Tests whether a company is a base rate entity for a given financial year, against the aggregated turnover threshold and the 80% passive income test.
- Tracks a franking account ledger and checks franking deficit tax and any offset reduction for supported debit types, subject to the conditions under Common questions.
- Checks distributions in a franking period against the Division 203 benchmark rule, for over-franking tax and franking debit shortfalls.
Limits
Nothing this engine produces is tax, legal or financial advice, an assessment or a determination. Outputs are review aids: confirm every rate, threshold and consequence against the current law and the entity’s facts before acting, and leave lodgement decisions with a registered practitioner.
Get it
Needs Python 3.10 or later. Install the reference release in your Python environment.
python -m pip install "the-exchequer-tally==0.1.7"
Published package and release instructions.
Source on GitHub · Primary sources: ATO company tax rates and Division 203 of the Income Tax Assessment Act 1997.
Software issue using fictional data? Open an issue or email with the tool named in the subject. If the email link does not open, the contact page spells the address out.
Fictional worked example
With uv installed, run this pinned package directly. No clone or input file is needed.
For the income year ending in 2025, use fictional aggregated turnover of $4,500,000, assessable income of $800,000 and base rate entity passive income of $120,000. The caller must establish those classifications before running the test.
uvx --from the-exchequer-tally==0.1.7 the-exchequer-tally bre-test --fy 2025 --turnover 4500000 --assessable 800000 --passive 120000
Selected output from release 0.1.7, verified on 26 September 2026. The command exits 0 and also prints its statutory basis and review boundary.
Passive Income Ratio: 15.00% (<= 80%: True)
Base Rate Entity: True
Applicable Tax Rate: 25.0%
Try a refusal
Change --fy 2025 to --fy 2017. Release 0.1.7 has no bundled rate table for that year. It exits 2 and returns no rate.
This verifies the published command’s behaviour on fictional inputs. It does not determine the maximum franking rate, which uses prior-year facts, or replace review of the company’s circumstances.
Common questions
What makes a company a base rate entity?
Two tests, both of which must hold for the income year: aggregated turnover below that year’s threshold, and no more than 80% of assessable income being base rate entity passive income.
What is franking deficit tax?
Tax payable where a franking account ends the year in deficit. Where the deficit exceeds 10% of the credits arising in the year, the offset may be reduced by 30%, but only for the part of the liability that relates to franking debits arising under the provisions listed in section 205-70(8). Check the debit types and any exceptions before applying the reduction.
What is the benchmark rule?
Under Division 203, a company must frank all distributions in a franking period to the same extent. Departing from the benchmark franking percentage produces over-franking tax or a franking debit shortfall.