Coretax DJP untuk Developer: Integrasi e-Faktur, e-Bupot & NPWP

Foto oleh Government of Russia via Wikimedia Commons (Public domain)
Coretax DJP adalah sistem inti administrasi pajak baru dari Direktorat Jenderal Pajak, diluncurkan pada 1 Januari 2025. Sistem ini menyatukan registrasi wajib pajak, e-Faktur (faktur PPN), e-Bupot (bukti potong), pembayaran, dan pelaporan SPT dalam satu platform, menggantikan DJP Online dan aplikasi legacy yang terpisah.
NPWP 15 digit digantikan format 16 digit berdasarkan PMK-136/PMK.03/2023. Untuk orang pribadi penduduk, NPWP 16 digit adalah NIK di KTP. Untuk badan dan NPWP lama, konversinya cukup menambahkan satu '0' di depan hingga menjadi 16 digit. Simpan sebagai string agar nol di depan tidak pernah hilang.
NSFP kini dibuat otomatis oleh Coretax saat faktur berhasil di-submit dan ditandatangani elektronik, jadi Anda tidak lagi meminta nomor di muka lewat e-Nofa. Formatnya 17 digit: 2 digit kode transaksi, 2 digit kode status, dan 13 digit nomor seri. Nomor baru ada setelah respons server berhasil, bukan saat draft.
Coretax memakai skema XML baru untuk impor massal faktur keluaran, bukti potong, dan lampiran SPT. Format impor legacy lama tidak lagi diterima. DJP menerbitkan template XML resmi dan converter Excel-ke-XML di pajak.go.id, dan ekspor ERP Anda harus sesuai skema itu serta divalidasi sebelum upload.
DJP sedang membangun interoperabilitas API dengan entitas eksternal, tapi opsi realistis hari pertama untuk kebanyakan SME adalah upload XML manual, converter Excel-ke-XML, atau otomasi lewat mitra DJP berlisensi (PJAP/ASP). Mulailah dari ekspor XML DJP yang solid dan pindah ke API mitra begitu volume faktur menjustifikasi biaya berulangnya.

Foto oleh Government of Russia via Wikimedia Commons (Public domain)
Ringkasan Utama
Coretax DJP adalah platform inti pajak tunggal Indonesia yang menggantikan DJP Online, e-Faktur, dan e-Bupot sejak Januari 2025. Bagi developer, perubahan besarnya: NPWP kini 16 digit (NIK untuk orang pribadi), Nomor Seri Faktur Pajak dibuat otomatis 17 digit, dan semua impor memakai skema XML baru. Bangun ekspor ERP Anda agar cocok dengan XML itu, bukan format lama.
Kalau Anda membangun atau merawat software ERP, akuntansi, atau fintech untuk pasar Indonesia, Coretax DJP adalah perubahan integrasi pajak terbesar dalam satu dekade. Diluncurkan Direktorat Jenderal Pajak (DJP) pada 1 Januari 2025, sistem ini menyatukan registrasi wajib pajak, faktur PPN (e-Faktur), bukti potong (e-Bupot), pembayaran, dan pelaporan SPT dalam satu sistem. Aplikasi terpisah yang mungkin sudah Anda integrasikan dulu sedang dipensiunkan.
Baru-baru ini saya membantu satu klien di Indonesia memigrasikan alur faktur mereka dari e-Faktur lama ke Coretax, dan kesulitannya hampir tidak pernah soal konsep — melainkan soal format data, nomor identitas pajak, dan timing. Artikel ini membahas apa yang benar-benar berubah dan apa yang harus Anda tangani di kode.
Perubahan skema paling mendasar adalah nomor identitas pajaknya sendiri. Berdasarkan PMK-136/PMK.03/2023, NPWP 15 digit diganti format 16 digit. Untuk orang pribadi penduduk, NPWP 16 digit ITU adalah NIK (nomor induk kependudukan di KTP). Untuk badan, instansi pemerintah, dan orang pribadi non-penduduk yang masih memakai NPWP 15 digit lama, migrasi dilakukan cukup dengan menambahkan '0' di depan. Kedengarannya sepele sampai Anda sadar setiap kolom foreign key, unique index, regex validasi, dan dokumen cetak di sistem Anda mengasumsikan 15 digit.
Jangan simpan NPWP sebagai integer atau memotong angka nol di depan di mana pun. NPWP 16 digit yang dibentuk dari 15 digit lama selalu diawali '0', dan NIK pun bisa. Perlakukan sebagai string panjang tetap dari hulu ke hilir, atau nol di depan Anda hilang diam-diam pada round-trip JSON pertama.
// Normalise a legacy 15-digit NPWP to the 16-digit Coretax format
// Individuals: use the 16-digit NIK directly.
// Entities / old NPWP: left-pad with a single "0".
function toCoretaxTaxId(raw: string): string {
const digits = raw.replace(/\D/g, ""); // strip dots, dashes, slashes
if (digits.length === 16) return digits; // already NIK / new NPWP
if (digits.length === 15) return "0" + digits; // legacy NPWP -> 16 digit
throw new Error(`Unexpected tax ID length: ${digits.length}`);
}
// ALWAYS keep it a string. Never: parseInt(npwp)
const TAX_ID_COLUMN = "VARCHAR(16) NOT NULL";Di dunia lama, Anda meminta jatah Nomor Seri Faktur Pajak (NSFP) di muka lewat e-Nofa, menyimpannya, dan memakai satu per faktur. Alur itu sudah tidak ada. Berdasarkan PER-11/PJ/2025 (berlaku 22 Mei 2025), Coretax membuat nomor seri otomatis saat faktur berhasil di-submit dan ditandatangani elektronik. Nomornya kini 17 digit: 2 digit kode transaksi, 2 digit kode status, lalu 13 digit nomor seri (2 digit tahun plus 11 digit urutan).
Bagi developer ini justru lebih sederhana — Anda berhenti mengelola stok NSFP dan merekonsiliasi nomor yang tidak terpakai. Tapi ini membalik alur Anda: nomor pajak tidak lagi ada saat draft, hanya setelah round-trip server berhasil. Kalau UI atau template PDF Anda mencetak NSFP sebelum submit, asumsi itu kini rusak.
Perhatikan juga nomor dari e-Faktur Desktop disesuaikan otomatis: DJP menyisipkan angka '9' di posisi digit ke-5 untuk mengubah NSFP 16 digit lama menjadi bentuk 17 digit Coretax. Kalau Anda mereferensikan silang faktur antara data lama dan baru, simpan kedua representasi daripada mencoba mengubahnya saat dibaca.
Coretax memakai skema XML baru untuk impor massal faktur keluaran, bukti potong, dan lampiran SPT. Format CSV/impor lama dari e-Faktur legacy tidak lagi diterima. DJP menerbitkan template XML resmi plus converter Excel-ke-XML di pajak.go.id, dan inilah kontrak yang harus dipenuhi ekspor ERP Anda.
Pola pragmatis yang banyak diadopsi tim ERP Indonesia: pertahankan model faktur internal apa adanya, tambahkan serializer yang memetakannya ke template XML DJP, dan perlakukan Coretax sebagai target integrasi keluar. Validasi terhadap skema DJP sebelum upload — satu field salah format menolak seluruh batch, dan pesan error Coretax sepanjang 2025 terkenal sangat singkat.
<!-- Simplified shape of a Coretax output-invoice XML row.
Get the authoritative template + XSD from pajak.go.id before coding. -->
<TaxInvoice>
<TaxInvoiceDate>2026-07-10</TaxInvoiceDate>
<TrxCode>04</TrxCode> <!-- 2-digit transaction code -->
<BuyerTin>0012345678901234</BuyerTin> <!-- 16-digit NPWP / NIK -->
<BuyerDocument>TIN</BuyerDocument>
<GoodService>A</GoodService>
<ItemName>Jasa konsultasi</ItemName>
<Qty>1</Qty>
<Price>10000000</Price>
<TaxBase>10000000</TaxBase>
<VATRate>12</VATRate> <!-- rate is explicit: 11 or 12 -->
<VAT>1200000</VAT>
</TaxInvoice>
<!-- NSFP is NOT sent here; Coretax assigns it on successful sign. -->Peluncuran awal 2025 Coretax berat — gagal login, error menyimpan faktur, dan masalah validasi wajah untuk sertifikat digital menunda penerbitan faktur nyata. Sebagai respons, DJP menerbitkan KEP-54/PJ/2025, menjaga sistem lama tetap hidup berdampingan dengan Coretax agar wajib pajak bisa kembali ke jalur yang lebih stabil selama transisi. Bagi integrator, ini berarti Anda tidak bisa mengasumsikan satu sumber kebenaran tunggal selama sebagian 2025-2026: sebagian lawan transaksi menerbitkan dari Coretax, sebagian masih dari legacy.
DJP sedang membangun interoperabilitas API dengan puluhan entitas eksternal untuk bertukar data terstandardisasi — tapi API host-to-host publik serba-guna yang bisa Anda pakai mandiri bukanlah jalur realistis hari pertama untuk kebanyakan pembangun SME. Tiga rute praktis, dari termurah ke paling otomatis:
| Pendekatan | Cara kerja | Paling cocok untuk |
|---|---|---|
| Upload XML manual | Ekspor dari ERP ke template XML DJP, upload di UI Coretax | Volume rendah, budget dev minim |
| Converter Excel-ke-XML | Petakan output ERP ke template Excel DJP, ubah ke XML, upload | Volume menengah, dijalankan tim finance |
| API mitra DJP (PJAP/ASP) | Penyedia berlisensi pihak ketiga mengotomatiskan submit dari aplikasi Anda | Volume tinggi, faktur real-time |
Untuk kebanyakan SME Indonesia saya sarankan mulai dari ekspor XML DJP dan pindah ke mitra PJAP/ASP berlisensi hanya setelah volume faktur menjustifikasi biaya berulangnya. Bangun serializer XML dengan baik dan ia jadi bisa dipakai ulang mitra mana pun yang Anda pilih nanti.
Intinya bagi developer: Coretax bukan sekadar URL baru. Ia mengubah tipe data nomor pajak Anda, menghapus logika stok NSFP, dan mengganti format ekspor Anda menjadi XML. Tangani ketiganya dengan benar maka migrasinya bisa dikelola; abaikan salah satunya dan Anda akan mengirim faktur yang salah tanpa disadari.