Payroll → PPh 21 flow
From employee setup to payroll, BPJS and PPh 21 entries.
This page walks the full path from setting up a new employee to the annual PPh 21 Bukti Potong — entirely inside esaFiskaly.
Three layers that must stay in sync
Initial setup (once per employee)
- 1
- 2
Required: NIK, name, PTKP status (TK/0, K/1, etc.), base salary.
- 3
Optional but important: NPWP (without it → +20% rate), BPJS number, hire date.
- 4
- 5
The system picks category A/B/C automatically — see PPh 21 TER.
- 6
- 7
Recurring allowances (transport, meal), BPJS contributions split between employer and employee, and other components.
Run monthly payroll (Jan–Nov)
- 1
- 2
The system lists every active employee.
- 3
- 4
The TER engine computes PPh 21 from monthly gross × the employee's TER rate.
- 5
- 6
The table shows: Gross, BPJS, PPh 21, Take-Home Pay. Edit lines that include bonuses/commissions.
- 7
- 8
The system creates a balanced payroll journal:
- 9
Dr. Salary Expense 20,000,000 Cr. PPh 21 Payable 400,000 Cr. BPJS Payable 1,200,000 Cr. Cash/Bank 18,400,000 - 10
The system also drafts a PPh 21 Bukti Potong for each employee (issueable separately).
December settlement (automatic)
When you run December payroll, the system must switch to the annual progressive computation:
- Sum gross Jan–Dec.
- Subtract PTKP.
- Apply UU HPP progressive brackets to the annual PKP.
- Compare against the total PPh 21 already withheld in Jan–Nov.
- The difference = December PPh 21 (could be over- or under-withheld).
Annual A1 Bukti Potong
After December is posted, the final A1 Bukti Potong is released per employee. Employees use it on their individual annual SPT (1770/1770S/1770SS).
Reporting to DJP
- PPh 21 remittance: 10th of the following month (via e-Billing → bank).
- PPh 21 Monthly SPT: 20th of the following month (via e-Bupot Unifikasi).
- Annual PPh 21 (A1 summary): bundled with the Bukti Potong.
esaFiskaly produces ready-to-upload XML/CSV automatically.
