Reports

A report is the calculator-specific output returned by the SDK or HTTP API. Reports are schema-backed values, not untyped result bags.

When this matters

Read the report when your application needs final amounts, ledger components or trace-linked explanation. Keep assertions focused on fields your application uses.

How it works

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(report._tag);
console.log(report.liability.cents);
console.log(report.ledger.components.length);

Expected output includes:

txt
AnnualTaxReport
1958800
3

This is the retained 2025–26 fixture. The annual calculation guide explains the pending Medicare threshold review; this output does not establish current-law accuracy.

Ledgers

Ledgers break a calculation into components such as income tax, offsets and Medicare levy. Components preserve trace information so a reviewer can inspect how a total was assembled.