Guide
Payroll Software: Automate Salary, PPh 21, and BPJS Calculations
Payroll software earns its fee on the lines nobody checks: the TER base, the BPJS split, the overtime hour that was clocked but never approved. If your payslips look right but nobody can explain each rupiah, you have a calculator, not a payroll system.
We have spent more than 15 years delivering business systems for Indonesian companies in retail, distribution, finance, and operations. Payroll is where we see the most confident demos and the quietest errors. Compliance depth is the product.
This guide covers one worked payslip, how PPh 21 TER and BPJS flow across the year, ten vendor tests, first-year costs, and a parallel-run rollout. For the wider buy-or-build decision across all HR modules, start with our HRIS application guide.
TL;DR — the whole guide in five lines:
- Every payslip line needs a rule you can point to. Base, allowance, overtime, BPJS, and PPh 21 each have their own source.
- The TER base is not the gross on the payslip. Employer-paid JKK, JKM, and BPJS Kesehatan premiums are added before the rate is looked up.
- Regular months are easy. THR, resignations, retro pay, and December are where payroll software proves itself.
- Most companies should buy SaaS payroll and build only an edge, such as incentives or ERP journal posting.
- Run two month-ends in parallel and switch off the spreadsheet only when both match to the rupiah.

What Is Payroll Software?
Payroll software calculates what each employee earns, what is withheld, and what the company owes, then produces the payment, the payslip, the tax and BPJS reports, and the accounting journal. In Indonesia, that means PPh 21 under the TER system and two BPJS programmes every month.
A useful payroll system:
- turns approved attendance into overtime and allowances;
- applies BPJS rates and caps valid for the pay period;
- withholds PPh 21 with monthly TER and settles the year in the last tax period;
- handles THR, bonus, retro pay, and final pay without manual overrides.
Next: Payroll Software: SaaS vs Hybrid vs Custom.
Payroll Software: SaaS vs Hybrid vs Custom
Buy the calculation engine unless payroll is the product you sell. Let a vendor get paid to track tax changes.
| Factor | SaaS payroll | Hybrid | Custom payroll engine |
|---|---|---|---|
| First-year cost (250 staff) | IDR 85–200m | IDR 200–550m | IDR 750m–2.2bn |
| Time to go-live | 2–3 months | 3–5 months | 6–12 months |
| Flexibility | Vendor settings | SaaS core + custom edge | Fully yours |
| Who updates TER and BPJS rules | Vendor | Vendor, for the core | You |
| Best for | Standard pay rules | Incentives, piece rates, ERP posting | Outsourcing, staffing, and platforms that run payroll for clients |
SaaS wins for most companies. Hybrid wins when the core fits but an incentive formula or journal mapping does not. Custom wins only when you run payroll for other companies’ workers.
Next: What Does a Payslip Calculation Look Like? (Worked Example).
What Does a Payslip Calculation Look Like? (Worked Example)
Here is one payslip, every line with its rule. The employee and amounts are illustrative, not client data. The rates are real and sourced.
Meet an illustrative warehouse supervisor, single with no dependants (PTKP TK/0), in a regular month. Her wage is IDR 8,000,000 base plus a IDR 1,000,000 fixed allowance.
Meal and transport are paid per attended day.
| Payslip line | Rule | IDR |
|---|---|---|
| Base salary | Contract | 8,000,000 |
| Fixed position allowance | Paid regardless of attendance | 1,000,000 |
| Meal and transport | 20 attended days × 25,000 | 500,000 |
| Approved overtime | 3 workdays × (1.5 + 2) × 9,000,000 ÷ 173 | 546,243 |
| Gross cash pay | 10,046,243 | |
| Employee JHT | 2% × 9,000,000 | −180,000 |
| Employee JP | 1% × 9,000,000 | −90,000 |
| Employee BPJS Kesehatan | 1% × 9,000,000 | −90,000 |
| PPh 21 | 2.5% × TER base 10,454,843 | −261,371 |
| Net pay | 9,424,872 |
Overtime: 1/173 and approved hours only
Overtime comes from approved attendance, not a spreadsheet total. Under PP 35/2021, the hourly wage is 1/173 of the monthly wage. On a workday, the first overtime hour pays 1.5× and each next hour 2×. Her overtime base is base plus fixed allowance, IDR 9,000,000, because that is more than 75% of her total wage of IDR 9,500,000. Below 75%, the base would be 75% of the total wage instead.
She clocked 8 extra hours; 6 were approved, 2 on each of 3 days. That gives 3 × 3.5 × (9,000,000 ÷ 173) = IDR 546,243, rounded.
The 2 unapproved hours stay visible and unpaid. Our attendance app guide covers how those records are captured.
BPJS: employer and employee components
BPJS uses the fixed wage, not gross pay. The base is IDR 9,000,000, assumed below the current caps. The employer pays JHT 3.7%, JP 2%, JKK 0.24% (the lowest risk group), JKM 0.3%, and BPJS Kesehatan 4%: IDR 921,600 on top of the payslip. The employee pays JHT 2%, JP 1%, and BPJS Kesehatan 1%: IDR 360,000.
PPh 21: the TER base and the TER rate
The TER base is where cheap payroll goes wrong. Employer-paid JKK, JKM, and BPJS Kesehatan premiums count as gross income for PPh 21. Employer JHT and JP do not. So the TER base is 10,046,243 + 21,600 + 27,000 + 360,000 = IDR 10,454,843.
Category A in the PP 58/2023 TER table covers TK/0, TK/1, and K/0. Monthly gross above IDR 10,350,000 up to IDR 10,700,000 is taxed at 2.5%.
PPh 21 is therefore IDR 261,371.
Leave the premiums out and the base drops to IDR 10,046,243, in the 2% bracket: IDR 200,925. The payslip looks fine.
It under-withholds about IDR 60,000 a month, and the shortfall lands on her December payslip.
Payroll journal and cost centre
The same run must post the journal. One payslip, one balanced entry:
| Account | Debit (IDR) | Credit (IDR) |
|---|---|---|
| Salary expense, warehouse cost centre | 10,046,243 | |
| Employer BPJS expense, warehouse cost centre | 921,600 | |
| Net salary payable (bank file) | 9,424,872 | |
| PPh 21 payable | 261,371 | |
| BPJS payable (360,000 employee + 921,600 employer) | 1,281,600 | |
| Total | 10,967,843 | 10,967,843 |
Budget on IDR 10,967,843, not the IDR 10,046,243 gross. Employer BPJS adds 9.2% on top.
How Does Payroll Software Handle PPh 21 and BPJS Across the Year?
Monthly TER is a prepayment. The last tax period settles the year. Under PMK 168/2023, in force since 1 January 2024, every other month uses the TER tables. December, or the month an employee leaves, recalculates the year with the progressive Article 17 rates and subtracts what was withheld. Any excess goes back to the employee.
That design creates the hard months:
- THR and bonus months. TER applies to the whole month’s gross, so the rate jumps. December evens out the annual tax, but the payslip should explain the spike.
- Resignation. The leaving month is the last tax period. Final pay, leave encashment, and the progressive recalculation happen in one run.
- Retro pay. A backdated raise pays arrears as a separate line in the current period. Filed months stay closed.
- PTKP changes. The TER category follows PTKP status at the start of the tax year, so a married employee’s first dependant moves them from category A (K/0) to B (K/1).
- BPJS caps. Wage caps exist and are adjusted. The system must apply the cap valid for the pay period.
Builder’s note: When a vendor demos payroll, I ask for December first. A system that gets December right usually gets the other eleven months right. The reverse is not true.
Payroll Software Features That Must Be There
Five capabilities decide whether payroll software is trustworthy. For the full HR feature map, see our HR software guide.
- Calculate from sources, not typed totals. Overtime from approved attendance, wage from the employee master, rates from period-dated tables.
- Show the working for every line. Open any payslip line and see the formula, inputs, and rate version.
- Handle irregular events natively. THR, bonus, retro pay, resignation, and December, with no spreadsheet detour.
- Produce every output from one run. Bank file, payslips, PPh 21 slips, BPJS reports, and the cost-centre journal from the same locked numbers.
- Log every change. Who changed a salary, bank account, or PTKP status, when, old and new value, and which run used it.
When Is Off-the-Shelf Payroll Software Enough, and When Do You Need Custom?
Stay on SaaS when your pay rules are standard, even if you have thousands of employees. Volume alone does not justify a custom engine.
SaaS is enough when allowances are fixed or attendance-based, overtime follows PP 35/2021 directly, and the journal can be exported as a file.
Build an edge when one of these is true and measured:
- incentives depend on sales or production data from another system;
- piece rates or project allowances change by site or client;
- the journal must post into your ERP by cost centre, project, or client, every run;
- you run payroll for workers placed at many client companies.
Count the rule first. An incentive formula for 800 sales staff every month is a real edge.
An allowance for three people is a procedure.
Validate it in 2 weeks. Before you commit budget to payroll software, Blueprint & Prototype maps your pay rules, prototypes the riskiest calculation, and gives you real cost numbers plus a buy, build, or wait recommendation.
How to Choose Payroll Software: 10 Vendor Tests
Bring your own hardest employees to the demo. A vendor’s sample company calculates correctly by design.
- Rebuild last month’s real payslips and match every line to the rupiah.
- Show the TER base line by line, including employer JKK, JKM, and BPJS Kesehatan.
- Change a PTKP status for next year and show the TER category switch.
- Apply the right BPJS wage cap for the period to a high earner, and show which cap version was used.
- Pay approved overtime only, show the 1/173 working, and keep unapproved hours unpaid.
- Run a THR month for one employee, then show the same employee’s December recalculation.
- Resign an employee mid-year with final pay, leave encashment, and progressive tax in the final period.
- Process a retro raise across two closed months without reopening them.
- Generate your bank’s transfer file and a cost-centre journal your accounting system imports (ERP integration guide).
- Show the audit trail for one salary change: who, when, old value, new value, and which run used it.
Then run software vendor due diligence on security, SLA, and exit terms.
How Much Does Payroll Software Cost in Indonesia?
The subscription is one line of four. Illustrative first-year ranges for 250 employees, not vendor quotes:
| First-year component | SaaS payroll | Hybrid | Custom engine |
|---|---|---|---|
| Subscription or build | IDR 60–120m | IDR 60–120m | IDR 500m–1.5bn |
| Data and policy setup | IDR 10–30m | IDR 20–50m | IDR 50–150m |
| Custom edge and integration | IDR 5–20m | IDR 100–300m | IDR 100–300m |
| Parallel runs, support, contingency | IDR 10–30m | IDR 20–80m | IDR 100–250m |
| Illustrative total | IDR 85–200m | IDR 200–550m | IDR 750m–2.2bn |
SaaS scales with headcount. Custom scales with rules, and you own every future TER and BPJS change.
Next: How to Implement Payroll Software Without a Big-Bang Failure.
How to Implement Payroll Software Without a Big-Bang Failure
Keep the old payroll running until two month-ends match. Start with one legal entity.
- Weeks 1–3, import and clean. Employees, PTKP, NPWP, BPJS numbers, bank accounts, wage components. Gate: no missing mandatory field.
- Weeks 4–6, configure and test. 20 test cases from your hardest employees: THR, resignation, retro raise, high earner. Gate: every case matches.
- Weeks 7–10, parallel run 1. Run month-end in both systems. Explain every difference, fix, rerun.
- Weeks 11–13, parallel run 2. Gate: zero unexplained differences, to the rupiah.
- Week 14, go live. Switch off the spreadsheet for this entity, then add the next one.
If you validated a custom edge, Production Grade Software turns it into secure, observable, maintainable software around the SaaS core.
What I Would Do Before Buying Payroll Software
- Write your pay rules down first. If two HR staff calculate overtime differently, no vendor can configure either.
- Test December before January. It tells you more than any feature list.
- Check the TER base, not the rate. Most errors hide in the base.
- Budget on employer cost, not gross pay.
- Buy the engine, build only the edge.
Run the ten tests on last month’s payroll with two vendors. Choose the one that explains every line, not the prettiest payslip.
Next: FAQ About Payroll Software.
FAQ About Payroll Software
What is payroll software?
Payroll software calculates earnings, deductions, PPh 21, and BPJS, then produces the bank file, payslips, tax and BPJS reports, and the journal from one locked run.
What is the best payroll software in Indonesia?
The one that passes your own data. Run last month’s payroll, a THR month, a resignation, and a December recalculation in each sandbox, and compare every line to the rupiah.
How much does payroll software cost?
Illustrative first-year cost for 250 employees: IDR 85–200 million for SaaS, IDR 200–550 million for hybrid, IDR 750 million to 2.2 billion for custom. Rules and integrations drive the real number.
Can payroll software be custom-built?
Yes. Custom makes sense for outsourcing firms, staffing agencies, and platforms that run payroll for many clients.
For most companies, a SaaS core with a custom edge is cheaper and safer.
Is custom payroll software better than off-the-shelf?
Not by default. Off-the-shelf is better for standard pay rules, because the vendor maintains TER and BPJS changes.
Custom is better only when a measured rule creates value configuration cannot.
Related Posts
Two weeks to a real answer
Need help putting this into practice?
Book a Blueprint session and we'll turn the ideas in this article into a tested prototype in front of real users—2 weeks, from $3,000.