Payroll in Indonesia means calculating gross-to-net salary, withholding the employee’s BPJS social-security contributions, applying progressive PPh 21 income tax, paying the larger employer BPJS contributions on top, issuing payslips and filing the monthly SPT Masa PPh 21 return with the Directorate General of Taxes. The key local issue is that monthly tax withholding now uses one method while the annual reconciliation uses another, so the figure you take off each payslip in January is not the figure that decides the year-end bill.
Total employer cost for a Rp 120,000,000 annual salary is about Rp 132,288,000, around 10% on top of gross.
Our verdict: Fewer than 2 employees and no local entity in Indonesia: use an EOR at $199 to $699 per employee per month. At 2 or more, opening a PT PMA (roughly $4,000 in setup costs and 6 to 10 weeks to complete) usually works out cheaper. Already running a local entity: standard payroll outsourcing is the cheaper route.
Use this page if you already have, or plan to set up, a local entity in Indonesia and want to know what running payroll actually involves. If you want to hire in Indonesia without becoming the legal employer, an Employer of Record is the faster route.
No local entity yet? See our guide to EOR in Indonesia.
Payroll in Indonesia at a Glance
| Payroll cycle | Monthly |
| Employer contribution | 10.24 – 11.74% employer BPJS |
| Employee deductions | 2.0% JHT + 1.0% JP + 1.0% Kesehatan = 4.0% |
| Income tax | Progressive 5-35% (PPh 21) |
| Main payroll filing | Monthly PPh 21 withholding return (SPT Masa PPh 21) plus annual reconciliation |
| Filing deadline | 20th of the following month |
| Employee register | BPJS Ketenagakerjaan and BPJS Kesehatan enrolment plus employee NPWP tax number |
| Payslips required | Yes |
| Entity required | Yes for standard payroll; no if using an EOR |
| Main authority | Directorate General of Taxes (Direktorat Jenderal Pajak / DJP) |
How Does Payroll Work in Indonesia?
Indonesian payroll runs on a monthly cycle. You calculate each employee’s gross salary, withhold their BPJS contributions and income tax to reach net pay, add the larger employer BPJS charges on top, then file and pay what is owed to the tax authority by fixed dates in the following month.
That tax authority is the Directorate General of Taxes, known locally as Direktorat Jenderal Pajak or DJP. It is Indonesia’s equivalent of HMRC or the IRS: the body that collects income tax, processes payroll filings and audits employers whose returns do not reconcile. Your monthly PPh 21 return goes to the DJP.
The other half of the system is BPJS. BPJS Ketenagakerjaan is the employment social-security scheme covering old-age savings, pension and work-accident cover, and BPJS Kesehatan is the separate national health insurance scheme. Both employee and employer pay into them, and every employee has to be enrolled.
The split between the two sides is unusual. The employee pays only about 4% in BPJS deductions, while the employer carries the heavier 10.24% to 11.74% load, the reverse of the pattern in much of Europe.
The point that catches foreign employers is the income tax method. Since 2024 the monthly PPh 21 withholding uses the TER average-effective-rate tables, a simplified flat-rate lookup, but the December and annual calculation re-runs the full progressive brackets.
Get either the BPJS enrolment or the tax method wrong and two things break: the employee’s take-home pay is off, and your year-end reconciliation no longer ties out against what you withheld each month.
What Payroll Taxes Apply in Indonesia?
Three charges sit on every Indonesian salary: the employer’s BPJS contributions, the employee’s BPJS deductions, and progressive PPh 21 income tax. They are calculated in a fixed order, and that order is what produces the gross-to-net result.
Employer Payroll Contributions in Indonesia
The employer carries the larger share of BPJS. You pay JHT old-age savings at 3.7%, JP pension at 2%, BPJS Kesehatan health at 4%, JKM death cover at 0.3%, and JKK work-accident cover that ranges from 0.24% to 1.74% depending on the risk tier of your industry. Together that is a burden of roughly 10.24% to 11.74% on top of gross salary.
JKK is the variable. A low-risk office employer sits at 0.24%, while a high-risk industrial employer can reach 1.74%, so your true employer cost depends on which risk tier your business falls into.
This matters for budgeting. The JP pension contribution stops at a monthly wage of Rp 11,086,300 and the health contribution stops at Rp 12,000,000, so for higher earners the employer percentage falls as parts of the salary clear those ceilings.
The true cost of employing in Indonesia
| Employer contribution | Rate |
|---|---|
| Pension | 5.7% of gross wage |
| Health | 4% of gross wage |
| Job Loss Security (Jaminan Kehilangan Pekerjaan – JKP) | 0.46% of gross wage |
| Contribution ceiling | IDR 133,035,600 a year |
| Total employer burden | 10.24 to 11.74% of gross wage |
Statutory employer rates; items can apply to different wage bases or carry conditions, so lines do not always sum to the total.
A statutory holiday bonus applies.
Sources: taxsummaries.pwc.com (employer contributions), peraturan.bpk.go.id (bonuses).
Employee Payroll Deductions in Indonesia
You withhold three BPJS contributions from the employee before income tax. JHT old-age savings is 2% of gross with no ceiling, JP pension is 1% capped at a monthly wage of Rp 11,086,300, and BPJS Kesehatan health is 1% capped at Rp 12,000,000. Together they take about 4% off the top of gross pay.
These are the employee’s contributions, but you are responsible for calculating, withholding and remitting them alongside your own employer share.
Because JP and health stop at their ceilings, the 4% figure only holds for salaries below those caps. Above them the employee’s effective deduction rate drifts down, which your gross-to-net engine has to handle correctly.
Income Tax on Salary in Indonesia
Indonesia applies progressive PPh 21 income tax, the personal income tax on employment income, running from 5% to 35%. The bands are 5% up to Rp 60,000,000 of annual taxable income, 15% from Rp 60,000,000 to Rp 250,000,000, 25% to Rp 500,000,000, 30% to Rp 5,000,000,000, and 35% above that.
The tax is not charged on gross. From gross you first subtract the biaya jabatan, an occupational expense deduction set at 5% of gross and capped at Rp 6,000,000 a year, then the employee’s JHT and JP contributions, then the PTKP non-taxable threshold.
PTKP is the personal allowance that everyone gets before tax applies. A single employee with no dependants, coded TK/0, has a PTKP of Rp 54,000,000 a year, and it rises with marriage and dependants. Whatever is left after those three subtractions is the taxable income the brackets apply to.
Payroll Tax Example: Gross Salary to Net Pay
Here is how the deductions stack up for a representative salary, worked on an annual basis. The figures come from the BPJS rates, the biaya jabatan and PTKP deductions, and the progressive brackets above.
| Gross annual salary | Rp 120,000,000 |
| JHT old-age (2%) | − Rp 2,400,000 |
| JP pension (1%) | − Rp 1,200,000 |
| BPJS Kesehatan health (1%) | − Rp 1,200,000 |
| Taxable income | Rp 56,400,000 |
| Income tax | − Rp 2,820,000 |
| Estimated net salary | Rp 112,380,000 |
| JKK work-accident (0.24%, low-risk) | + Rp 288,000 |
| JKM death (0.3%) | + Rp 360,000 |
| JHT old-age (3.7%) | + Rp 4,440,000 |
| JP pension (2%) | + Rp 2,400,000 |
| BPJS Kesehatan health (4%) | + Rp 4,800,000 |
| Total employer cost | Rp 132,288,000 |
Simplified illustration: Single employee TK/0 on Rp 10,000,000/month, below the JP and health ceilings so all rates apply on full salary; biaya jabatan capped at Rp 6,000,000 and taxable income falls wholly in the 5% band. Employer JKK uses the lowest 0.24% risk tier. Single with no dependants (TK/0) is Rp 54,000,000/year, rising with marriage and dependants.
Read the two bold rows together. A worker on Rp 120,000,000 gross takes home Rp 112,380,000, while your total cost as employer is Rp 132,288,000.
The gap on the employee side is narrow because their BPJS take is only about 4% and the tax sits wholly in the lowest band. The gap on the employer side is wider, which is the Indonesian payroll signature: budget well above gross, but the employee keeps most of theirs.
What Payroll Filings Are Required in Indonesia?
Indonesia splits payroll reporting into a recurring monthly return and a once-a-year reconciliation, and the relationship between the two is where errors hide. The monthly return is the SPT Masa PPh 21.
What SPT Masa PPh 21 Reports
The SPT Masa PPh 21 is the monthly withholding return every Indonesian employer files with the DGT, reporting the PPh 21 income tax withheld from all employees that month. It is the running record of what you have taken off payslips and remitted to the tax authority.
Because the monthly return uses the simplified TER average rates, it will not by itself equal each employee’s true annual liability. That is what the annual reconciliation exists to settle, so the two have to be read as a pair, not as standalone numbers.
When SPT Masa PPh 21 Is Due
The SPT Masa PPh 21 is due by the 20th of the following month, and the related tax and contribution payment is due earlier, by the 10th. Pay for May is paid by 10 June and reported by 20 June.
The payment deadline falling before the filing deadline catches people out, so your provider needs the run finalised with enough margin to settle the money first and submit the return second.
Who Files It
The legal obligation sits with the employer. In practice your payroll provider or accounting firm prepares and submits the SPT Masa PPh 21 on your behalf through the DGT’s electronic system, or your in-house team files it directly if you run your own Indonesian entity.
Either way, confirm in writing who presses submit each month and who runs the annual reconciliation. The liability for a late or wrong filing stays with you as employer regardless of who does the keying.
What Happens If Payroll Filings Are Wrong
Late or incorrect filing draws administrative penalties from the DGT, and late payment of the tax accrues monthly interest on the outstanding amount until it is settled. The larger exposure is the annual reconciliation: if your monthly TER withholding does not square with each employee’s progressive liability, the year-end correction can leave either the employee or the company owing a surprise balance. Getting the BPJS deductions and the tax base right every month is what keeps that December true-up small.
What Are the Payroll Deadlines in Indonesia?
Most Indonesian payroll obligations land monthly, split across two dates: payment by the 10th and the SPT Masa PPh 21 filing by the 20th. New-hire registration is the event-driven exception, due within 30 days of the start date.
| Obligation | Frequency | Deadline | Responsible party |
|---|---|---|---|
| Salary payment | Monthly | Per contract / company policy | Employer |
| Tax & social filing (SPT Masa PPh 21) | Monthly | 20th of the following month | Employer / payroll provider |
| Tax & contribution payment | Monthly | 10th of the following month | Employer / payroll provider |
| New-hire registration (BPJS + NPWP) | Per hire | Within 30 days of the start date | Employer / payroll provider |
| Payslip issue | Per pay run | With salary payment | Employer / payroll provider |
Whichapp tool
Payroll Deadline Tracker
Map your SPT Masa PPh 21 filing and payment dates across the year before the first run.
Payroll Operations Risk in Indonesia
Employers in Indonesia file with 3 separate agencies.
| Payroll operations factor | Indonesia |
|---|---|
| Agencies to file with | 3 |
| Labour-law changes (last 24 months) | 4 |
| Audit frequency | High |
| Penalty severity | Medium |
| Domestic payment rail | BI-FAST |
| Payment settlement | T+1 days |
| Currency stability | moderate |
Sources: kemnaker.go.id (compliance), bi.go.id (payments).
What Is BPJS in Indonesia Payroll?
BPJS is the backbone of Indonesian payroll registration, and it comes in two separate schemes that every employee must be enrolled in. BPJS Ketenagakerjaan is the employment social-security scheme, covering JHT old-age savings, JP pension, JKK work-accident cover and JKM death cover. BPJS Kesehatan is the separate national health insurance scheme.
Enrolment is not optional and it is not a payroll calculation step; it is a registration step. Each new employee has to be added to both BPJS schemes and must hold an NPWP, the individual taxpayer identification number used for income tax, within 30 days of starting.
Miss those registrations and you cannot file or remit correctly, and the employee loses access to the health and social-security cover they are legally owed. A provider that treats BPJS and NPWP setup as an afterthought leaves you exposed on the compliance side before a single pay run.
On payslips, Indonesia requires you to issue one to every employee each pay run, showing gross pay, each BPJS deduction, the income tax withheld and net pay. Your payroll provider should produce compliant payslips automatically and keep both BPJS enrolments and NPWP records in step with every hire and leaver.
How Much Does Payroll Outsourcing Cost in Indonesia?
There are two separate numbers in Indonesian payroll cost, and confusing them is the most common budgeting mistake. The first is your statutory employer cost, the 10.24% to 11.74% of employer BPJS that you fund on top of gross.
10 of the 14 EOR providers we track publish Indonesia fees; they range from $199 to $699 per employee per month.
| Provider | Monthly EOR fee | Contractor fee | Source |
|---|---|---|---|
| Remofirst | $199 | $25 | Pricing page ↗ |
| Remote People (formerly Horizons) | $199 | — | Pricing page ↗ |
| Playroll | $399 | $35 | Pricing page ↗ |
| Plane | $499 | $39 | Pricing page ↗ |
| Lano | $539 | $21 | Pricing page ↗ |
| WorkMotion | $549 | $31 | Pricing page ↗ |
| Atlas | $599 | — | Pricing page ↗ |
| Deel | $599 | $49 | Pricing page ↗ |
| Papaya Global | $650 | $25 | Pricing page ↗ |
| Remote | $699 | $29 | Pricing page ↗ |
| Gusto | Custom quote | $6 | Pricing page ↗ |
| Rippling | — | $8 | Pricing page ↗ |
| Safeguard Global | — | $10 | Pricing page ↗ |
Published list prices in USD: EOR fees are per employee per month, contractor fees per contractor per month. Providers that publish neither fee for Indonesia are not shown.
According to Whichapp’s July 2026 analysis of EOR fees across 40 countries, providers charge $199 to $699 per employee per month in Indonesia.
10 of the 14 providers we track publish Indonesia EOR fees. The lowest published rate is $199 per employee per month and the highest is $699.
Contractor management fees in Indonesia run from $6 to $49 per contractor per month.
The second is the fee you pay a provider to run the payroll for you. They are unrelated, and only the second is negotiable.
Managed Payroll Provider Fees
Managed payroll in Indonesia is normally priced per employee per month, and most providers quote rather than publish a rate. The price turns on headcount, on whether you also need accounting or HR support, and on local complexity such as your JKK risk tier and how many employees sit above the JP and health ceilings.
The fee buys the gross-to-net calculation, the SPT Masa PPh 21 filing, BPJS upkeep and payslip production. It does not include the statutory contributions themselves, which you fund on top, so gather two or three quotes before committing.
What Payroll Provider Fees Usually Include
A standard managed payroll fee in Indonesia should cover the monthly gross-to-net calculation, withholding of employee BPJS and PPh 21, preparation and electronic submission of the SPT Masa PPh 21 to the DGT, BPJS and NPWP registration, the annual reconciliation, and monthly payslips. Ask for that list in writing. If any of it sits outside the headline fee, you want to know before the first run, not after.
Extra Payroll Costs to Ask About
The gaps tend to appear at the edges of the standard cycle. Ask specifically about the annual reconciliation, handling of the TER-to-progressive year-end true-up, the religious holiday allowance (THR) that is a mandatory thirteenth-month payment, termination and severance calculations, correction filings, and onboarding setup fees for taking on your entity. These are the line items that turn a tidy per-head quote into a larger annual number.
When Payroll Outsourcing Becomes Cheaper Than EOR
The choice between running your own payroll and using an EOR is mostly about headcount and how long you plan to stay. An EOR carries a higher monthly fee per person because the provider is the legal employer and absorbs the entity, but it saves you setting one up.
Running your own payroll through an Indonesian PT is cheaper per head once you are past a handful of employees and committed to staying, because the entity and provider fee spread across more people. In our assessment, the more people you hire and the longer the horizon, the more the economics favour your own entity with outsourced payroll.
Whichapp tool
Employer Cost & Burden Calculator
Model total employer cost on an Indonesian salary, including the 10.24% to 11.74% employer BPJS, before you make an offer.
Payroll in Indonesia vs EOR in Indonesia
The line between the two routes is simple: standard payroll assumes you are the legal employer through an Indonesian entity, while an EOR makes the provider the legal employer so you do not need one.
| Standard payroll | EOR | |
|---|---|---|
| Legal employer | You (your entity) | The provider |
| Entity required | Yes | No |
| Monthly provider fee | Lower | Higher |
| Best for | Longer-term hiring | Fast market entry |
| Control of employment | You | Shared with provider |
| Employer admin burden | Higher | Carried by provider |
Use payroll outsourcing if you already have a local entity or are hiring enough people to justify one. Use an EOR if you need to hire before setting up an entity.
If that second case is you, our guide to EOR in Indonesia covers the providers, licensing and costs in full. EOR pricing and provider ranking live there, not on this page.
Best Payroll Providers for Indonesia
These providers all run payroll in Indonesia, but they are built for different situations. Below is where each one fits and the local point to check before you sign. We do not list EOR prices here; for unpriced managed payroll, treat the fee as by quote and confirm it during your shortlist calls.
4 providers in Whichapp’s independent index cover Indonesia. The top 4 by composite score:
- Deel (9.1/10). From $599/month. Best for scale, automation and contractor volume. Runs its own Indonesia entity.
- Papaya Global (8.2/10). From $650/month. Best for multinational payroll consolidation. Serves Indonesia through a partner.
- Remote (8.0/10). From $599/month. Best for IP protection and owned-entity purity. Runs its own Indonesia entity.
- Rippling (6.4/10). Best for unified IT, HR, and global finance. Runs its own Indonesia entity.
Rankings come straight from Whichapp’s provider index (coverage 30%, pricing transparency 25%, security and compliance 25%, integration depth 20%); see how we score.
Only 3 of 4 major EORs run their own Indonesia entity; 1 more serves it via a partner.
| Provider | Local entity | Services | Source |
|---|---|---|---|
| Deel | Own entity | EOR, Payroll, Contractor | Coverage page ↗ |
| Remote | Own entity | EOR, Payroll, Contractor | Coverage page ↗ |
| Rippling | Own entity | EOR, Payroll, Contractor | Coverage page ↗ |
| Papaya Global | Via partner | EOR, Payroll, Contractor | Coverage page ↗ |
Entity model as reported on provider websites, last checked 2026-06-06. An own entity means the provider is the direct legal employer; a partner model adds a third party to the chain.
Deel for Payroll in Indonesia
Deel is a strong fit if Indonesia sits alongside other Southeast Asian hires you want on one platform, with a single dashboard and API across markets. Indonesia watch-out: confirm whether your Indonesian payroll runs on Deel’s own local entity or a partner bureau, and that it files the SPT Masa PPh 21 directly and handles both BPJS schemes rather than handing them to a third party. Read our Deel review.
Remote for Payroll in Indonesia
Remote runs much of its payroll through owned entities, which gives a cleaner compliance chain than a partner-network model. That suits employers who want a direct line of accountability for the SPT Masa PPh 21 and BPJS contributions.
Indonesia watch-out: confirm Indonesian payroll is on Remote’s owned entity rather than a local partner, and that BPJS enrolment and NPWP setup are handled inside the platform. Read our Remote review.
Papaya Global for Payroll in Indonesia
Papaya Global is built for consolidating payroll across many countries with finance-grade reporting and audit trails, so it earns its place when Indonesia is one market in a larger stack. Its weakness is the opposite case: for a single Indonesian entity with no multi-country reporting need, the platform is heavier than the job requires.
Indonesia watch-out: Papaya leans on local partners in some markets, so confirm whether your Indonesian payroll runs on its own entity or a third-party bureau, and how directly it owns the monthly filing and the annual reconciliation. Read our Papaya Global review.
Rippling for Payroll in Indonesia
Rippling appeals when you want payroll wired into the same system as HR, IT and device management, with automated journal entries. Indonesia watch-out: it is platform-first, so confirm the depth of its Indonesian statutory handling, specifically the TER monthly withholding, the progressive annual reconciliation and both BPJS schemes, against what a local specialist would offer. Read our Rippling review.
Multiplier for Payroll in Indonesia
Multiplier is the value option for multi-country payroll where price predictability matters, which fits smaller Indonesian teams. The trade-off for that price is depth: in markets with a split monthly-versus-annual tax method it tends to carry less local specialist weight than a Papaya or an in-country bureau.
Indonesia watch-out: confirm it files the SPT Masa PPh 21 and registers BPJS and NPWP directly rather than through a reseller, and that its gross-to-net engine models the JP and health ceilings correctly before you anchor any salary offers on it. Read our Multiplier review.
Safeguard Global for Payroll in Indonesia
Safeguard Global is a payroll-led specialist rather than an HR platform with payroll bolted on, which appeals when running the payroll correctly is the whole point and you do not need a wider people stack. That focus is also its limit: if you want integrated HR, devices and onboarding in one tool, it does less than Rippling or Deel.
Indonesia watch-out: confirm its Indonesian coverage is run in-house rather than subcontracted, and that the service includes BPJS upkeep, NPWP registration and the annual PPh 21 reconciliation, not just the monthly calculation. Read our Safeguard Global review.
How to Choose a Payroll Provider in Indonesia
The questions below separate a provider that genuinely runs Indonesian payroll from one that resells a local bureau without owning the detail. Ask them before you sign, not after the first run.
Can They Handle SPT Masa PPh 21?
Confirm the provider prepares and submits the SPT Masa PPh 21 to the DGT directly through the electronic system, runs the annual reconciliation, and reconciles each monthly return against the actual payroll and bank payments. Ask who presses submit and by when.
Do They Manage BPJS and NPWP?
Check that new-hire enrolment in both BPJS Ketenagakerjaan and BPJS Kesehatan, plus NPWP registration, is handled within the 30-day deadline. A provider that treats BPJS and NPWP setup as an afterthought leaves your employees without cover and your filings out of step.
Can They Model Gross-to-Net Salary Accurately?
Indonesia’s JP and health ceilings and the biaya jabatan and PTKP deductions mean the gross-to-net maths is more layered than a flat percentage. A capable provider models it both ways and helps you frame offers, rather than just processing whatever number you hand over.
How Do They Update for Payroll Law Changes?
Indonesian payroll rules, BPJS ceilings, PTKP thresholds and the TER tables change periodically. Ask how the provider tracks DGT and BPJS changes and how quickly updates reach your payroll runs.
Who Is Liable for Payroll Errors?
The statutory liability stays with you as employer, but the contract should set out what the provider is accountable for if a miscalculation or late filing is their fault. Get the indemnity and correction process in writing.
Can They Support Multi-Country Reporting?
If Indonesia is one of several markets, confirm the provider can consolidate reporting across them in a single view, so your finance team is not stitching country files together by hand.
What Support Do They Offer During Terminations or Audits?
Terminations and DGT queries are where weak providers show their limits. Ask what support you get during a severance calculation or an audit, and whether a named contact handles it or you are routed through a ticket queue.
What Does Terminating an Employee Cost in Indonesia?
Severance: The statutory termination payment in Indonesia is a sum of up to three components, with the final amount depending on the reason for termination. For redundancy due to efficiency: (0.5 x Severance Pay) + (1 x Long Service Pay) + Compensation of Rights. 1. Severance Pay (Uang Pesangon): tiered based on length of service, 1 month’s wage for <1 year up to 9 months’ wages for 8+ years. 2. Long Service Pay (Uang Penghargaan Masa Kerja – UPMK): tiered for employees with 3+ years service, 2 months’ wages for 3-6 years up to 10 months’ wages for 24+ years. 3. Compensation of Rights (Uang Penggantian Hak – UPH): includes unused annual leave, relocation costs, and housing/medical allowance at 15% of total Severance Pay and Long Service Pay.
| Length of service | Minimum employer notice |
|---|---|
| All tenures | No fixed statutory notice period for employer dismissal; termination follows a prescribed process (PP 35/2021). Employee resignation requires 30 days’ written notice. |
Statutory leave: 12 working days of paid annual leave plus 17 public holidays a year.
Sources: peraturan.bpk.go.id (severance), peraturan.bpk.go.id (notice periods), peraturan.bpk.go.id (leave).
Indonesia Payroll Checklist Before Hiring
- Confirm whether you need payroll or an EOR
- Check your local entity status
- Model gross-to-net salary for your offers
- Confirm employer contribution rate (employer BPJS)
- Confirm employee deductions (JHT, JP, Kesehatan)
- Confirm income tax treatment
- Check who files SPT Masa PPh 21 and by when
- Confirm BPJS + NPWP registration is handled
- Confirm the payslip process
- Check leave, sick pay and termination workflows
- Ask who carries liability for calculation errors
- Confirm provider pricing and any extra fees
Work through this before your first hire. The BPJS and NPWP registration at point eight is the one foreign employers underestimate most often, because both schemes and the tax number have to be set up before payroll can run cleanly.
FAQs About Payroll in Indonesia
What is the employer payroll cost in Indonesia?
Employers pay roughly 10.24% to 11.74% of gross in BPJS contributions: JHT old-age at 3.7%, JP pension at 2%, health at 4%, JKM death at 0.3% and JKK work-accident from 0.24% to 1.74% depending on industry risk. The JP and health portions stop at their monthly ceilings, so the percentage eases for higher earners.
How do you calculate gross to net salary in Indonesia?
From gross you deduct employee BPJS of about 4% (2% JHT, 1% JP, 1% health), then apply PPh 21 income tax on the base after the biaya jabatan job-expense deduction and the PTKP allowance. On Rp 120,000,000 gross for a single TK/0 employee that leaves a net of Rp 112,380,000, with the tax sitting in the lowest 5% band.
What is PPh 21 in Indonesia?
PPh 21 is the personal income tax on employment income, charged progressively from 5% to 35% on annual taxable income after the biaya jabatan deduction, employee BPJS and the PTKP allowance. Since 2024 the monthly withholding uses the simplified TER average-rate tables, while the December and annual reconciliation applies the full progressive brackets.
What is BPJS in Indonesia?
BPJS is Indonesia’s state social-security system, split into two schemes. BPJS Ketenagakerjaan is the employment scheme covering old-age savings (JHT), pension (JP), work-accident (JKK) and death (JKM) cover, and BPJS Kesehatan is the national health insurance scheme. Both employer and employee pay in, and every employee must be enrolled in both.
When is the SPT Masa PPh 21 due in Indonesia?
The SPT Masa PPh 21 monthly withholding return is due by the 20th of the following month, and the related tax and contribution payment is due earlier, by the 10th. May payroll is paid by 10 June and reported by 20 June, and an annual reconciliation follows at year end.
Do you need an Indonesian entity to run payroll?
Yes for standard payroll: to be the legal employer, enrol staff in BPJS and file the SPT Masa PPh 21 you need a local entity, normally a PT. If you want to hire without setting one up, an EOR becomes the legal employer instead and handles the filings on its own entity. See our guide to EOR in Indonesia.
Methodology and Disclosure
BPJS contribution rates, the PPh 21 brackets, the biaya jabatan and PTKP deductions, filing deadlines and registration rules on this page come from Whichapp’s Indonesia statutory dataset, grounded in Directorate General of Taxes guidance and BPJS regulations, and refreshed as rates change. The worked example is calculated from those rates and reconciles by construction.
Provider assessments reflect our independent editorial view of payroll fit for Indonesia; we do not sell payroll, EOR or contractor services. Some provider links may carry affiliate referrals, which never affects our editorial judgement or the figures above.
Already hiring contractors instead of employees? See contractor management in Indonesia, or start from the Indonesia hiring hub for the full picture.
Primary sources
- Income tax and employee contributions: taxsummaries.pwc.com
- Employer contributions: taxsummaries.pwc.com
- Minimum wage: jdih.kemnaker.go.id
- Payroll filing deadlines: peraturan.pajak.go.id
- Notice periods and leave: peraturan.bpk.go.id
- Severance rules: peraturan.bpk.go.id
- Entity setup benchmark: bkpm.go.id