# API Pajak Indonesia: Panduan Integrasi Sistem ke DJP

> Sumber: https://www.sipajak.com/post/api-pajak-indonesia
> Ditulis oleh Tim Pajak Sipajak · Terbit 4 Oktober 2026 · Diperbarui 4 Oktober 2026
> Publisher: Sipajak (PT Hexa Sarana Intermedia), PJAP resmi yang terdaftar dan diawasi DJP.

Cara kerja API pajak Indonesia, proses yang bisa diotomatiskan, perbandingan manual vs API, dan langkah teknis integrasi sistem kamu ke Coretax DJP.

API pajak Indonesia adalah antarmuka pemrograman yang menghubungkan ERP, aplikasi akuntansi, atau platform digital dengan sistem Direktorat Jenderal Pajak (DJP) melalui Penyedia Jasa Aplikasi Perpajakan (PJAP). Lewat API, validasi NPWP, faktur pajak, bukti potong, kode billing, dan pelaporan SPT berjalan otomatis dari sistem kamu, tanpa input ulang di portal.

## Fakta Singkat

- **Definisi:** API pajak adalah jalur integrasi server ke server antara sistem bisnis dan DJP untuk validasi, faktur, bukti potong, billing, dan SPT.
- **Dasar hukum:** ketentuan PJAP yang ditetapkan DJP (lihat [halaman resmi PJAP di pajak.go.id](https://www.pajak.go.id/id/penyedia-jasa-aplikasi-perpajakan)); nomor peraturan [PERLU VERIFIKASI].
- **Berlaku sejak:** integrasi Host-to-Host saat ini terhubung ke Coretax DJP, sistem inti administrasi pajak DJP.
- **Siapa terdampak:** fintech, bank, marketplace, vendor ERP dan software akuntansi, serta perusahaan dengan volume dokumen pajak tinggi.
- **Sistem terkait:** Coretax DJP, e-Faktur, e-Bupot Unifikasi, e-Billing, SPT elektronik, dan Validasi Status Wajib Pajak (VSWP).
- **Terakhir diverifikasi:** 3 Oktober 2026.

## Apa itu API pajak Indonesia?

API pajak Indonesia adalah jalur pertukaran data terstruktur antara sistem bisnis kamu dan DJP. Untuk layanan Host-to-Host, koneksinya melewati PJAP yang bermitra dengan DJP. Hasilnya, transaksi yang tercatat di ERP bisa langsung menjadi faktur pajak, bukti potong, atau kode billing yang tercatat resmi, tanpa ada orang yang mengetik ulang data.

API (Application Programming Interface) sendiri adalah "pintu" yang memungkinkan dua aplikasi saling bertukar data dengan format yang disepakati. Host-to-Host (H2H) adalah pola integrasi server ke server. Sistem kamu mengirim request, server PJAP meneruskannya ke DJP, lalu respons kembali ke sistem kamu dalam hitungan detik.

### Apa bedanya dengan input manual di portal DJP?

Input manual cocok untuk volume kecil. Masalah muncul saat dokumen pajak mencapai ratusan atau ribuan per bulan. Data harus diekspor dari ERP, dirapikan, lalu diunggah atau diketik ulang. Setiap langkah membuka peluang salah ketik, data ganda, atau dokumen yang terlambat dibuat. Dengan API, data berpindah langsung dari sumbernya, dan hasilnya tercatat kembali di sistem yang sama.

### Siapa yang paling butuh API pajak?

- **Fintech dan P2P lending:** memvalidasi NPWP calon peminjam saat onboarding dan penilaian kredit.
- **Bank:** memeriksa status wajib pajak nasabah badan sebagai bagian dari proses Know Your Customer (KYC).
- **Marketplace dan e-commerce:** memproses dokumen pajak dalam volume besar yang lahir dari transaksi harian.
- **Vendor ERP dan software akuntansi:** menanamkan fitur pajak langsung di produk mereka untuk pelanggan.
- **Distribusi, ritel, dan manufaktur:** membuat faktur keluaran bervolume tinggi. Lihat juga [cara mengelola faktur pajak untuk distributor](https://www.sipajak.com/post/cara-efektif-mengelola-faktur-pajak-untuk-distributor-sesuai-peraturan-pajak-terbaru).
- **Korporasi dan grup usaha:** mengelola banyak NPWP dari satu integrasi terpusat.

## Bagaimana cara kerja integrasi API pajak ke Coretax DJP?

Integrasi API pajak bekerja dalam satu siklus. Sistem kamu mengirim data transaksi, PJAP memvalidasi format lalu meneruskannya ke Coretax DJP, kemudian DJP mengembalikan hasilnya. Hasil itu masuk lagi ke sistem kamu sebagai status, nomor dokumen, atau pesan error yang bisa ditindaklanjuti secara otomatis.

Alur datanya bisa digambarkan dalam lima langkah berikut:

1. **Sumber data:** ERP, software akuntansi, marketplace, atau database internal menyiapkan data transaksi.
2. **Request API:** sistem kamu memanggil endpoint PJAP dengan kredensial dan NPWP yang sedang aktif.
3. **Tax engine PJAP:** request diperiksa, disesuaikan dengan skema DJP, lalu diteruskan lewat jalur Host-to-Host.
4. **Coretax DJP:** DJP memproses data dan mengembalikan hasil bisnis, berhasil atau gagal beserta alasannya.
5. **Kembali ke sistem kamu:** respons disimpan sebagai jejak audit dan memicu langkah berikutnya, misalnya membuat kode billing lalu membayar.

### Apa peran PJAP dalam integrasi Host-to-Host?

PJAP (Penyedia Jasa Aplikasi Perpajakan) adalah pihak yang bermitra dengan DJP untuk menyediakan layanan aplikasi perpajakan. Dalam integrasi API, PJAP mengurus koneksi ke DJP, pemetaan format data, dan penerusan respons. Tim kamu cukup fokus pada logika bisnis di sistem sendiri.

Sebelum memilih mitra, pastikan namanya tercantum dalam daftar PJAP yang dipublikasikan di [situs resmi DJP](https://www.pajak.go.id/id/penyedia-jasa-aplikasi-perpajakan). Cek juga apakah layanan yang kamu butuhkan, misalnya e-Faktur Host-to-Host atau validasi status wajib pajak, tercakup dalam izin layanannya.

## Proses pajak apa saja yang bisa diotomatiskan lewat API?

Hampir seluruh siklus kepatuhan pajak bisa diotomatiskan lewat API: validasi status wajib pajak, pembuatan hingga pembatalan faktur pajak, bukti potong PPh, kode billing, sampai pelaporan SPT. Kuncinya adalah memetakan dokumen pajak mana yang paling sering dibuat dan paling berisiko salah jika dikerjakan manual.

Sebagai contoh konkret, kami memakai struktur dokumentasi Sipajak API. Sipajak adalah Penyedia Jasa Aplikasi Perpajakan (PJAP) resmi yang terdaftar dan diawasi DJP, menyediakan API pajak end-to-end, platform, dan solusi white-label. Pada dokumentasi versi 1.8, siklus pajak dibagi ke enam modul dengan total 72 endpoint:

| Modul | Fungsi utama | Contoh endpoint |
| --- | --- | --- |
| Organization | Profil klien, pemakaian, histori panggilan API, registrasi NPWP tambahan | POST /v1/organization |
| VSWP | Validasi status wajib pajak (NPWP/NIK), tunggal maupun bulk | POST /v2/vswp |
| e-Faktur | Buat, ganti, batal, dan retur faktur keluaran serta masukan | POST /v2/efaktur/create-faktur-pk |
| e-Bupot | Bukti potong PPh lintas varian, validasi, dan kalkulator | POST /v2/ebupot/create-bpu-a0-21 |
| SPT | Tujuh langkah dari cek revisi hingga verifikasi BPE | POST /v2/spt/submit-spt |
| e-Billing | Inquiry data lalu terbitkan ID Billing | POST /v2/ebilling/create |

Detail request dan response setiap modul tersedia di [dokumentasi API Sipajak](https://www.sipajak.com/developers).

### Modul mana yang sebaiknya diintegrasikan lebih dulu?

Urutan yang direkomendasikan dokumentasi adalah Organization lebih dulu, lalu VSWP. Organization memastikan profil dan NPWP kamu terdaftar dengan benar. VSWP memastikan data lawan transaksi valid sebelum dipakai di dokumen lain. Setelah dua fondasi ini stabil, barulah tambahkan e-Faktur, e-Bupot, e-Billing, atau SPT sesuai prioritas bisnis.

## Manual, aplikasi web PJAP, atau API: mana yang cocok?

Pilihan terbaik bergantung pada volume dokumen dan kesiapan tim IT. Input manual cukup untuk volume rendah, aplikasi web PJAP pas untuk tim finance dengan volume menengah, sedangkan integrasi API paling efisien untuk volume tinggi dan proses yang harus menyatu dengan sistem lain secara real-time.

| Aspek | Input manual di portal | Aplikasi web PJAP | Integrasi API (H2H) |
| --- | --- | --- | --- |
| Cara kerja | Ketik atau unggah satu per satu | Unggah massal lewat dashboard | Sistem memanggil API otomatis |
| Cocok untuk | Volume rendah | Volume menengah, dikelola tim finance | Volume tinggi dan proses real-time |
| Risiko salah input | Tinggi, karena input ulang | Sedang | Rendah, data diambil dari sumber |
| Kebutuhan tim IT | Tidak ada | Minimal | Perlu developer dan pengujian |
| Jejak audit | Terpisah dari ERP | Tersimpan di dashboard | Tersimpan di sistem kamu |
| Waktu implementasi | Langsung | Singkat | Bertahap, dari staging ke production |

## Bagaimana langkah teknis memulai integrasi API pajak?

Langkah teknis integrasi API pajak dimulai dari pemetaan proses, lalu kredensial, registrasi NPWP, pengujian di staging, dan penanganan respons. Jangan langsung menulis kode. Pastikan dulu dokumen pajak apa yang mau diotomatiskan, dari sistem mana datanya berasal, dan siapa yang menangani error.

1. **Petakan proses:** daftar dokumen pajak, sistem sumber, volume per bulan, dan pemilik prosesnya.
2. **Minta kredensial:** pada Sipajak API, username dan password disiapkan manual oleh tim Sipajak; tidak ada pendaftaran mandiri.
3. **Daftarkan NPWP:** satu pasang kredensial bisa melayani beberapa NPWP milik klien yang sama, tetapi setiap NPWP harus didaftarkan lebih dulu.
4. **Uji di staging:** staging adalah satu-satunya lingkungan untuk uji integrasi; jangan menjalankan tes otomatis di production.
5. **Tangani respons dan error:** bedakan error transport dan error bisnis (dijelaskan di bawah).
6. **Go-live bertahap:** mulai dari satu modul, pantau pemakaian dan histori panggilan, lalu tambah modul berikutnya.

Autentikasi memakai HTTP Basic Authentication di setiap request:

```
Authorization: Basic base64(username:password)
```

Setiap request juga wajib membawa header npwp untuk menunjuk organisasi yang sedang diwakili. Nilai di bawah ini sintetis, bukan NPWP sungguhan:

```
npwp: 1234567890123000
```

Request tanpa header ini, atau dengan NPWP yang belum terdaftar pada kredensial, akan ditolak dengan HTTP 403. Path endpoint memakai segmen versi /v1/ dan /v2/ yang bisa dipakai berdampingan. Panduan lengkapnya ada di [halaman Getting started](https://www.sipajak.com/developers/getting-started).

### Seperti apa format respons dan pola soft-error?

Semua respons JSON memakai amplop (envelope) yang sama. Untuk endpoint yang meneruskan panggilan langsung ke DJP, hasil DJP muncul di dalam objek data:

```
{
  "status_code": 200,
  "message": "OK",
  "data": {
    "status": "1",
    "statusMessage": "Success",
    "result": { ... },
    "uuid": "..."
  }
}
```

Bagian ini sering terlewat: HTTP 200 belum tentu berarti berhasil. Error bisnis dari DJP, misalnya wajib pajak tidak ditemukan atau masa pajak sudah ditutup, dikembalikan di dalam envelope. Nilai data.status "1" berarti sukses, sedangkan "0" berarti gagal dengan alasan di data.statusMessage. Pola penanganan yang direkomendasikan dokumentasi:

```
const res = await fetch(...);
if (!res.ok) {
  // transport error (auth, network, 5xx) — handle separately
}
const body = await res.json();
if (body.data.status !== "1") {
  // business failure — body.data.statusMessage explains why
}
```

Simpan statusMessage apa adanya di log aplikasi dan tampilkan ke tim finance. Pesan dari DJP sering berbahasa Indonesia dan langsung menunjuk masalahnya. Untuk konteks error di sisi DJP, baca juga [jenis error yang sering muncul di Coretax DJP](https://www.sipajak.com/post/menghadapi-masalah-di-coretax-djp-jenis-error-yang-sering-muncul-dan-solusi-terbaik). Daftar lengkap kode HTTP ada di [halaman API conventions](https://www.sipajak.com/developers/api-conventions).

### Format data apa yang sering bikin request gagal?

- **Format tanggal berbeda per modul:** sebagian body e-Faktur memakai DDMMYYYY tanpa pemisah, e-Billing memakai YYYY-MM-DD HH:mm:ss, dan semua timestamp respons memakai ISO 8601 UTC.
- **Masa dan tahun pajak:** masaPajak dikirim sebagai string dua digit (misalnya "03"), tahunPajak sebagai empat digit.
- **Angka tanpa pemisah ribuan:** nominal dikirim sebagai angka JSON biasa, misalnya 1000000, bukan "1.000.000".
- **Tarif dalam bentuk pecahan:** contoh format pada dokumentasi menulis tarif PPN sebagai 0.11, bukan 11. Ini aturan format data, bukan penetapan tarif.

### Bagaimana menangani retry, duplikasi, dan batas request?

Belum ada header Idempotency-Key. Endpoint pembuat dokumen bersifat idempoten lewat natural key, misalnya kombinasi nomor faktur dan tahun pajak. Jika request yang sama dikirim ulang, DJP menolaknya sebagai duplikat, sehingga error duplikat saat retry bisa diperlakukan sebagai sukses. Sebaliknya, job bulk seperti validasi NPWP massal tidak idempoten: kiriman ulang menghasilkan job baru.

Error 500, 502, dan 504 aman diulang dengan exponential backoff. Batas request belum dipublikasikan, tetapi lonjakan di atas beberapa ratus request per menit per NPWP bisa dibatasi gateway. Hasil validasi VSWP disimpan di cache server selama 90 hari per pasangan NPWP dan tujuan, jadi panggilan ulang dalam periode itu jauh lebih cepat.

## Apa risiko keamanan dan kepatuhan yang perlu diantisipasi?

Risiko terbesar integrasi API pajak ada pada kebocoran kredensial, passphrase sertifikat, dan data wajib pajak. Karena data yang lewat bersifat sensitif dan berdampak hukum, perlakukan integrasi ini setara sistem pembayaran: akses dibatasi, rahasia disimpan aman, dan setiap transaksi meninggalkan jejak audit.

- Simpan username dan password API di secret manager, bukan di kode atau file konfigurasi biasa.
- Anggap sensitif setiap field yang mengandung kata passphrase, password, secret, token, atau key. Field passphrasePenandatangan pada endpoint e-Faktur dan e-Bupot tidak boleh tercatat di log. Pelajari juga [cara kerja sertifikat digital Coretax](https://www.sipajak.com/post/sertifikat-digital-coretax-cara-pengajuan-verifikasi-dan-penggunaannya-dalam-perpajakan).
- Pastikan semua request lewat TLS (HTTPS); API tidak menerima HTTP biasa.
- Pakai data sintetis di staging. Jangan menyalin NPWP, NIK, atau nomor faktur sungguhan ke lingkungan uji.
- Simpan respons DJP lengkap dengan uuid dan waktu sebagai jejak audit untuk pemeriksaan pajak.

**Transparansi alur data.** Di Sipajak, alur data kami buat terbuka: data dari sistem kamu masuk ke tax engine kami, diteruskan ke DJP lewat jalur Host-to-Host, lalu respons DJP kembali utuh ke sistem kamu, termasuk pesan error-nya. Setiap modul API berjalan di atas 9 izin layanan PJAP, dan dokumentasinya terbuka dengan kontrol versi.

## Untuk tim IT & finance: checklist sebelum go-live

- Daftar dokumen pajak, sistem sumber, dan volume bulanan sudah disepakati tim IT dan finance.
- Semua NPWP yang dipakai sudah terdaftar pada kredensial dan diuji di staging.
- Kode aplikasi memeriksa data.status, bukan hanya kode HTTP.
- Kebijakan retry, penanganan duplikat, dan alert untuk error berulang sudah aktif.
- Kredensial dan passphrase tersimpan di secret manager dan tidak muncul di log.

## FAQ seputar API pajak Indonesia

**Apakah perusahaan bisa terhubung ke DJP tanpa PJAP?**

Untuk layanan Host-to-Host seperti e-Faktur, integrasi sistem dilakukan lewat PJAP yang bermitra dengan DJP. Cek daftar PJAP di situs resmi DJP dan pastikan layanan yang kamu butuhkan tercakup dalam izinnya.

**Berapa lama integrasi API pajak biasanya berjalan?**

Durasinya bergantung pada jumlah modul, kerapian data master, dan pengujian. Mulailah dari modul sederhana seperti validasi NPWP, lalu tambah e-Faktur atau e-Bupot setelah penanganan respons dan error stabil di staging.

**Apa itu soft-error pada API pajak?**

Soft-error adalah kegagalan bisnis yang dikirim dengan HTTP 200. Status gagal ada di dalam isi respons, misalnya data.status bernilai "0" beserta pesan dari DJP. Kode aplikasi wajib memeriksa field ini, bukan hanya kode HTTP.

**Apakah satu kredensial API bisa dipakai untuk banyak NPWP?**

Pada dokumentasi API yang kami rujuk, satu kredensial bisa melayani beberapa NPWP milik klien yang sama. NPWP aktif dipilih lewat header npwp di setiap request, dan setiap NPWP harus didaftarkan lebih dulu.

**Apakah API pajak cocok untuk UMKM?**

Untuk volume kecil, aplikasi web biasanya sudah cukup. API paling terasa manfaatnya saat dokumen pajak berjumlah besar atau saat proses pajak harus menyatu otomatis dengan ERP, aplikasi kasir, atau platform digital.

Siap menghubungkan sistem kamu ke DJP? Pelajari endpoint lengkapnya lalu klik **Minta Akses API** di [halaman Developers Sipajak](https://www.sipajak.com/developers). Ingin diskusi dulu? Isi [formulir konsultasi](https://www.sipajak.com/#kontak), atau lihat [pilihan paket dan harga](https://www.sipajak.com/#harga).

## Sumber & Dasar Hukum

1. Direktorat Jenderal Pajak, [Penyedia Jasa Aplikasi Perpajakan](https://www.pajak.go.id/id/penyedia-jasa-aplikasi-perpajakan), diakses 3 Oktober 2026.
2. Dokumentasi Sipajak API versi 1.8 (rilis 29 Desember 2025): Introduction, Getting started, dan API conventions, diakses 3 Oktober 2026.

Diperbarui: 3 Oktober 2026 · Ditulis oleh Tim Pajak Sipajak

Artikel ini bersifat edukasi, bukan nasihat pajak. Untuk kasus spesifik, konsultasikan dengan konsultan pajak terdaftar.

---
Versi HTML: https://www.sipajak.com/post/api-pajak-indonesia · Peta konten: https://www.sipajak.com/sitemap.md
