You've hired your first employee in Indonesia. The salary is clear: IDR 5 million per month. But when you calculate the actual cost, three different accountants give you three different answers. The culprit isn't the salary—it's EPF (Employee Provident Fund) and SOCSO (Social Security). These aren't optional deductions you can round or estimate. They're mandatory withholdings that feed into compliance audits, and they're calculated differently depending on whether your payroll platform treats them as a percentage of base salary, gross salary, or a capped monthly amount. Most platforms get this wrong. Most accountants know enough to be dangerous but not enough to be reliable. Here's what actually happens, the math that matters, and how to catch mistakes before they cost you a compliance fine or an audit nightmare. The two deductions that shift your total cost 8–14% When you hire someone in Indonesia, two mandatory social contributions come out of their pay: EPF (Employee Provident Fund): Employee contributes 11% of base salary (not gross); employer contributes 13% of base salary. The employee sees 11% deducted from their paycheck. SOCSO (Social Security Organization, now called PERKESO-equivalent in Malaysia, but Indonesia uses slightly different mechanics): In Indonesia, this is actually the BPJS Ketenagakerjaan (labor insurance). Employee contributes 0.24–0.75% of gross salary for accident and disability insurance; employer contributes 3.7% for accident and 0.14% for death benefit. The caps and rates change by region and risk classification. The trap: EPF uses base salary , BPJS uses gross salary , and gross salary includes overtime, allowances, and bonuses—but not the employer's contributions. This creates a cascading calculation that most platforms flatten into 'deduct percentage from gross.' The calculation order that breaks payroll software Here's a real scenario: An employee in Jakarta earns IDR 5,000,000 base salary, plus IDR 500,000 housing allowance. Correct order (what Indonesian tax law actually requires): Base salary: IDR 5,000,000 Allowances (not subject to EPF): IDR 500,000 Gross salary for BPJS calculation: IDR 5,500,000 EPF employee deduction (11% of base): IDR 550,000 BPJS employee deduction (0.24–0.75% of gross): IDR 13,200–41,250 Net pay to employee: IDR 4,908,750–4,936,800 Employer cost: Base (5M) + Housing (500K) + Employer EPF (13% × 5M = 650K) + Employer BPJS (3.7–3.84% × 5.5M = 203,500–211,200) = IDR 6,553,500–6,561,200 What most payroll platforms do instead: They calculate EPF and BPJS as simple percentages of gross salary, in any order. A platform might compute: Gross salary: IDR 5,500,000 EPF (11% of gross, not base): IDR 605,000 BPJS (0.5% of gross): IDR 27,500 Net pay: IDR 4,867,500 Employer cost: 5.5M + (13% × 5.5M) + (3.7% × 5.5M) = IDR 9,933,500 The difference: IDR 1.37 million per month—16% higher than it should be. Over a year, that's IDR 16.4 million in phantom cost, hidden in a platform's logic. The error compounds across every payroll run. An employee earning IDR 5.5 million per month costs you IDR 1.37M more per month if your platform treats allowances as subject to EPF. Why accountants miss this (and what to ask them) Most accountants are trained to use a payroll platform and pass through whatever it calculates. Three things go wrong: Regional variation is opaque: BPJS rates change by province and risk class. An accountant in Jakarta may not know the Surabaya rate, or may not have updated their spreadsheet since 2022. Allowance classification is rarely audited: It matters hugely whether a housing or transport allowance counts toward BPJS (gross) but not EPF (base). Most platforms don't have a field for this distinction. Year-end true-up is often skipped: If salary changes mid-year, or if an employee hits a BPJS cap, the calculation compounds. Few accountants manually reconcile this; they trust the platform and file. Four questions to ask your accountant before you run your first payroll: "Is EPF calculated on base salary or gross salary in your system?" (Answer must be: base salary.) "How does your system handle allowances—are they included in BPJS gross but excluded from EPF base?" (If they don't have a clear answer, your platform is flat-calculating and you're overpaying.) "What's the current BPJS rate for my employee's risk class and province, and when was it last updated?" (If they're not sure, ask for the BPJS decree date.) "If an employee's salary changes mid-year, do you recalculate BPJS caps month-by-month, or do you use an annual reconciliation?" (This matters for compliance audits.) Which platforms calculate this correctly Most general payroll software (Xero, Wave, Guidepoint) treat Indonesia as a checkbox and use flat percentage deductions. They don't distinguish base from gross for EPF. Platforms that get it right have explicit fields for: Base salary vs. gross salary Allowance classification (taxable, non-taxable, EPF-exempt) BPJS risk class and region Yea