Compliance Reference
This page is a lookup table, not a tutorial: the exact PTKP amounts, tax mechanics, BPJS rates, and overtime multipliers wired into Interwise’s payroll engine, in one place. Every number here is the number the engine actually calculates with — not a rounded approximation — so it doubles as an audit reference when you need to check a payslip by hand.
For how these pieces fit together inside a single payroll run, see the Payroll Engine deep dive (coming soon).
PTKP (Penghasilan Tidak Kena Pajak)
PTKP is the annual non-taxable income threshold — it’s subtracted from annualized net income before tax is calculated. The code has two parts: TK (Tidak Kawin, unmarried) or K (Kawin, married), followed by the number of dependents the employee has, from 0 up to 3.
| Code | Status | Dependents | Annual PTKP |
|---|---|---|---|
| TK/0 | Unmarried | 0 | Rp 54,000,000 |
| TK/1 | Unmarried | 1 | Rp 58,500,000 |
| TK/2 | Unmarried | 2 | Rp 63,000,000 |
| TK/3 | Unmarried | 3 | Rp 67,500,000 |
| K/0 | Married | 0 | Rp 58,500,000 |
| K/1 | Married | 1 | Rp 63,000,000 |
| K/2 | Married | 2 | Rp 67,500,000 |
| K/3 | Married | 3 | Rp 72,000,000 |
These values were set in 2016 and are still current — Interwise’s engine keeps them as constants, and they’ll be updated the moment the regulation changes.
PPh 21 — Two Calculation Methods
Interwise calculates income tax (PPh 21) one of two ways, depending on which month of the year it is:
- TER (Tarif Efektif Rata-rata / “IdTer”) — used for every month except December (and except an employee’s last active month, if that falls mid-year). A single effective rate is looked up against that month’s gross income and applied directly — no annualization, no brackets, just a flat withholding rate for the month.
- Bracket-progressive settlement — used for December, or an employee’s last month of employment. This is the full-year settlement: it recomputes the entire year’s tax liability from annualized taxable income using the progressive brackets, then nets off whatever TER withholding was already collected across the year (over-withheld months produce a refund; under-withheld months produce a top-up).
TER category mapping
TER rates are looked up from a category-specific rate table (PMK 168/2023), keyed by income band. Which category an employee falls into depends on their PTKP code:
| PTKP Code | TER Category |
|---|---|
| TK/0, TK/1, K/0 | TER_A |
| TK/2, TK/3, K/1, K/2 | TER_B |
| K/3 | TER_C |
Each category has its own ladder of income bands, from 0% at the lowest band up to 34% at the highest — the engine looks up the band that the month’s gross income (salary plus taxable employer BPJS contributions) falls into and applies that flat rate directly to that income, no annualization involved.
Bracket-progressive rates (December / last month settlement)
The settlement month applies these progressive brackets to PKP (Penghasilan Kena Pajak, taxable income) — each bracket’s rate applies only to the slice of PKP that falls within it:
| PKP Range | Rate |
|---|---|
| Rp 0 – Rp 60,000,000 | 5% |
| Rp 60,000,000 – Rp 250,000,000 | 15% |
| Rp 250,000,000 – Rp 500,000,000 | 25% |
| Rp 500,000,000 – Rp 5,000,000,000 | 30% |
| Above Rp 5,000,000,000 | 35% |
PKP is calculated as:
PKP = annualizedNet − Position Allowance − PTKP
floored down to the nearest Rp 1,000.
Position allowance (biaya jabatan)
A standard deduction of 5% of annualized net income, capped at Rp 6,000,000 per year, applied automatically before PKP is derived — no configuration needed per employee.
No-tax-ID surcharge
A 20% surcharge on the calculated tax applies whenever an employee has no NIK (national ID) on file. Since PMK 112/2022, the NIK is Interwise’s sole tax ID — there is no separate NPWP field — so the surcharge triggers only when the NIK is genuinely empty.
BPJS Kesehatan (Health Insurance)
| Party | Rate | Salary Ceiling |
|---|---|---|
| Employee | 1% | Rp 12,000,000 |
| Employer | 4% | Rp 12,000,000 |
Both employee and employer contributions are calculated on salary capped at the ceiling — earnings above Rp 12,000,000 are not subject to additional Kesehatan contribution.
BPJS Ketenagakerjaan (Employment Insurance)
Four components, each with its own rate structure:
| Component | Employee | Employer | Salary Ceiling |
|---|---|---|---|
| JKK (Jaminan Kecelakaan Kerja) | — | 0.24%* | None |
| JKM (Jaminan Kematian) | — | 0.3% | None |
| JHT (Jaminan Hari Tua) | 2% | 3.7% | None |
| JP (Jaminan Pensiun) | 1% | 2% | Rp 11,086,300 (effective March 2026) |
* JKK is an employer-only, industry-risk-based rate — 0.24% is the configured default (lowest risk class); the actual rate is configurable per employee/industry.
JHT has no salary ceiling — both employee and employer contributions apply to full salary. JP is capped at Rp 11,086,300; earnings above that are not subject to additional JP contribution.
Overtime Multipliers
Overtime hours are grouped by ISO week (Monday–Sunday). Within each week, regular and public-holiday hours are tracked separately and multiplied on a tiered basis:
| Hour Type | Tier | Multiplier |
|---|---|---|
| Regular overtime | First hour of the week | 1.5x |
| Regular overtime | Every additional hour that week | 2x |
| Public holiday overtime | First 7 hours of the week | 2x |
| Public holiday overtime | 8th hour of the week | 3x |
| Public holiday overtime | Beyond the 8th hour | 4x |
Hourly rate = basic salary ÷ 173 (the standard monthly working-hours basis).
Only overtime entries that are both approved and marked paid are counted toward these totals.
A Note on Currency
All figures on this page reflect current Indonesian payroll regulation (PPh 21 via UU HPP and PMK 168/2023, BPJS via PP 44/2015 and current BPJS ceilings) as implemented in Interwise’s payroll engine. When a regulation changes — a new PTKP table, a revised BPJS ceiling, an updated TER schedule — the engine’s configuration is updated centrally and every subsequent payroll run picks it up automatically.
Where to Go Next
- Overview — what Interwise is, the modules it’s built from, and the core loop from hiring a candidate to a compliant payslip.
- Roles & Access — who can run payroll and see these numbers, and how tenant isolation keeps them private per company.
A Payroll Engine deep dive — walking through the full calculation order step by step — is on the way.