---
title: "30% Ruling Calculator"
method: POST
path: "/api/v1/tools/30-percent-ruling-calculator"
tags: ["tools"]
---

# 30% Ruling Calculator

`POST /api/v1/tools/30-percent-ruling-calculator`

## Request

- Base URL: `https://toolforte.com`
- URL: `https://toolforte.com/api/v1/tools/30-percent-ruling-calculator`
- Auth: HTTP bearer

Work out the tax-free allowance under the Dutch 30% ruling for a gross annual salary with the 2026 salary norm and WNT cap, plus a simplified estimate of net pay with and without the ruling and the yearly advantage.

## Request body

- object
  - `grossAnnualSalary` integer
  - `youngMaster` boolean

## Response `200`

Successful result

- object
  - `ok` boolean
  - `data` object
    - `ok` boolean
    - `grossAnnualSalary` integer
    - `salaryNorm` integer
    - `eligible` boolean
    - `allowancePerYear` integer
    - `allowancePerMonth` integer
    - `taxableSalaryWithRuling` integer
    - `netPerYearWithoutRuling` integer
    - `netPerYearWithRuling` integer
    - `netAdvantagePerYear` integer
    - `cappedByWnt` boolean
    - `limitedByNorm` boolean
    - `notes` string[]

## Other responses

- `400`: Missing or invalid request fields
- `401`: Invalid or missing API key
- `429`: Monthly plan limit reached

---

[API](https://skmtc.dev/toolforte/apis/toolforte-api.md) · [All operations](https://skmtc.dev/toolforte/apis/toolforte-api/llms.txt) · [OpenAPI document](https://skmtc.dev/toolforte/apis/toolforte-api/revisions/4d814d484dfc?raw)
