SPT Masa vs SPT Tahunan
Differences in period, scope and reporting cadence.
DJP distinguishes two types of tax return (SPT):
- SPT Masa — monthly filing, for every tax obligation collected/withheld within a tax period.
- SPT Tahunan — annual filing, recapping all obligations for the tax year.
Both are mandatory; they do not replace each other.
Quick comparison
| Aspect | SPT Masa | SPT Tahunan |
|---|---|---|
| Frequency | Monthly | Once a year |
| Period | Calendar month | Tax year (Jan–Dec) |
| Filing deadline | 20th of the following month | Individuals: 31 March / Corporate: 30 April |
| Reports | PPh 21, 23, 25, 26, 4(2), PPN | Annual income & total PPh recap |
| Main types | Masa PPh 21/23/26/4(2), Masa PPN | Individual 1770, 1770S, 1770SS, Corporate 1771 |
SPT Masa types
Each SPT Masa has its own payment deadline (usually the 10th) and filing deadline (usually the 20th).
SPT Tahunan forms
| Form | For |
|---|---|
| 1770 | Individuals with business / professional income |
| 1770 S | Employee individuals with > Rp 60m/year income |
| 1770 SS | Employee individuals with ≤ Rp 60m/year income |
| 1771 | Corporate taxpayers (PT, CV, etc.) |
esaFiskaly's output covers Individual 1770 and Corporate 1771, with UU HPP progressive computation for individuals and 22% + Pasal 31E for corporates.
How esaFiskaly produces SPT
- 1
- 2
esaFiskaly defaults to January–December. Consultants can override per tenant.
- 3
- 4
Invoices, payroll, Bukti Potong and Faktur Pajak accumulate automatically by period.
- 5
- 6
Pick the type and period → click Preview. The system shows a summary: total DPP, PPh, and remittance.
- 7
- 8
The file follows the format used by e-Bupot Unifikasi (SPT Masa) or DJP Online (SPT Tahunan).
- 9
- 10
The XML/CSV is uploaded via e-Bupot Unifikasi, e-Faktur, or DJP Online depending on the SPT type.
Structural validation
esaFiskaly validates:
- Total consistency (Σ lines = header total)
- NPWP / NIK format
- Country codes (for PPh 26)
- Valid tax-period ranges
Validation against the live DJP XSD is on the roadmap (requires up-to-date schema files — see ROADMAP Phase 3).
