Tax Configuration
The file config/tax.yaml configures everything needed for Australian Tax Office (ATO) reporting. Copy from the example:
cp config/tax.yaml.example config/tax.yamlFinancial year
Set the current financial year. FY 2025 means the year ending 30 June 2025 (1 Jul 2024 — 30 Jun 2025):
financial_year: 2025Taxpayer
Basic taxpayer info used in the ATO return view:
taxpayer: name: "Your Name" spouse: name: "Partner Name" taxable_income: 0Businesses
Define businesses for the ATO Business & Professional Items schedule. Each business has an ABN and split rules:
businesses: - name: "My Business" abn: "00000000000" activity: "Web development and design" split_rules: - category: Utilities tag: internet business_pct: 50 - category: Utilities tag: mobile business_pct: 20How split rules work
There are two ways transactions get allocated to a business:
-
Implicit 100% — any category starting with
Business:is automatically allocated at 100% to the first matching business. No split rule needed. -
Partial allocation via split rules — personal categories that are partially business-use. Each rule matches on both
categoryandtag:
split_rules: - category: Utilities # matches the transaction's category tag: internet # AND matches a tag on the transaction business_pct: 50 # allocate 50% as business expenseSee the business splits guide for the full explanation.
Rental properties
Define rental properties for the ATO rental schedule (Item 21):
rental_properties: - name: "MY PROPERTY" address: "123 Main St, Suburb NSW 2000" ownership_pct: 50 rental_weeks: { 2025: 20 } income_category: "Airbnb Income" expense_mapping: - ato_label: "Body corporate fees" category: "Strata" - ato_label: "Interest on loans" category: "Mortgage" - ato_label: "Water charges" tag: "water" - ato_label: "Repairs and maintenance" category: "Rental: Maintenance"Rental property fields
| Field | Description |
|---|---|
name | Property identifier |
address | Street address (for ATO return) |
ownership_pct | Your ownership share (e.g. 50 for joint ownership) |
rental_weeks | Map of FY to weeks rented (e.g. { 2025: 20 }) |
income_category | Category name for rental income transactions |
expense_mapping | Maps expense categories/tags to ATO labels |
Expense mapping
Each mapping entry links a transaction category or tag to an ATO rental schedule label. The system automatically sums matching transactions and applies the ownership percentage:
- Use
categoryto match by spending category - Use
tagto match by transaction tag (useful when one category like “Utilities” has sub-types)
Work-from-home deductions
Configure WFH using the ATO fixed-rate method ($0.67/hour):
work_deductions: wfh: rate_per_hour: 0.67 entries: 2025: { weeks: 48, allocation_pct: 100 }The calculation is: weeks x (allocation_pct / 100) x 38 hours/week x rate_per_hour
For example, 48 weeks at 100% = 48 x 1.0 x 38 x $0.67 = $1,220.64
Depreciation schedules
Add depreciating assets for business or rental:
depreciation_schedules: - name: "Business equipment" business: "My Business" type: "business" items: - description: "Laptop" amount: 500 fy: 2025 - description: "Camera" amount: 300 fy: 2025
- name: "Rental fixtures" property: "MY PROPERTY" type: "rental" items: - description: "Air conditioner" amount: 200 fy: 2025The business or property field links the schedule to a business or rental property. The type field is either "business" or "rental".
Manual entries
For amounts that do not appear in bank transactions (e.g. tax withheld from payment summaries):
manual_entries: 2025: - label: "Tax withheld" amount: 50000 section: "income" notes: "From payment summary"Running the tax summary
From the CLI:
ledger tax --fy 2025Or view the full ATO return structure in the dashboard under the Tax tab, which calls GET /api/ato/return?fy=2025.