/** * Vela Payroll Engine — Australia Tax Jurisdiction * * Based on ATO 2025-26 tax year (1 July 2025 – 30 June 2026) * Source: https://www.ato.gov.au/rates/individual-income-tax-rates * * PAYG Withholding — Resident taxpayers * ┌──────────────────────────────────┬─────────────────────────────┐ * │ Taxable Income │ Tax on this income │ * ├──────────────────────────────────┼─────────────────────────────┤ * │ $0 – $18,200 │ Nil │ * │ $18,201 – $45,000 │ 16c for each $1 over $18,200│ * │ $45,001 – $135,000 │ $4,288 + 30c per $1 over │ * │ │ $45,000 │ * │ $135,001 – $190,000 │ $31,288 + 37c per $1 over │ * │ │ $135,000 │ * │ $190,001 and over │ $51,638 + 45c per $1 over │ * │ │ $190,000 │ * └──────────────────────────────────┴─────────────────────────────┘ * * Medicare Levy: 2% of taxable income (applies to most taxpayers) * Medicare Levy Surcharge: Not included in MVP (requires private health insurance check) * * Superannuation Guarantee: 11.5% of ordinary time earnings * (effective 1 July 2025, increasing from 11.0%) * Source: https://www.ato.gov.au/rates/key-superannuation-rates-and-previous-year-rates * * Note: Low Income Tax Offset (LITO) and Low and Middle Income * Tax Offset (LMITO) are NOT included in MVP — these would require * rebate calculations. */ import { TaxJurisdiction, TaxBracket, DeductionLineItem, EmployerContribution, progressiveTaxCalc, round2, } from "../types"; // ── 2025-26 Tax Brackets (ATO Stage 3 tax cuts — as legislated) ── const TAX_BRACKETS: TaxBracket[] = [ { min: 0, max: 18_200, rate: 0.0 }, { min: 18_200, max: 45_000, rate: 0.16 }, { min: 45_000, max: 135_000, rate: 0.30 }, { min: 135_000, max: 190_000, rate: 0.37 }, { min: 190_000, max: null, rate: 0.45 }, ]; const MEDICARE_LEVY_RATE = 0.02; const SUPER_GUARANTEE_RATE = 0.115; // 11.5% from 1 July 2025 export class AustraliaTax implements TaxJurisdiction { readonly name = "Australia"; readonly countryCode = "AU"; readonly currency = "AUD"; calculate(grossAnnual: number): { deductions: DeductionLineItem[]; employerContributions: EmployerContribution[]; } { // 1. PAYG Income Tax const incomeTax = progressiveTaxCalc(grossAnnual, TAX_BRACKETS); // 2. Medicare Levy (2% of gross) const medicareLevy = round2(grossAnnual * MEDICARE_LEVY_RATE); // 3. Total employee deductions const totalTax = round2(incomeTax + medicareLevy); const deductions: DeductionLineItem[] = [ { name: "PAYG Income Tax", amount: round2(incomeTax), type: "tax", description: "ATO PAYG withholding (2025-26 brackets)", }, { name: "Medicare Levy", amount: medicareLevy, type: "levy", description: "2% of taxable income", }, ]; // 4. Employer Superannuation Guarantee (NOT deducted from employee pay) const superContribution = round2(grossAnnual * SUPER_GUARANTEE_RATE); const employerContributions: EmployerContribution[] = [ { name: "Superannuation Guarantee", amount: superContribution, description: "11.5% of ordinary time earnings (2025-26)", }, ]; return { deductions, employerContributions }; } }