{
  "$comment": "Machine-readable companion to https://valem.run/calculators/new-zealand/self-employed. Formula, inputs, outputs, engine-verified test vectors, cited sources and the re-runnable Valem ModelSpec behind the page.",
  "url": "https://valem.run/calculators/new-zealand/self-employed",
  "dataUrl": "https://valem.run/calculators/new-zealand/self-employed.json",
  "license": {
    "name": "CC BY 4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "New Zealand sole trader model by Valem (https://valem.run/calculators/new-zealand/self-employed), CC BY 4.0.",
    "note": "Covers the model — the expression of each rule and the arrangement of the catalog. The rates and thresholds themselves are law and are not licensed by anyone; the cited sources are where they come from."
  },
  "verificationUrl": "https://valem.run/calculators/new-zealand/self-employed/verify",
  "country": "new-zealand",
  "countryName": "New Zealand",
  "formula": "self-employed",
  "formulaName": "Sole trader",
  "title": "Sole Trader Tax Calculator New Zealand",
  "answer": "Your net income as a New Zealand sole trader is profit minus income tax at the ordinary individual rates — there is no tax-free threshold — plus the ACC earner levy on liable earnings up to the annual maximum.",
  "lang": "en",
  "currency": "NZD",
  "taxYear": "2026",
  "verification": {
    "claim": "shape-only",
    "statement": "The rates in this model are illustrative. Its 3 self-test cases confirm the engine reproduces the shape of the charge, but the schedule is not the official one, so the amount will not match a real bill. The cited sources name the document that would replace it.",
    "selfTestCases": 3,
    "ratesAreIllustrative": true,
    "sourcesCheckedOn": "2026-08-22"
  },
  "sources": [
    {
      "label": "Inland Revenue / business.govt.nz — Tax basics for sole traders",
      "url": "https://www.business.govt.nz/business-stage-or-type/sole-traders/tax-basics-for-sole-traders",
      "checked": "2026-08-22"
    },
    {
      "label": "NZ tax rates and the 2026/27 ACC earner levy (1.75%, maximum liable earnings 156,641 NZD)",
      "url": "https://www.calculate.co.nz/reference/nz-tax-rates.php",
      "checked": "2026-08-22"
    }
  ],
  "terminalOutput": "netIncome",
  "inputs": [
    {
      "name": "annualProfit",
      "type": "number",
      "label": "Annual profit after expenses (NZD)",
      "minimum": 0
    }
  ],
  "outputs": [
    {
      "name": "incomeTax",
      "type": "number",
      "label": "Income tax",
      "format": "number",
      "formula": "($p := annualProfit; $round($const.r1 * $min([$p, $const.b1]) + $const.r2 * $max([0, $min([$p, $const.b2]) - $const.b1]) + $const.r3 * $max([0, $min([$p, $const.b3]) - $const.b2]) + $const.r4 * $max([0, $min([$p, $const.b4]) - $const.b3]) + $const.r5 * $max([0, $p - $const.b4]), 2))"
    },
    {
      "name": "accLevy",
      "type": "number",
      "label": "ACC earner levy",
      "format": "number",
      "formula": "$round($min([annualProfit, $const.accMaxEarnings]) * $const.accRate, 2)"
    },
    {
      "name": "netIncome",
      "type": "number",
      "label": "Net income / year",
      "format": "number",
      "formula": "$round($max([0, annualProfit - incomeTax - accLevy]), 2)"
    }
  ],
  "testCases": [
    {
      "description": "85,000 NZD profit — a typical full-time sole trader",
      "given": {
        "annualProfit": 85000
      },
      "expect": {
        "incomeTax": 17927.5,
        "accLevy": 1487.5,
        "netIncome": 65585
      }
    },
    {
      "description": "30,000 NZD — part-time",
      "given": {
        "annualProfit": 30000
      },
      "expect": {
        "incomeTax": 4158,
        "accLevy": 525,
        "netIncome": 25317
      }
    },
    {
      "description": "200,000 NZD — above the ACC maximum liable earnings",
      "given": {
        "annualProfit": 200000
      },
      "expect": {
        "incomeTax": 57077.5,
        "accLevy": 2741.22,
        "netIncome": 140181.28
      }
    }
  ],
  "spec": {
    "id": "self-employed-new-zealand",
    "version": "1.0.0",
    "schema": {
      "type": "object",
      "properties": {
        "annualProfit": {
          "type": "number",
          "minimum": 0
        },
        "incomeTax": {
          "type": "number",
          "readOnly": true
        },
        "accLevy": {
          "type": "number",
          "readOnly": true
        },
        "netIncome": {
          "type": "number",
          "readOnly": true
        }
      },
      "required": [
        "annualProfit"
      ]
    },
    "constants": {
      "b1": 15600,
      "b2": 53500,
      "b3": 78100,
      "b4": 180000,
      "r1": 0.105,
      "r2": 0.175,
      "r3": 0.3,
      "r4": 0.33,
      "r5": 0.39,
      "accRate": 0.0175,
      "accMaxEarnings": 156641
    },
    "defaultValues": [
      {
        "path": "$",
        "expr": "{ \"annualProfit\": 85000 }"
      }
    ],
    "derivations": [
      {
        "path": "$.incomeTax",
        "expr": "($p := annualProfit; $round($const.r1 * $min([$p, $const.b1]) + $const.r2 * $max([0, $min([$p, $const.b2]) - $const.b1]) + $const.r3 * $max([0, $min([$p, $const.b3]) - $const.b2]) + $const.r4 * $max([0, $min([$p, $const.b4]) - $const.b3]) + $const.r5 * $max([0, $p - $const.b4]), 2))"
      },
      {
        "path": "$.accLevy",
        "expr": "$round($min([annualProfit, $const.accMaxEarnings]) * $const.accRate, 2)"
      },
      {
        "path": "$.netIncome",
        "expr": "$round($max([0, annualProfit - incomeTax - accLevy]), 2)"
      }
    ],
    "constraints": [],
    "viewDefinition": {
      "renderer": "builtin",
      "defaultView": "main",
      "views": [
        {
          "id": "main",
          "label": "Self-employed net income",
          "layout": "vertical",
          "components": [
            {
              "id": "illustrativeNotice",
              "type": "alert",
              "variant": "warning",
              "label": "What this model leaves out",
              "text": "'New Zealand has no tax-free threshold, so a sole trader is taxed from the first dollar of profit — the 10.5% band is the substitute. On top sits the ACC earner levy, charged on liable earnings up to an annual maximum, which is what funds cover if injury stops you working. This models the default CoverPlus; CoverPlus Extra lets you agree a fixed level of cover instead and produces different levies. There is no compulsory KiwiSaver contribution for the self-employed and none is modelled. GST is separate and applies above 60,000 NZD of turnover. Not tax advice.'"
            },
            {
              "id": "inputField",
              "type": "numericField",
              "label": "Annual profit after expenses (NZD)",
              "bind": "$.annualProfit",
              "placeholder": "85000"
            },
            {
              "id": "tiles",
              "type": "group",
              "layout": "horizontal",
              "components": [
                {
                  "id": "netIncomeTile",
                  "type": "statTile",
                  "label": "Net income / year",
                  "bind": "$.netIncome",
                  "format": "number"
                },
                {
                  "id": "incomeTaxTile",
                  "type": "statTile",
                  "label": "Income tax",
                  "bind": "$.incomeTax",
                  "format": "number"
                },
                {
                  "id": "accLevyTile",
                  "type": "statTile",
                  "label": "ACC earner levy",
                  "bind": "$.accLevy",
                  "format": "number"
                }
              ]
            },
            {
              "id": "sources",
              "type": "sourceList",
              "label": "Sources",
              "items": [
                {
                  "label": "Inland Revenue / business.govt.nz — Tax basics for sole traders",
                  "url": "https://www.business.govt.nz/business-stage-or-type/sole-traders/tax-basics-for-sole-traders",
                  "date": "2026-08-22"
                },
                {
                  "label": "NZ tax rates and the 2026/27 ACC earner levy (1.75%, maximum liable earnings 156,641 NZD)",
                  "url": "https://www.calculate.co.nz/reference/nz-tax-rates.php",
                  "date": "2026-08-22"
                }
              ]
            }
          ]
        }
      ]
    },
    "tests": [
      {
        "description": "85,000 NZD profit — a typical full-time sole trader",
        "given": {
          "$.annualProfit": 85000
        },
        "expect": {
          "$.incomeTax": 17927.5,
          "$.accLevy": 1487.5,
          "$.netIncome": 65585
        }
      },
      {
        "description": "30,000 NZD — part-time",
        "given": {
          "$.annualProfit": 30000
        },
        "expect": {
          "$.incomeTax": 4158,
          "$.accLevy": 525,
          "$.netIncome": 25317
        }
      },
      {
        "description": "200,000 NZD — above the ACC maximum liable earnings",
        "given": {
          "$.annualProfit": 200000
        },
        "expect": {
          "$.incomeTax": 57077.5,
          "$.accLevy": 2741.22,
          "$.netIncome": 140181.28
        }
      }
    ]
  }
}
