Most employees in Indonesia never calculate their own tax โ the employer withholds PPh 21 every month and files the paperwork. But checking it yourself is the only way to know whether your December payslip or your SPT is right. The calculation has four steps.
Add up gross income (penghasilan bruto)
Take every payment from your employer for the year โ salary, fixed and variable allowances, overtime, THR and bonuses, and taxable benefits in kind. Then add the premiums your employer pays for your JKK, JKM and BPJS Kesehatan. They never reach your bank account, but they count as your income.
Subtract biaya jabatan and pension contributions
Deduct the biaya jabatan (occupational expense) of 5% of gross, capped at Rp6,000,000 a year, and your own JHT (2%) and JP (1%) contributions. Your 1% BPJS Kesehatan is not deductible. The result is net income (penghasilan neto).
Subtract PTKP to get taxable income
PTKP is Rp54 million for a single person, plus Rp4.5 million if married and Rp4.5 million for each dependant up to three. Qualifying zakat paid through an official body also comes off here. Round the result down to the nearest Rp1,000 โ that is PKP.
Apply the Pasal 17 rates
Tax the first Rp60 million of PKP at 5%, the next Rp190 million at 15%, then 25% up to Rp500 million, 30% up to Rp5 billion and 35% above. The total is your PPh 21 for the year.
Worked example: Rp15 million a month, married with one child
Rina earns a fixed Rp15,000,000 a month, receives THR of one month's pay, and is assessed as K/1 (her employer has her family details). Her employer pays BPJS premiums for her.
| Item | Amount |
|---|---|
| Salary (12 ร Rp15,000,000) | Rp180,000,000 |
| THR | Rp15,000,000 |
| Employer BPJS Kesehatan, JKK, JKM | Rp6,732,000 |
| Gross income | Rp201,732,000 |
| โ Biaya jabatan (capped) | Rp6,000,000 |
| โ JHT 2% | Rp3,600,000 |
| โ JP 1% (cap rose in March) | Rp1,319,578 |
| Net income | Rp190,812,422 |
| โ PTKP K/1 | Rp63,000,000 |
| Taxable income (rounded down) | Rp127,812,000 |
| 5% ร Rp60,000,000 | Rp3,000,000 |
| 15% ร Rp67,812,000 | Rp10,171,800 |
| PPh 21 for 2026 | Rp13,171,800 |
That is about 6.5% of her gross income, or roughly Rp1.1 million a month on average.
Run the same calculation for your own salary.
Use the Income Tax Calculator โWhy the payslip doesn't match the average
Rina's employer does not withhold Rp1.1 million every month. From January to November it applies the TER rate for category B to each month's gross โ 6% in a normal month (gross Rp15,561,000 including employer premiums) and much more in her THR month โ and in December it works out the full-year figure above and withholds whatever is left. That is why December payslips often look odd. Our TER explainer walks through it.
What else can change the result
- Two jobs in one year. Each employer gives you the full PTKP and 5% bracket, so you will owe extra when you file your SPT.
- Other income. Freelance fees, business profit and foreign income are added in your annual return. Final-taxed income โ deposit interest, rent, property sales โ is not.
- The 2026 PPh 21 DTP incentive. Workers in footwear, textiles, furniture, leather and tourism earning up to Rp10 million a month have their PPh 21 paid by the government.
Frequently asked questions
Is PPh 21 calculated on gross or net salary?
On gross. Employer-paid BPJS premiums are added, then biaya jabatan, your JHT and JP contributions and PTKP are subtracted before the Pasal 17 rates apply.
Do I need to calculate PPh 21 myself?
Not usually โ employers do it. But checking helps you spot errors on your December payslip and in your Form 1721-A1 before you file your SPT.