Jenis Pajak di Indonesia
Pajak yang Dikelola Aplikasi
| Pajak | Tarif | Kewajiban |
|---|---|---|
| PPN | Nominal 12%, efektif 11% (DPP Nilai Lain) | PKP yang menyerahkan BKP/JKP |
| PPh 21 | Progresif | Pemberi kerja (pemotongan gaji) |
| PPh 23 | 2% (jasa), 15% (dividen) | Pemberi penghasilan |
| PPh 25 | Angsuran | Wajib pajak badan |
| PPh 4(2) | Final (varies) | Transaksi tertentu |
Transaksi PPN
Konsep PPN (DPP Nilai Lain — PMK 131/2024)
PPN Keluaran - PPN yang Anda pungut dari pembeli PPN Masukan - PPN yang Anda bayar ke penjual
Net PPN = PPN Keluaran - PPN Masukan
Sejak 1 Januari 2025, tarif PPN secara nominal naik menjadi 12%, namun menggunakan DPP Nilai Lain (PMK 131/2024) sehingga beban efektif tetap 11%:
- DPP = Harga Jual × 11/12 (DPP Nilai Lain)
- PPN = DPP × 12% = Harga Jual × 11/12 × 12% = Harga Jual × 11%
- Field
amountdi template = Harga Jual (sebelum PPN) - Formula template:
amount * 0.11= PPN efektif 11% dari Harga Jual
Mengapa formula 0.11 (bukan 0.12)? Tarif resmi PPN adalah 12%, tetapi DPP dihitung dari 11/12 × Harga Jual (PMK 131/2024 Pasal 3). Hasil akhirnya: PPN = 11% × Harga Jual. Di Faktur Pajak Coretax, DPP dan PPN 12% ditampilkan terpisah, tetapi secara akuntansi cukup catat PPN =
amount * 0.11.
Mencatat Pendapatan dengan PPN
- Buka menu Transaksi > Transaksi Baru

- Pilih template Pendapatan Jasa + PPN
- Isi Harga Jual (sebelum PPN), contoh: Rp 10.000.000
- Preview jurnal:
Dr. Bank 11.100.000 (amount * 1.11) Cr. Hutang PPN 1.100.000 (amount * 0.11) Cr. Pendapatan 10.000.000 (amount) - Klik Simpan & Posting
Mencatat Pembelian dengan PPN Masukan
- Pilih template Pembelian dengan PPN
- Isi Harga Jual (sebelum PPN), contoh: Rp 10.000.000
- Preview jurnal:
Dr. Beban/Aset 10.000.000 (amount) Dr. PPN Masukan 1.100.000 (amount * 0.11) Cr. Bank 11.100.000 (amount * 1.11)
Pendapatan Jasa BUMN (FP 03)
Untuk klien BUMN/Pemerintah yang menggunakan Faktur Pajak kode 03 (PPN dipungut pembeli):
- Pilih template Pendapatan Jasa BUMN (FP 03)
- Isi Harga Jual, contoh: Rp 10.000.000
- Preview jurnal:
Dr. Bank 9.800.000 (amount * 0.98) Dr. Kredit PPh 23 200.000 (amount * 0.02) Cr. Pendapatan 10.000.000 (amount) - PPN tidak masuk jurnal karena dipungut dan disetor oleh pembeli (BUMN)
Laporan Ringkasan PPN
Buka menu Laporan > Ringkasan PPN.

Transaksi PPh
PPh 23 - Pemotongan atas Jasa
Saat membayar jasa ke vendor (selain pegawai):
- Pilih template Bayar Jasa + PPh 23
- Isi nilai bruto
- Sistem menghitung PPh 23 (2%)
- Preview jurnal:
Dr. Beban Jasa 10.000.000 Cr. Hutang PPh 23 200.000 Cr. Bank 9.800.000
PPh 21 - Pemotongan Gaji
Lihat bagian Penggajian untuk detail PPh 21 karyawan.
Laporan PPh
Buka menu Laporan > Bukti Potong PPh 23.

Ringkasan Pajak
Buka menu Laporan > Ringkasan Pajak.

Periode Fiskal
Periode fiskal mengontrol kapan transaksi dapat diposting. Setiap bulan memiliki status yang menentukan apakah jurnal dapat dibuat di bulan tersebut.
Melihat Periode Fiskal
Buka menu Pengaturan > Periode Fiskal di sidebar.

Fitur daftar periode:
- Filter tahun — pilih tahun untuk melihat 12 periode
- Filter status — tampilkan semua atau filter berdasarkan status tertentu
Generate Periode Satu Tahun
Untuk membuat 12 periode sekaligus:
- Isi tahun pada kolom Tahun di bagian atas halaman
- Klik Generate
- Sistem membuat periode Januari–Desember untuk tahun tersebut (periode yang sudah ada dilewati)
Atau buat periode satuan via Periode Baru (pilih tahun dan bulan manual).
Status Periode
| Status | Label | Arti |
|---|---|---|
| OPEN | Terbuka | Transaksi dapat diposting ke periode ini |
| MONTH_CLOSED | Tutup Bulan | Transaksi tidak dapat diposting; periode masih bisa dibuka kembali |
| TAX_FILED | SPT Dilaporkan | SPT sudah dilaporkan ke DJP; periode tidak bisa dibuka kembali |
Alur status:
OPEN → MONTH_CLOSED → TAX_FILED
Detail Periode
Klik periode di daftar untuk melihat detail:
- Tanggal mulai dan berakhir
- Siapa dan kapan menutup bulan
- Siapa dan kapan melaporkan SPT
- Visualisasi alur status (3 tahap)
Menutup Periode
- Buka detail periode yang berstatus Terbuka
- Klik Tutup Bulan
- Konfirmasi pada dialog
Setelah ditutup, sistem memblokir posting transaksi ke periode tersebut. Jika ada transaksi draf yang belum diposting di periode tersebut, penutupan akan ditolak.
Melaporkan SPT
Setelah SPT Masa sudah dilaporkan ke DJP:
- Buka detail periode yang berstatus Tutup Bulan
- Klik Lapor SPT
- Konfirmasi pada dialog
Periode dengan status SPT Dilaporkan tidak bisa dibuka kembali.
Membuka Kembali Periode
Periode dengan status Tutup Bulan dapat dibuka kembali:
- Buka detail periode
- Klik Buka Kembali
- Konfirmasi pada dialog
Periode dengan status SPT Dilaporkan tidak bisa dibuka kembali.
Posting Guard
Saat pengguna mencoba memposting transaksi ke bulan yang sudah ditutup, sistem menampilkan pesan error dan transaksi tidak akan diposting. Pastikan periode dalam status Terbuka sebelum memposting transaksi.
Kalender Pajak
Melihat Kalender Pajak
Buka menu Pajak > Kalender Pajak.

Deadline Pajak Standar
| Pajak | Setor | Lapor |
|---|---|---|
| PPN | Akhir bulan berikutnya | Akhir bulan berikutnya |
| PPh 21 | Tgl 15 bulan berikutnya | Tgl 20 bulan berikutnya |
| PPh 23 | Tgl 15 bulan berikutnya | Tgl 20 bulan berikutnya |
| PPh 4(2) | Tgl 15 bulan berikutnya | Tgl 20 bulan berikutnya |
| PPh 25 | Tgl 15 bulan berikutnya | Tgl 20 bulan berikutnya |
Catatan: Deadline penyetoran PPh 21, PPh 23, dan PPh 4(2) berubah dari tanggal 10 menjadi tanggal 15 sesuai PMK 81/2024.
Kalender Tahunan

Menandai Selesai
- Klik deadline yang sudah diselesaikan
- Isi nomor bukti setor/lapor
- Klik Selesai
Referensi Regulasi
Tarif PPh 21 (TER 2024)
| PKP Tahunan | Tarif |
|---|---|
| s.d. Rp 60.000.000 | 5% |
| > Rp 60.000.000 - Rp 250.000.000 | 15% |
| > Rp 250.000.000 - Rp 500.000.000 | 25% |
| > Rp 500.000.000 - Rp 5.000.000.000 | 30% |
| > Rp 5.000.000.000 | 35% |
PTKP (Penghasilan Tidak Kena Pajak)
| Status | PTKP/Tahun |
|---|---|
| TK/0 | Rp 54.000.000 |
| K/0 | Rp 58.500.000 |
| K/1 | Rp 63.000.000 |
| K/2 | Rp 67.500.000 |
| K/3 | Rp 72.000.000 |
Tarif PPh 23
| Objek | Tarif |
|---|---|
| Dividen | 15% |
| Bunga | 15% |
| Royalti | 15% |
| Jasa (umum) | 2% |
| Sewa (selain tanah/bangunan) | 2% |
Koreksi Fiskal
Koreksi fiskal (fiscal adjustments) adalah penyesuaian atas laba komersial untuk menghitung Penghasilan Kena Pajak (PKP) pada SPT Tahunan Badan. Ada dua kategori koreksi:
- Beda Tetap (Permanent) — biaya yang secara permanen tidak diakui pajak (contoh: denda pajak, sumbangan, biaya tanpa bukti potong)
- Beda Waktu (Temporary) — perbedaan waktu pengakuan antara akuntansi komersial dan fiskal (contoh: penyusutan metode berbeda)
Mengelola Koreksi Fiskal via Web
Buka menu Laporan > Rekonsiliasi Fiskal. Di halaman ini:
- Pilih tahun pajak
- Klik Tambah Koreksi untuk menambah item baru
- Isi form: deskripsi, kategori (Beda Tetap/Beda Waktu), arah (Positif/Negatif), jumlah, kode akun, dan catatan
- Klik Simpan
- Untuk menghapus, klik ikon hapus pada baris koreksi
Hasil koreksi fiskal ditampilkan dalam laporan rekonsiliasi fiskal dan digunakan dalam perhitungan PPh Badan.
Mengelola Koreksi Fiskal via API
Endpoint CRUD tersedia untuk integrasi dengan sistem eksternal:
GET /api/fiscal-adjustments?year=2025 — daftar koreksi per tahun
POST /api/fiscal-adjustments — buat koreksi baru
PUT /api/fiscal-adjustments/{id} — update koreksi
DELETE /api/fiscal-adjustments/{id} — hapus koreksi
Contoh request membuat koreksi:
{
"year": 2025,
"description": "Denda Pajak",
"adjustmentCategory": "PERMANENT",
"adjustmentDirection": "POSITIVE",
"amount": 3226367.00,
"accountCode": "5.9.90",
"notes": "Pasal 9(1)(k) UU PPh"
}
Validasi:
adjustmentCategory:PERMANENTatauTEMPORARYadjustmentDirection:POSITIVEatauNEGATIVEamount: harus positifyeardandescription: wajib diisi
Autentikasi: Bearer token dengan scope tax-export:read.
Skenario Penggunaan
Persiapan SPT Tahunan Badan:
- Setelah tutup buku komersial, buka Rekonsiliasi Fiskal
- Tambahkan koreksi positif untuk biaya yang tidak diakui pajak (denda, natura, biaya tanpa bukti potong)
- Tambahkan koreksi negatif jika ada pendapatan yang sudah dikenai pajak final
- Verifikasi total koreksi dan PKP yang dihasilkan
- Gunakan hasil untuk mengisi SPT Tahunan Badan di Coretax
SPT Tahunan Badan
Halaman Checklist SPT Tahunan membantu mempersiapkan data untuk pelaporan SPT Tahunan PPh Badan di Coretax DJP. Halaman ini menampilkan status kesiapan data dan menyediakan download lampiran dalam format Excel.
Mengakses Checklist SPT Tahunan
Buka menu Laporan > SPT Tahunan di sidebar.

Checklist Kesiapan Data
Sistem memeriksa 7 komponen data:
| No | Komponen | Status Hijau | Status Kuning/Merah |
|---|---|---|---|
| 1 | Laporan Keuangan | Ada transaksi pendapatan/beban | Belum ada transaksi |
| 2 | Koreksi Fiskal | Sudah diisi | Belum ada koreksi |
| 3 | PPh Badan Terutang | Berhasil dihitung | Gagal menghitung |
| 4 | Periode Fiskal | 12/12 bulan ditutup | Ada periode belum ditutup |
| 5 | Penyusutan Aset Tetap | Ada aset tercatat | Tidak ada aset |
| 6 | Payroll & PPh 21 | Ada data payroll | Tidak ada data |
| 7 | Kompensasi Kerugian | Info rugi fiskal aktif | Tidak ada rugi |
Download Lampiran SPT
Setelah data siap, download file Excel untuk diimpor ke Coretax via DJP Converter:

| Lampiran | Isi | Format |
|---|---|---|
| L1 — Rekonsiliasi Fiskal | P&L komersial, koreksi fiskal, kompensasi rugi, PKP, PPh Badan | Excel |
| L4 — Penghasilan Final | PPh 4(2) per kode objek pajak | Excel |
| L9 — Penyusutan & Amortisasi | Daftar aset tetap, format DJP Converter (DATA + REF) | Excel |
| Transkrip 8A — Laporan Keuangan | Neraca + Laba Rugi (2 sheet) | Excel |
| BPA1 — e-Bupot PPh 21 | 1721-A1 semua karyawan, format DJP Converter | Excel |
| Rekonsiliasi Fiskal (detail) | Format laporan internal | Excel |
| Laporan Keuangan (PDF) | Neraca + Laba Rugi gabungan untuk upload Coretax |
Catatan Teknis
- Beban luar usaha (L1): Semua beban non-operasional (akun 5.2, 5.3, 5.9, dll.) secara otomatis masuk ke bagian "beban luar usaha" pada L1. Sistem menggunakan filter eksklusi (semua yang bukan 5.1) sehingga akun baru yang ditambahkan di masa depan otomatis tercakup.
- Penyusutan aset pool (L9): Jika aset tidak memiliki entri penyusutan individual (misalnya aset pool yang disusutkan di level GL), sistem menghitung dari formula bulanan × jumlah bulan aktif dalam tahun tersebut.
- Pembulatan PKP: PKP dibulatkan ke bawah ke ribuan terdekat sebelum perhitungan PPh Badan, sesuai UU PPh pasal 6 ayat 3. Nilai PKP asli dan PKP pembulatan keduanya ditampilkan di response API.
Kompensasi Kerugian Fiskal
Rugi fiskal yang belum habis masa berlakunya (5 tahun per UU PPh Pasal 6 ayat 2) dapat dikompensasi ke tahun pajak berikutnya. Pengelolaan kompensasi kerugian dilakukan via API:
GET /api/fiscal-adjustments/loss-carryforward?year=2025 — daftar rugi fiskal aktif
POST /api/fiscal-adjustments/loss-carryforward — catat rugi fiskal baru
DELETE /api/fiscal-adjustments/loss-carryforward/{id} — hapus entry
Kompensasi kerugian diterapkan otomatis (FIFO berdasarkan tahun asal) pada laporan L1.
Akses via API
Semua lampiran juga tersedia via API di /api/tax-export/spt-tahunan/*:
GET /api/tax-export/spt-tahunan/lampiran?year=2025 — Semua lampiran (consolidated)
GET /api/tax-export/spt-tahunan/l1?year=2025 — JSON
GET /api/tax-export/spt-tahunan/l1?year=2025&format=excel — XLSX
GET /api/tax-export/spt-tahunan/l4?year=2025
GET /api/tax-export/spt-tahunan/l9?year=2025
GET /api/tax-export/spt-tahunan/transkrip-8a?year=2025
GET /api/tax-export/ebupot-pph21?year=2025
GET /api/tax-export/financial-statements/pdf?year=2025 — PDF (Neraca + Laba Rugi)
GET /api/tax-export/coretax/spt-badan?year=2025 — Coretax-compatible JSON
Endpoint konsolidasi (/lampiran) mengembalikan seluruh data lampiran dalam satu response JSON, dengan field number Coretax (8A.I.1, 8A.II.1, dst.) siap untuk key-in ke Coretax DJP. Mencakup:
- Transkrip 8A (neraca + laba rugi dengan nomor field Coretax)
- Lampiran I (rekonsiliasi fiskal + kompensasi kerugian)
- Lampiran II (rincian beban usaha dan beban luar usaha)
- Lampiran III (kredit pajak PPh 23 dari bukti potong)
- Lampiran V (placeholder — data pemegang saham diisi manual)
- PPh Badan (PKP, PKP pembulatan, PPh terutang, kredit pajak, PPh 29)
Endpoint Coretax (/coretax/spt-badan) mengembalikan JSON terstruktur dengan nama field yang cocok dengan form Coretax. Nilai berupa angka biasa (tanpa format ribuan) untuk langsung diketik ke Coretax. Mencakup:
induk: field utama SPT (peredaran usaha, laba, koreksi fiskal, PKP, PPh)l1dLabaRugi: item laba rugi per akunl1dNeraca: item neraca per akunl3KreditPajak: daftar bukti potong PPh 23 individualpenyusutan: daftar aset tetap dan penyusutan
Endpoint PDF (/financial-statements/pdf) menghasilkan file PDF 2 halaman (Neraca + Laba Rugi) dengan header nama perusahaan dan NPWP, siap upload sebagai lampiran laporan keuangan di Coretax.
Laporan Laba Rugi via Analysis API juga mendukung parameter excludeClosing:
GET /api/analysis/income-statement?startDate=2025-01-01&endDate=2025-12-31&excludeClosing=true
Parameter ini mengeluarkan jurnal penutup dari perhitungan, berguna untuk keperluan pajak dan analisis.
Autentikasi: Bearer token dengan scope tax-export:read.
Register Pelaporan Pajak
Dokumen Coretax terbagi dua. Dokumen yang menempel pada transaksi — faktur pajak keluaran, bukti potong PPh 23, kode billing atas setoran yang sudah dijurnal — disimpan pada transaksi terkait melalui lampiran dan detail pajak transaksi. Dokumen yang menempel pada masa pajak tidak punya transaksi untuk ditumpangi: SPT Masa PPN, SPT Masa PPh 21, BPE, STP, surat teguran, SP2DK, SKPLB. Register pelaporan pajak adalah tempat dokumen jenis kedua ini.
Register menjawab tiga pertanyaan yang sebelumnya tidak bisa dijawab aplikasi:
- Masa mana yang sudah dilaporkan, kapan, dan dengan nomor BPE berapa
- Berapa kurang bayar sebuah masa, kode billing dan NTPN-nya, serta transaksi setoran mana yang membukukannya
- Rangkaian STP → surat teguran → kode billing → BPN untuk masa yang bermasalah
Kunci Periode
Satu catatan pelaporan diidentifikasi oleh kombinasi jenis pajak + periode + nomor pembetulan. Mendaftarkan kombinasi yang sama dua kali ditolak.
| Jenis pajak | Dilaporkan | Format periode |
|---|---|---|
PPN | per masa | YYYY-MM |
PPH21 | per masa | YYYY-MM |
PPH23_UNIFIKASI | per masa | YYYY-MM |
PPH_BADAN | per tahun | YYYY |
Nomor pembetulan 0 berarti SPT normal. Pembetulan dicatat sebagai record terpisah dengan pembetulanNo: 1, dan status SPT aslinya diubah menjadi CORRECTED.
Status Pelaporan
| Status | Arti |
|---|---|
NOT_FILED | Masa sudah diketahui, SPT belum dilaporkan |
FILED | Sudah dilaporkan tepat waktu |
LATE | Dilaporkan lewat batas waktu |
CORRECTED | Sudah digantikan oleh pembetulan |
Status diisi oleh pengguna. Aplikasi mencatat apa yang terjadi di DJP, tidak menyimpulkannya sendiri dari tanggal deadline.
Mengelola Register via API
Register dikelola melalui REST API:
GET /api/tax-filings?taxType=PPN&year=2025 — daftar pelaporan
GET /api/tax-filings/{id} — detail + dokumen
POST /api/tax-filings — daftarkan pelaporan
PUT /api/tax-filings/{id} — update pelaporan
DELETE /api/tax-filings/{id} — hapus (hanya bila tanpa dokumen)
Contoh mendaftarkan SPT Masa PPN yang terlambat dan sudah dibayar:
{
"taxType": "PPN",
"period": "2025-04",
"pembetulanNo": 0,
"status": "LATE",
"filedDate": "2025-06-12",
"bpeNumber": "BPE-25040012345",
"bpeDate": "2025-06-12",
"kurangBayar": 1250000,
"billingCode": "820250612001234",
"ntpn": "0912B4C7D1E2F3A4",
"paidDate": "2025-06-11",
"paymentTransactionId": "uuid-transaksi-setoran"
}
Validasi:
periodharusYYYY-MMuntuk SPT Masa danYYYYuntuk SPT Tahunan BadankurangBayardanlebihBayartidak boleh diisi bersamaan- SPT
nihiltidak boleh punya kurang bayar atau lebih bayar paymentTransactionIdopsional — masa nihil tidak punya setoran, dan masa yang seluruhnya FP 03 (BUMN pemungut) bersifat lapor saja karena PPN disetor oleh BUMN
Autentikasi: Bearer token dengan scope tax-filings:read (baca) dan tax-filings:write (tulis).
Melampirkan Dokumen
Dokumen diunggah sebagai multipart ke pelaporan yang bersangkutan:
POST /api/tax-filings/{id}/documents — unggah dokumen
GET /api/tax-filings/{id}/documents — daftar dokumen
GET /api/tax-filings/{id}/documents/{docId}/download — unduh berkas
DELETE /api/tax-filings/{id}/documents/{docId} — hapus dokumen
Field metadata: docType (wajib), docNumber, docDate, dueDate, amount, referenceNumber, notes.
docType | Dokumen |
|---|---|
SPT | Surat Pemberitahuan |
BPE | Bukti Penerimaan Elektronik |
STP | Surat Tagihan Pajak |
TEGURAN | Surat Teguran |
SP2DK | Surat Permintaan Penjelasan atas Data dan/atau Keterangan |
SKPLB | Surat Ketetapan Pajak Lebih Bayar |
SKPKPP | Surat Keputusan Pengembalian Kelebihan Pembayaran Pajak |
KODE_BILLING | Kode billing |
BPN | Bukti Penerimaan Negara |
SURAT | Surat lainnya |
Berkas disimpan di penyimpanan dokumen yang sama dengan lampiran transaksi: terenkripsi, ber-checksum SHA-256, dan tunduk pada retensi 10 tahun.
referenceNumber mencatat dokumen yang dijawab atau ditagih oleh dokumen ini. Inilah yang membuat rangkaian penagihan bisa dibaca kembali:
SPT PPN 2025-04 ──▶ STP-07643 (tagihan kurang bayar)
└──▶ TEG-00112 referenceNumber: "STP-07643"
└──▶ kode billing ──▶ BPN
STP ganda atas masa yang sudah lunas akan terlihat sebagai dua dokumen STP pada pelaporan yang sama — satu punya BPN, satu tidak.
Pelaporan yang masih punya dokumen tidak bisa dihapus. Dokumen SPT/BPE/STP terikat kewajiban retensi 10 tahun, jadi penghapusan dilakukan satu per satu secara sadar, bukan ikut terhapus bersama induknya.
Status Pelaporan di Ringkasan Pajak
Endpoint ringkasan pajak GET /api/analysis/tax-summary?startDate=&endDate= kini menyertakan array filings di samping saldo akun pajak, berisi seluruh pelaporan yang periodenya beririsan dengan rentang tanggal yang diminta — lengkap dengan status, nomor BPE, kurang/lebih bayar, dan tanggal setor.
Hanya pelaporan yang sudah terdaftar yang muncul. Masa yang tidak ada di daftar berarti belum punya catatan sama sekali — dan itulah sinyal bahwa masa tersebut masih perlu ditangani.
Tips Kepatuhan
- Catat tepat waktu - Jangan menunda pencatatan transaksi pajak
- Simpan bukti - Faktur pajak, bukti potong, NTPN
- Rekonsiliasi bulanan - Cocokkan saldo akun pajak
- Gunakan kalender - Set reminder untuk deadline
- Konsultasi - Hubungi konsultan pajak untuk kasus kompleks
Lihat Juga
- Penggajian - PPh 21 karyawan
- Tutorial Akuntansi - Jurnal pajak
- Referensi Template - Template transaksi pajak