---
title: "Fringe benefit tax on a vehicle, a low-interest loan or another benefit"
method: POST
path: "/v1/fbt"
tags: ["Calculators"]
---

# Fringe benefit tax on a vehicle, a low-interest loan or another benefit

`POST /v1/fbt`

## Request

- Base URL: `https://api.calculate.co.nz`
- URL: `https://api.calculate.co.nz/v1/fbt`
- Auth: API key in header `X-API-Key`

Quarterly FBT on one benefit, with the working shown.

The rate is the easy part. What goes wrong is the taxable value, because
FBT is charged on a value derived from the asset rather than on what the
benefit cost the employer.

For a vehicle the two methods give very different answers on the same car:
cost price is 5% a quarter of the GST-inclusive price the employer paid and
never falls, while tax book value is 9% a quarter of the written-down value
with a floor of $8,333. An old vehicle is usually cheaper on tax book
value; a cheap one can be dearer, because of the floor.

The days-available divisor is ALWAYS 90 under s RD 29(5)(a) of the Income
Tax Act 2007, never the actual number of days in the quarter. Do not
"correct" it to 91 or 92.

A low-interest loan is taxed on the gap between the prescribed rate and the
rate charged, so a loan at or above the prescribed rate creates no benefit
and no FBT.

On the rate: 63.93% applies to everyone and needs no wash-up. 49.25% is
lower but available in quarters one to three only, and using it obliges a
quarter four wash-up that can claw the saving back. Never present the
alternate rate as simply cheaper; `quarter_four_washup_required` says so
for you.

`annual_fbt` is the quarter times four, which only holds if the benefit is
unchanged all year.

## Request body

- FbtRequest
  - `benefit_type` 'vehicle' | 'loan' | 'other': Which benefit. A vehicle is valued from the car, a loan from the gap between the prescribed rate and the rate charged, and 'other' takes a taxable value you supply.
  - `rate_method` 'single' | 'alternate': 63.93% single rate, or the 49.25% alternate rate. The alternate rate is available in quarters one to three only and forces a quarter four wash-up, so it is not simply cheaper.
  - `vehicle_value` number: Vehicle only. GST-inclusive cost price, or tax book value.
  - `value_method` 'cost_price' | 'tax_book_value': Vehicle only. Cost price is 5% a quarter of what the employer paid and never falls. Tax book value is 9% a quarter of the written-down value, with a floor of $8,333.
  - `days_available` number: Vehicle only. Days the vehicle was available for private use. The divisor is always 90 under s RD 29(5)(a), never the actual length of the quarter. Values above 90 are capped.
  - `employee_contribution` number: Vehicle only. What the employee paid towards the benefit this quarter.
  - `loan_balance` number: Loan only. Average balance for the quarter.
  - `prescribed_rate_pct` number: Loan only. IRD prescribed rate as a PERCENTAGE. Use the rate for the quarter being filed, not the current one.
  - `actual_rate_pct` number: Loan only. Rate actually charged, as a percentage.
  - `other_quarterly_value` number: Other benefits only. Quarterly taxable value.

## Response `200`

Quarterly taxable value, the rate applied, and the FBT payable.

- FbtResponse
  - `result` FbtResult, required
    - `benefit_type` string, required: Benefit valued.
    - `rate_method` string, required: Rate method used.
    - `fbt_rate_pct` number, required: The rate applied, as a percentage.
    - `quarterly_taxable_value` number, required: Taxable value of the benefit for the quarter, after any contribution.
    - `quarterly_fbt` number, required: FBT payable for the quarter.
    - `annual_fbt` number, required: The quarter times four. Only the real annual liability if the benefit is unchanged all year.
    - `quarter_four_washup_required` boolean, required: True whenever the alternate rate is used. The wash-up can claw back the saving, so never quote the alternate rate as cheaper without saying this.
    - `working` string, required: The arithmetic, in one line, for showing your work.
    - `notes` string[], required: What applied, and what to watch for.
    - `excludes` string[], required: What this deliberately does not do.
  - `disclaimer` string, required: Scope and limits of this calculation.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/calculate/apis/calculate-co-nz-api.md) · [All operations](https://skmtc.dev/calculate/apis/calculate-co-nz-api/llms.txt) · [OpenAPI document](https://skmtc.dev/calculate/apis/calculate-co-nz-api/revisions/aa59a8e76614?raw)
