

# Calculate annual income tax [#calculate-annual-income-tax]

Use this guide to run the retained Australian 2025–26 annual income tax
calculator from TypeScript.

## Before you start [#before-you-start]

* Install the SDK with [Install the SDK](/start/install-the-sdk).
* Use `au.incomeTax.annual` for the common plain SDK path.
* Pass taxable income as `Money` in cents.

## Steps [#steps]

1. Import `aud` and the AU SDK helper.
2. Convert taxable income to a `Money` value.
3. Call `au.incomeTax.annual`.
4. Read `liability` and the report ledger.

## Example [#example]

```ts
import { Cents, aud } from "@taxkit/core/primitives";
import { au } from "@taxkit/sdk/au";

const report = await au.incomeTax.annual({
  taxableIncome: aud(Cents.make(9_000_000)),
});

console.log({
  kind: report._tag,
  liabilityCents: report.liability.cents,
  components: report.ledger.components.length,
});
```

## Verify the result [#verify-the-result]

Expected output:

```json
{
  "kind": "AnnualTaxReport",
  "liabilityCents": 1958800,
  "components": 3
}
```

The liability value is cents. `1958800` means $19,588.00. This expected value
checks the retained calculation fixture. A Medicare threshold update is still
under review, so the fixture does not establish current-law accuracy.

## Handle errors [#handle-errors]

Use `TaxKit.safe.calculate` when you need a result value:

```ts
import { Cents, aud } from "@taxkit/core/primitives";
import { TaxKit } from "@taxkit/sdk";
import { au } from "@taxkit/sdk/au";

const result = await TaxKit.safe.calculate(au.calculations.annualIncomeTax, {
  taxableIncome: aud(Cents.make(9_000_000)),
});

if (result._tag === "TaxKitFailure") {
  console.error(result.error.message);
}
```

## Related pages [#related-pages]

* [Run your first calculation](/start/run-your-first-calculation)
* [Reports](/concepts/reports)
* [Money and branded values](/concepts/money-and-branded-values)
