BedrockCalculator
Verified Primary-Source MathematicsVerified by Aapt Dubey, MBA (Marketing & Finance) 8 primary sourcesLast verified August 31, 2026

Indonesia Net Salary Calculator (Gaji Bersih After PPh 21 and BPJS)

Quick Answer: A gross salary of Rp 10,000,000 a month for a single employee with no dependents leaves Rp 9,400,000 net: Rp 400,000 of BPJS employee contributions and Rp 200,000 of PPh 21. The employer pays Rp 11,024,000 to deliver it. December is not like the other eleven months. The final tax period reconciles the year to the progressive ladder and withholds Rp 620,000 instead of Rp 200,000, dropping net pay to Rp 8,980,000.

Assumptions

Loading
Rp
Rp
Rp

Preset scenarios

Monthly Net Salary (Gaji Bersih)
Rp 9,400,000.00

Every period in the schedule below reconciles to the exact penny.

Monthly Gross Salary
Rp 10,000,000.00
BPJS Employee Deduction
Rp 400,000.00
PPh 21 Withheld (TER Month)
Rp 200,000.00
Total Deducted
Rp 600,000.00
Deductions as a Share of Gross
6.00% of gross
TER Category and Rate Applied
Category A at 2%, status TK/0
What the TER Rate Is Applied To
The TER rate is applied to the full gross of Rp 10000000, not to gross less BPJS. PP 58/2023 Pasal 2(4) applies the monthly effective tariff to penghasilan bruto bulanan.
JHT and JP Employee Share
Rp 300,000.00
Deductibility of BPJS
Only the JHT and JP employee shares are deductible, and only in the annual Pasal 17 computation. The BPJS Kesehatan employee 1% is never deductible, and none of them reduce the monthly TER base.
Total Monthly Employer Cost
Rp 11,024,000.00
Annual Gross
Rp 120,000,000.00
Annual PPh 21 Liability (Pasal 17)
Rp 2,820,000.00
December Withholding (Reconciliation)
Rp 620,000.00
December Net Pay
Rp 8,980,000.00
Why December Differs
The eleven TER months under-collected against the annual Pasal 17 liability, so the final tax period withholds the shortfall and December net pay is LOWER than an ordinary month.

Net Pay by Month

Remaining balanceCumulative principalCumulative interest
12 periods, peak Rp 112,380,000

Twelve Months of Net Pay, With the Final-Period Reconciliation

Showing 12 rows.

MonthGrossBPJS EmployeePPh 21
JanuaryRp 10000000.00Rp 400000.00Rp 200000.00
FebruaryRp 10000000.00Rp 400000.00Rp 200000.00
MarchRp 10000000.00Rp 400000.00Rp 200000.00
AprilRp 10000000.00Rp 400000.00Rp 200000.00
MayRp 10000000.00Rp 400000.00Rp 200000.00
JuneRp 10000000.00Rp 400000.00Rp 200000.00
JulyRp 10000000.00Rp 400000.00Rp 200000.00
AugustRp 10000000.00Rp 400000.00Rp 200000.00
SeptemberRp 10000000.00Rp 400000.00Rp 200000.00
OctoberRp 10000000.00Rp 400000.00Rp 200000.00
NovemberRp 10000000.00Rp 400000.00Rp 200000.00
DecemberRp 10000000.00Rp 400000.00Rp 620000.00
Quick Answer: A gross salary of Rp 10,000,000 a month for a single employee with no dependents leaves Rp 9,400,000 net: Rp 400,000 of BPJS employee contributions and Rp 200,000 of PPh 21. The employer pays Rp 11,024,000 to deliver it. December is not like the other eleven months. The final tax period reconciles the year to the progressive ladder and withholds Rp 620,000 instead of Rp 200,000, dropping net pay to Rp 8,980,000.

Overview

Indonesian gross to net has two deductions and one trap.

The deductions are straightforward in isolation. BPJS takes an employee share across five programmes, and PPh 21 is withheld monthly by the employer. The trap is the relationship between them, and it is a legal question rather than a presentational one.

PPh 21 is withheld on gross pay, not on pay after BPJS. Since PP 58/2023 the monthly withholding uses a Tarif Efektif Rata-rata, a single average effective rate read off a schedule, and Pasal 2(4) applies it to penghasilan bruto bulanan, the month's gross income. The BPJS employee contributions come out of the same gross in parallel. Netting BPJS off first and then applying the TER rate understates the withholding every single month, and on the reference case above it would put the rate in the 1.75% band instead of the 2% band.

The employee JHT and JP contributions are deductible, but only in the annual computation under Pasal 17, which the employer performs in the final tax period. The BPJS Kesehatan employee contribution is never deductible at all.

The second thing worth understanding before reading your own payslip is that the eleven TER months are deliberately approximate. They are trued up once, at the end of the year, and the size of that true-up is the number most people are unprepared for.

How This Is Calculated

1. Charge each BPJS programme on its own base. The three ceilings are different and only one of them is indexed. BPJS Kesehatan runs on the wage floored at the local minimum wage and capped at Rp 12,000,000, a ceiling fixed since 2020. JP runs on the wage capped at the pension ceiling, which is reindexed every year to prior-year GDP growth. JHT, JKK and JKM have no ceiling at all.

Basekesehatan=min(max(W, UMK), 12,000,000)BaseJP=min(W, CeilingJP)Base_{kesehatan} = \min(\max(W,\ UMK),\ 12{,}000{,}000) \qquad Base_{JP} = \min(W,\ Ceiling_{JP})

2. Total the employee side. Kesehatan takes 1%, JHT 2% and JP 1% from the employee. JKK and JKM are employer-paid in full and take nothing from the employee.

BPJSemployee=0.01×Basekesehatan+0.02×W+0.01×BaseJPBPJS_{employee} = 0.01 \times Base_{kesehatan} + 0.02 \times W + 0.01 \times Base_{JP}

3. Fix the TER category from PTKP status. PP 58/2023 Pasal 2(3) sets the category by marital status and dependents at the start of the tax year, so a change in June does not affect withholding until the following January. Status TK/0, TK/1 and K/0 give category A, TK/2, TK/3, K/1 and K/2 give B, and K/3 gives C.

4. Apply the TER rate to gross. The rate is read against the month's gross income, with no deduction for biaya jabatan, for PTKP or for BPJS.

PPh21monthly=W×rTERPPh21_{monthly} = W \times r_{TER}

5. Net pay is gross less both deductions.

Net=WBPJSemployeePPh21monthlyNet = W - BPJS_{employee} - PPh21_{monthly}

6. Employer cost is gross plus the employer side. That is 4% Kesehatan, 3.7% JHT, the JKK rate for your risk class, 0.30% JKM and 2% JP, each on its own base.

7. Compute the real annual liability under Pasal 17. In the final tax period the employer works out what the year actually owed. Biaya jabatan is 5% of annual gross capped at Rp 6,000,000, the annual JHT and JP employee contributions are deducted, PTKP is subtracted, and the result is rounded down to the nearest Rp 1,000 before the progressive ladder is applied.

PKP=GBJJHT/JPPTKP1000×1000PKP = \left\lfloor \frac{G - BJ - JHT\text{/}JP - PTKP}{1000} \right\rfloor \times 1000

8. December withholds the difference. The eleven TER months are subtracted from the annual liability, and whatever remains is taken in the final period.

PPh21December=Taxannual11×PPh21monthlyPPh21_{December} = Tax_{annual} - 11 \times PPh21_{monthly}

This can be negative, in which case the TER months over-collected and the final period returns the excess.

Worked Example

Gross Rp 10,000,000 a month, single with no dependents, very low JKK risk, no local UMK entered, the default pension ceiling of Rp 11,086,300.

Step 1 (the bases). Kesehatan: min(10,000,000, 12,000,000) = Rp 10,000,000. JP: min(10,000,000, 11,086,300) = Rp 10,000,000. Neither ceiling binds at this wage.

Step 2 (employee contributions). Kesehatan 1% = Rp 100,000, JHT 2% = Rp 200,000, JP 1% = Rp 100,000. Total Rp 400,000.

Step 3 (the TER category). TK/0, so category A.

Step 4 (the TER rate on gross). Rp 10,000,000 falls in the band above Rp 9,650,000 and up to Rp 10,050,000, so the rate is 2%, and the withholding is Rp 10,000,000 x 2% = Rp 200,000.

Step 5 (the error this avoids). Applying the rate to gross less BPJS, Rp 9,600,000, would land in the 1.75% band and withhold Rp 168,000. That is Rp 32,000 too little every month, and it is not what the regulation says.

Step 6 (net pay). Rp 10,000,000 - Rp 400,000 - Rp 200,000 = Rp 9,400,000, which is 6.00% of gross deducted.

Step 7 (employer cost). Kesehatan 4% = Rp 400,000, JHT 3.7% = Rp 370,000, JKK 0.24% = Rp 24,000, JKM 0.30% = Rp 30,000, JP 2% = Rp 200,000, a total of Rp 1,024,000. The employer pays Rp 11,024,000 for an employee who banks Rp 9,400,000, a wedge of Rp 1,624,000 a month.

Now the annual leg.

Step 8 (annual gross). Rp 10,000,000 x 12 = Rp 120,000,000

Step 9 (biaya jabatan). 5% x Rp 120,000,000 = Rp 6,000,000, which is exactly the cap. Allowed: Rp 6,000,000.

Step 10 (deductible contributions). JHT and JP employee shares, Rp 300,000 a month, so Rp 300,000 x 12 = Rp 3,600,000. The Rp 100,000 a month of Kesehatan is not deductible and is excluded.

Step 11 (taxable income). Rp 120,000,000 - Rp 6,000,000 - Rp 3,600,000 = Rp 110,400,000, less PTKP of Rp 54,000,000 = Rp 56,400,000. Already a whole thousand, so the statutory round-down changes nothing here.

Step 12 (the annual tax). Entirely inside the first Pasal 17 band, so Rp 56,400,000 x 5% = Rp 2,820,000.

Step 13 (the true-up). Withheld across the eleven TER months: Rp 200,000 x 11 = Rp 2,200,000. December therefore takes Rp 2,820,000 - Rp 2,200,000 = Rp 620,000, which is 3.1 times an ordinary month.

Step 14 (December net pay). Rp 10,000,000 - Rp 400,000 - Rp 620,000 = Rp 8,980,000, or Rp 420,000 less than every other month of the year.

Step 15 (the year reconciles). Rp 9,400,000 x 11 + Rp 8,980,000 = Rp 112,380,000 of net pay, and the twelve tax legs sum to exactly the Rp 2,820,000 annual liability.

What This Does Not Account For

  • Irregular pay. The calculator assumes a level wage every month, which is what makes annual gross twelve times the monthly figure. A bonus, a THR or a mid-year raise changes the TER month it lands in and changes the annual reconciliation. The THR case has its own calculator.
  • Which month is the final tax period. The reconciliation is modelled as December. Where employment ends mid-year the final period is the last month of employment instead.
  • Income other than employment income. Freelance income, rental income and investment income all enter the annual return and are not modelled here.
  • The pensioner deduction. Biaya pensiun is 5% capped at Rp 2,400,000 a year, not the Rp 6,000,000 employee figure used here.
  • Your local minimum wage. The BPJS Kesehatan floor is set per regency and is never assumed. Enter it only if your wage is below it.
  • The JP pension ceiling with full confidence. It is reindexed annually, and the Rp 11,086,300 default is the March 2026 figure taken from a BPJS Ketenagakerjaan circular that could not be retrieved from bpjsketenagakerjaan.go.id itself. It is exposed as an editable input for that reason. Confirm it before relying on it.
  • Your JKK risk class. BPJS Ketenagakerjaan assigns it from your business activity. Check your certificate rather than guessing.
  • Non-cash benefits and natura. Taxable fringe benefits under UU HPP are not modelled.
  • Tax credits, foreign tax relief and married-filing arrangements, including the NPWP-combining election for a working spouse.

Common Pitfalls

  • Applying the TER rate to pay after BPJS. It goes on gross. This is the single commonest modelling error and it understates withholding every month.
  • Expecting December to look like November. It routinely does not, and on the reference case it is more than three times the deduction.
  • Deducting BPJS Kesehatan against PPh 21. Only JHT and JP are deductible, and only in the annual computation.
  • Applying one ceiling to all five programmes. Kesehatan caps at Rp 12,000,000, JP at a separate indexed figure, and JHT, JKK and JKM have no ceiling at all.
  • Updating your marital status mid-year and expecting withholding to move. The TER category is fixed at the start of the tax year.
  • Claiming a fourth dependent. PTKP caps dependents at three, and so does the TER category assignment.
  • Reading employer cost as take-home. The gap between the two is over 16% of gross on the reference case.
  • Assuming a 21% or flat rate. Neither the TER schedule nor the Pasal 17 ladder is flat.

Frequently Asked Questions

Why is my December payslip so much smaller?
Because the eleven earlier months were withheld at an average effective rate, and the final tax period recomputes the year properly against the progressive ladder and takes the shortfall in one go. On a Rp 10,000,000 salary that is Rp 620,000 instead of Rp 200,000.
Is PPh 21 calculated before or after BPJS?
Before. The TER rate is applied to gross monthly income under PP 58/2023 Pasal 2(4). The BPJS employee contributions are a separate deduction from the same gross.
Can I ever get money back in December?
Yes. If the TER months over-collected, the final period returns the excess and December net pay is higher than an ordinary month rather than lower.
Which BPJS contributions reduce my tax?
The employee JHT (2%) and JP (1%) contributions, and only in the annual Pasal 17 computation. The Kesehatan 1% never does.
Does the employer's JKK class affect my take-home pay?
No. JKK and JKM are paid entirely by the employer, so changing the risk class moves employer cost and leaves net pay untouched.
Why does my BPJS deduction stop growing with my salary?
Only partly. Kesehatan stops at the Rp 12,000,000 wage ceiling and JP stops at the pension ceiling, but JHT has no ceiling, so its 2% keeps scaling with the whole wage however high it goes.
What if I marry or have a child during the year?
Your withholding does not change until the following January. PP 58/2023 Pasal 2(3) fixes the TER category by your PTKP status at the start of the tax year. The annual computation does use your correct status, so the difference comes out in the reconciliation.

Sources

  • Peraturan Pemerintah Nomor 58 Tahun 2023, BPK JDIH text. Pasal 2(3) for the category being fixed at the start of the tax year, Pasal 2(4) for the monthly effective tariff applied to penghasilan bruto bulanan and for the A, B and C category assignments, and the Lampiran for the three rate schedules.
  • Undang-Undang Nomor 7 Tahun 2021 (UU HPP), amending UU PPh Pasal 17, for the five-band progressive ladder.
  • PMK 101/PMK.010/2016 for PTKP of Rp 54,000,000 with Rp 4,500,000 additions for marriage and for each of up to three dependents.
  • PMK 250/PMK.03/2008 for biaya jabatan at 5% of gross capped at Rp 6,000,000 a year.
  • Perpres 64/2020 Pasal 30(1) and 32 for BPJS Kesehatan at 5% split 4% employer and 1% employee, the Rp 12,000,000 ceiling and the local minimum wage floor.
  • PP 46/2015 Pasal 16 for JHT at 5.7% split 3.7% and 2%; PP 44/2015 Pasal 16(1) and 18(1) for the five JKK risk classes and JKM at 0.30%; PP 45/2015 Pasal 28 and 29(3) for JP at 3% split 2% and 1% and its annual reindexation.
  • The March 2026 JP wage ceiling of Rp 11,086,300 comes from BPJS Ketenagakerjaan circular B/1226/022026 and was not retrieved from bpjsketenagakerjaan.go.id directly. It is the weakest-sourced figure on this page and is exposed as an editable input.
  • All figures verified on 31 August 2026.

Add This Website as Preferred Source on Google

See Bedrock Calculator first in your Search results & AI Overviews

Start with the basics

Savings Calculator

Savings Calculator

Related calculators in this suite

Complementary financial planning tools