1. Home
  2. Library
  3. Tool reference

Calculate Australian car expense deductions.

LiveAustralia1 credit

What it does

Calculate a business car deduction with cents per kilometre or a logbook, or the business share of costs for a ute, van or motorcycle, and see the record-keeping each one needs.

Ask your AI

Calculate Australian car expense deductions. Ask me for any detail you need first, then show the result with its source and date, and list anything a person should check.

What comes back

Cents per kilometre is for individuals and sole traders and caps at 5,000 km.

Good to know

  • Cents per kilometre is for individuals and sole traders and caps at 5,000 km.
  • Cents per kilometre needs only your business kilometres; the logbook method applies your business-use percentage to actual costs.
  • Exclude GST you can claim back.
For developers
Tool IDau_vehicle_expense_deduction
ServerAustralia
Credit behaviour1 credit

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "financial_year": {
      "type": "string",
      "enum": [
        "2024-25",
        "2025-26",
        "2026-27"
      ]
    },
    "entity_type": {
      "type": "string",
      "enum": [
        "individual",
        "sole_trader",
        "company",
        "partnership",
        "trust"
      ]
    },
    "vehicle_meets_ato_car_definition": {
      "type": "boolean"
    },
    "vehicle_payload_kg": {
      "description": "Load-carrying capacity (payload) in kg, normally GVM less unladen mass. The ATO car test uses this, not GVM: under 1,000 kg and fewer than 9 passengers is a car. A payload of 1,000 kg or more means not a car; a lower payload alone does not make it a car if it has 9 or more seats or is a motorcycle.",
      "type": "number",
      "minimum": 1,
      "maximum": 100000
    },
    "seating_capacity": {
      "description": "Seats including the driver. A car has fewer than 9; 9 or more is not a car whatever the payload.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "is_motorcycle": {
      "description": "True for a motorcycle or similar vehicle, which is never a car.",
      "type": "boolean"
    },
    "vehicle_gvm_kg": {
      "description": "Gross vehicle mass in kg, for reference only; GVM does not decide car status.",
      "type": "number",
      "minimum": 1,
      "maximum": 200000
    },
    "method": {
      "type": "string",
      "enum": [
        "cents_per_kilometre",
        "logbook"
      ]
    },
    "business_kilometres": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    },
    "logbook_business_use_percent": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "provided_to_employee": {
      "type": "boolean"
    },
    "fuel_cost": {
      "description": "AUD fuel cost; required for logbook. Exclude recoverable GST.",
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    },
    "repairs_and_maintenance": {
      "description": "AUD repairs and maintenance; required for logbook. Exclude recoverable GST.",
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    },
    "insurance": {
      "description": "AUD vehicle insurance; required for logbook. Exclude recoverable GST.",
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    },
    "registration": {
      "description": "AUD vehicle registration; required for logbook. Exclude recoverable GST.",
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    },
    "decline_in_value": {
      "description": "AUD decline in value; required for logbook after applying any car limit.",
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    }
  },
  "required": [
    "financial_year",
    "entity_type",
    "vehicle_meets_ato_car_definition"
  ],
  "additionalProperties": false
}

Shared output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "summary": {
          "type": "string"
        },
        "data": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "executionId": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "creditsCharged": {
          "type": "number",
          "minimum": 0
        },
        "usage": {
          "type": "object",
          "properties": {
            "credits_charged": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "credits_remaining": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "credits_charged"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "summary",
        "data",
        "creditsCharged"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "retryable": {
              "type": "boolean"
            }
          },
          "required": [
            "code",
            "message",
            "retryable"
          ],
          "additionalProperties": false
        },
        "usage": {
          "type": "object",
          "properties": {
            "credits_charged": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "credits_remaining": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "credits_charged"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "error"
      ],
      "additionalProperties": false
    }
  ]
}

Ready to use this tool?

Connect Aroai to your AI and try a request.