Calculators

Contracting against salaried employment, on what you actually keep

Compare a contract rate with a salary honestly.

Almost everyone compares the two headline numbers as though they were the same kind of number. They are not. An employee's package includes things a contractor funds out of the rate:

  • Employer KiwiSaver, at least 3.5% from 1 April 2026, less ESCT. A contractor gets no match, so the same percentage costs them all of it.
  • Annual leave, ten sick days and eleven public holidays. Around 45 of the 260 working days in a year.
  • The ACC work levy, which an employer pays and a contractor does not.

So two comparisons come back. cash_difference is take-home against take-home, and it is the one that flatters contracting because it ignores all of the above. package_difference is the honest one. It is common for a contract to be well ahead on cash and behind on package, and if you quote only the first you have given bad advice.

breakeven_contract_income answers the question people actually have, which is what they need to charge. It is solved by bisection rather than scaled linearly, because the tax ladder is piecewise and a linear guess is wrong at every bracket edge.

annual_contract_income is the year's total invoicing, NOT a rate to be multiplied up. billable_weeks only expresses the implied rate.

GST is excluded throughout: over $60,000 of turnover registration is compulsory, but GST is collected and passed on rather than earned. Also absent, and worth saying out loud: notice periods and personal grievance rights have real value and no dollar figure.

post/v1/contractor-vs-employee

Request

  • Base URL: https://api.calculate.co.nz
  • URL: https://api.calculate.co.nz/v1/contractor-vs-employee
  • Auth: API key in header X-API-Key

Request body

annual_gross_salarynumber required

The salaried offer, gross.

annual_contract_incomenumber required

Total expected to invoice across the year, GST exclusive. This is the year's total, not a rate: it is NOT scaled by billable_weeks.

annual_business_expensesnumber

Deductible business expenses for the year.

billable_weeksnumber

Weeks expected to bill. Used only to express the implied rate.

acc_work_levy_pctnumber

ACC work levy as a percentage of liable income. A contractor pays this; an employee's employer does. Varies a lot by industry.

employer_kiwisaver_rate_pctnumber

Employer contribution. Minimum 3.5% from 1 April 2026.

own_kiwisaver_rate_pctnumber

The person's own contribution rate, applied to both sides.

annual_leave_daysnumber

Annual leave in the employment offer.

has_student_loanboolean

Applies to both sides.

claim_ietcboolean

Whether the independent earner tax credit is claimable.

Example request

{
  "acc_work_levy_pct": 0.7,
  "annual_business_expenses": 8000,
  "annual_contract_income": 130000,
  "annual_gross_salary": 100000,
  "annual_leave_days": 20,
  "billable_weeks": 46,
  "claim_ietc": true,
  "employer_kiwisaver_rate_pct": 3.5,
  "own_kiwisaver_rate_pct": 3.5
}

Response

Both sides costed, the difference on cash and on package, and the breakeven rate.

disclaimerstring required

Scope and limits of this calculation.

Example response

{
  "disclaimer": "A comparison of take-home value on current NZ tax settings. It excludes GST, provisional tax timing, insurance and accountancy costs, and puts no value on employment protections. Not tax or employment advice.",
  "result": {
    "better_on_cash": "contractor",
    "better_on_package": "employee",
    "breakeven_contract_income": 138817.74,
    "business_expenses": 8000,
    "cash_difference": 12731,
    "contract_income": 130000,
    "contractor_acc_earners_levy": 2135,
    "contractor_acc_work_levy": 854,
    "contractor_billable_weeks": 46,
    "contractor_ietc": 0,
    "contractor_implied_daily_rate": 565.22,
    "contractor_implied_weekly_rate": 2826.09,
    "contractor_income_tax": 30137.5,
    "contractor_kiwisaver_own": 4270,
    "contractor_net_cash": 84603.5,
    "contractor_student_loan": 0,
    "contractor_taxable_income": 122000,
    "employee_acc_levy": 1750,
    "employee_ietc": 0,
    "employee_kiwisaver_own": 3500,
    "employee_leave_value": 15769.23,
    "employee_net_cash": 71872.5,
    "employee_package_value": 89986.73,
    "employee_paye": 22877.5,
    "employee_salary": 100000,
    "employee_student_loan": 0,
    "employer_kiwisaver_esct": 1155,
    "employer_kiwisaver_gross": 3500,
    "employer_kiwisaver_net": 2345,
    "excludes": [
      "GST",
      "Provisional tax timing and use of money interest",
      "ACC CoverPlus Extra, income protection and liability insurance",
      "Accountancy and administration costs",
      "The risk of an invoice not being paid",
      "Notice periods and personal grievance rights, which have real value and no dollar figure"
    ],
    "notes": [
      "package_difference is the comparison that matters. cash_difference ignores employer KiwiSaver and paid leave, which is exactly the mistake that makes contracting look better than it is.",
      "The employee's leave is worth $15,769: 20 days annual leave plus 10 sick days and 11 public holidays, at their daily rate.",
      "breakeven_contract_income is what you would need to invoice, before expenses, to match the salaried package. Below $138,818 the salary is ahead.",
      "GST is excluded. Over $60,000 of turnover a contractor must register, but GST is collected and passed on, not earned.",
      "The implied rate assumes 46 billable weeks. The contract income is taken as the year's total and is not scaled by it."
    ],
    "package_difference": -5383.23
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.