1. Home
  2. Library
  3. Tool reference

Estimate New Zealand sole-trader income tax.

LiveNew Zealand1 credit

What it does

Estimate a sole trader’s annual income tax, ACC earners’ levy and take-home profit, with the balance to pay, effective and marginal rates, and whether provisional tax starts next year.

Ask your AI

Estimate New Zealand sole-trader income tax. 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

Uses the progressive personal rates for the year you choose.

Good to know

  • Uses the progressive personal rates for the year you choose.
  • Business expense deductions are not inferred: enter taxable profit.
  • Not a replacement for filing an IR3 return.
For developers
Tool IDnz_business_income_tax
ServerNew Zealand
Credit behaviour1 credit

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tax_year": {
      "type": "string",
      "enum": [
        "2025-26",
        "2026-27"
      ]
    },
    "taxable_business_profit": {
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    },
    "other_taxable_income": {
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    },
    "other_acc_liable_earnings": {
      "description": "Other ACC-liable earnings, such as salary or wages, used to coordinate the maximum liable earnings for the self-employed levy estimate. The employee levy itself is not included in this ACC amount.",
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    },
    "tax_already_paid": {
      "description": "Combined tax already paid. Provide source_deductions_paid and provisional_tax_paid separately when the residual income tax and provisional-tax requirement must be assessed.",
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    },
    "source_deductions_paid": {
      "description": "Income-tax credit from PAYE, RWT or schedular deductions after removing any employee ACC Earners' levy included in gross PAYE. If you only know total PAYE, subtract the employee ACC levy before passing this amount; see the IRD return guide.",
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    },
    "provisional_tax_paid": {
      "description": "Actual provisional-tax payments already made for this income year.",
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    },
    "ietc_eligible": {
      "description": "Confirm full-year IETC eligibility; set false if not eligible. Use ietc_eligible_months for partial-year eligibility.",
      "type": "boolean"
    },
    "ietc_eligible_months": {
      "description": "Number of whole months eligible for IETC (0 to 12). Overrides the full-year assumption when supplied.",
      "type": "integer",
      "minimum": 0,
      "maximum": 12
    }
  },
  "required": [
    "tax_year",
    "taxable_business_profit"
  ],
  "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.