Setiap proyek migrasi skala besar punya dua tanggal yang menentukan. Tanggal pertama adalah hari sistem baru dinyalakan. Tanggal kedua adalah hari sistem lama dimatikan. Di antara keduanya ada fase yang dalam buku panduan disebut parallel run: dua sistem produksi menerima trafik dari domain yang sama, dan seseorang, di suatu ruangan, memegang daftar rekonsiliasi harian. Fase itu selalu didefinisikan sebagai sementara.
Yang menarik dari apa yang terjadi pada administrasi perpajakan Indonesia bukanlah kegagalan teknisnya. Kegagalan teknis sudah terdokumentasi rapi, lengkap dengan permohonan maaf resmi dan dua puluh dua butir kendala yang diidentifikasi sendiri oleh pemilik sistem. Yang menarik adalah fakta bahwa delapan belas bulan setelah peluncuran, tanggal kedua masih belum muncul di dokumen perencanaan mana pun. Dalam istilah infrastruktur, ini bukan migrasi yang tertunda. Ini parallel run yang telah dipromosikan menjadi arsitektur tetap — tanpa pernah ada rapat yang memutuskan promosi itu.
Migrasi yang Tidak Dijadwalkan Selesai
Sistem inti administrasi perpajakan, Coretax, mengambil alih seluruh layanan pajak pada 1 Januari 2025. Rencananya adalah big bang cutover: satu malam, satu saklar, satu sistem. Yang terjadi justru sebaliknya. Dalam rapat kerja dengan Komisi XI DPR pada 10 Februari 2025 — sekitar enam minggu setelah cutover — kesimpulan yang diambil bukan percepatan perbaikan, melainkan penambahan beban: sistem perpajakan lama diminta dihidupkan kembali sebagai mitigasi agar penerimaan negara tidak terganggu.
Direktorat Jenderal Pajak merespons dengan formulasi yang layak dikutip sebagai contoh bahasa teknis yang menyembunyikan keputusan arsitektural: implementasi Coretax tidak ditunda, tetapi tetap dijalankan paralel dengan fitur layanan lama. Praktisnya, pelaporan SPT tahun pajak sebelum 2025 tetap lewat e-Filing di laman pajak.go.id, dan sebagian wajib pajak PKP tertentu tetap memakai e-Faktur Desktop. Dua jalur. Dua basis data. Satu wajib pajak.
Dalam arsitektur sistem, kontrak sosial semacam ini tidak asing. Namanya dual-write, dan ia punya satu sifat yang tidak bisa dinegosiasikan: begitu dua penulis menulis ke domain yang sama, rekonsiliasi berubah dari tahap transisi menjadi komponen produksi yang permanen. Rekonsiliasi bukan fitur. Ia beban operasional yang bertambah setiap hari selama kedua penulis tetap hidup.
Dua Puluh Dua Kendala, Satu Pola
Daftar kendala yang diidentifikasi sendiri oleh DJP pada awal 2025 menarik dibaca bukan sebagai daftar bug, melainkan sebagai daftar gejala dari satu kondisi: dua sistem dengan kebenaran yang tidak sinkron. Status Pengusaha Kena Pajak yang berbeda antara sistem lama dan sistem baru. Data Surat Ketetapan Pajak dan Surat Tagihan Pajak yang belum tersedia di Coretax sehingga pembayaran utang pajak lama tidak bisa diproses. SPT tahun-tahun sebelumnya yang tidak muncul kembali. Kode billing yang tidak bisa dibuat. Pendaftaran NPWP yang gagal. Otorisasi yang tercetak atas nama orang lain.
Tidak ada satu pun dari kendala itu yang berbunyi seperti kesalahan logika. Semuanya berbunyi seperti kesalahan migrasi data — migrasi yang dijalankan sementara sistem sumbernya masih melayani produksi. Ini adalah kondisi yang sudah lama dikenal setiap orang yang pernah memindahkan beban kerja dari satu cluster ke cluster lain: selama penulis lama masih menerima tulisan baru, snapshot yang Anda pindahkan sudah usang sebelum proses selesai. Satu-satunya cara menghentikan kondisi itu adalah memutus tulisan lama. Yang dibutuhkan adalah cutover freeze, dan cutover freeze adalah keputusan politik, bukan keputusan teknis.
Delapan belas bulan kemudian, pola gejalanya hanya bergeser dari pendaftaran ke sinkronisasi data: pengumuman waktu henti tetap terbit berkala, dan beban puncak kembali menguji kapasitas setiap kali batas akhir pelaporan mendekat.
Sanksi yang Dimatikan sebagai Circuit Breaker
Ada satu instruksi lain dalam rapat Februari 2025 yang jarang diangkat dalam pembahasan teknis: DJP diminta tidak mengenakan sanksi administrasi kepada wajib pajak atas keterlambatan yang disebabkan gangguan penerapan sistem. Permintaan itu wajar, manusiawi, dan sekaligus diagnosis arsitektural yang sangat akurat. Ketika komponen produksi gagal, satu-satunya cara menjaga pipeline tetap hijau adalah mematikan circuit breaker yang mengukur kegagalan.
Masalahnya adalah siapa yang memikul beban ketidakpastian setelah breaker itu dimatikan. Secara formal, kegagalan sudah dikurung di dalam sistem. Secara praktis, tidak ada yang tahu sampai kapan pengecualian itu berlaku, apakah ia berlaku otomatis, dan bagaimana membuktikan bahwa keterlambatan Anda memang berasal dari sistem dan bukan dari kelalaian Anda. Dalam bahasa arsitektur: blast radius insidennya diperkecil untuk negara, dan diekspor ke pengguna akhir dalam bentuk ketidakpastian kepatuhan.
Di ruang operasional yang terbatas, dari lokalitas terbatas, ini adalah pola yang selalu terlihat sama. Insentif dirancang untuk menjaga metrik penerimaan tetap stabil, lalu risikonya didistribusikan ke node ujung yang tidak punya opsi eskalasi.
Roadmap Berbasis Risiko sebagai Alat Tunda Keputusan
DPR juga meminta disusunnya peta jalan implementasi yang berbasis risiko dan seringan mungkin bagi wajib pajak, disertai pelaporan berkala. Terdengar sebagai bentuk akuntabilitas. Yang jarang diperhatikan adalah efek struktural dari kata berbasis risiko dalam sebuah konteks yang sudah tidak lagi punya jadwal.
Roadmap berbasis risiko adalah artefak yang secara desain menolak komitmen tanggal. Ia menetapkan urutan mitigasi, bukan titik akhir. Dengan itu, dokumen tersebut sempurna untuk parallel run: ia mengizinkan sebuah organisasi mengklaim bahwa migrasi sedang berjalan, tanpa harus menuliskan kalimat yang menyakitkan, yaitu “sistem lama dimatikan pada tanggal sekian.” Setiap laporan berkala berikutnya menambah satu lapisan dokumentasi, bukan mengurangi satu lapisan sistem. Setelah beberapa siklus, dokumentasinya lebih matang daripada sistem yang seharusnya digantikannya.
Harvard Business Review pernah mencatat pola serupa pada modernisasi sistem inti sektor publik: proyek terbesar gagal bukan karena teknologinya belum jadi, melainkan karena tidak ada pemilik tunggal yang bersedia memegang konsekuensi dari momen peralihan. Tanpa orang itu, fase paralel tidak pernah ditutup — hanya diperpanjang, satu rapat anggaran pada satu waktu.
Biaya yang Tidak Pernah Ada di Baris Depresiasi
Anggaran untuk sistem baru sudah tercatat, disebut-sebut dalam kisaran ratusan miliar rupiah, dan itu sah-sah saja. Yang tidak pernah muncul dalam pembahasan fiskal adalah biaya sistem yang tidak jadi dimatikan. Sistem lama yang masih melayani produksi tidak bisa dibekukan; ia butuh pemeliharaan, tambalan keamanan, on-call bergilir, dan runbook sendiri. Artinya dua rotasi operasional, dua set kredensial, dua jalur audit, dan satu beban rekonsiliasi yang tumbuh seiring volume wajib pajak.
Dalam hitungan total cost of ownership, inilah bentuk paling mahal dari sebuah opsi: organisasi membayar setiap bulan untuk mempertahankan hak rollback ke sistem yang secara resmi sudah digantikan. Biayanya tidak muncul sebagai baris anggaran, melainkan sebagai tambahan jam kerja pada orang yang sama, dan pekerjaan rekonsiliasi punya sifat yang tidak dimiliki pekerjaan pengembangan: ia tidak pernah selesai dan tidak pernah dihitung sebagai pencapaian.
Paralel yang Menjadi Keadaan Akhir
Setiap orang yang pernah mengoperasikan dua sistem produksi secara bersamaan tahu satu hal yang tidak diajarkan di dokumentasi. Canary yang tidak pernah dipromosikan, pada akhirnya bukan lagi canary; ia sistem produksi. Blue-green deployment di mana warna hijau tidak pernah menerima seluruh trafik berhenti menjadi strategi rilis dan berubah menjadi dua environment yang bersaing memperebutkan definisi kebenaran. Ephemeral instance yang hidup cukup lama akan berhenti menjadi ephemeral dan mulai dirawat seperti hewan peliharaan, lengkap dengan nama dan panggilan darurat tengah malam.
Itu yang sedang berlangsung: bukan kegagalan besar, melainkan kondisi yang jauh lebih sunyi — migrasi yang berhasil dalam arti tidak ada yang meledak, dan gagal dalam arti tidak ada yang selesai. Yang berjalan setiap hari adalah rekonsiliasi. Yang tidak pernah dijalankan adalah decommissioning. Dan selama tidak ada satu pun pihak yang bersedia menandatangani tanggal kematian salah satu sistem, satu-satunya komponen dari infrastruktur perpajakan ini yang benar-benar teruji adalah kemampuan dua sistem untuk hidup berdampingan tanpa pernah saling mengakui sebagai sumber kebenaran.
Log ditutup. Sistem lama menunggu dipensiunkan, sistem baru menunggu dinyatakan selesai, dan di antara keduanya rekonsiliasi berjalan seperti cron job yang tidak dimiliki siapa pun di bagan organisasi. Migrasi yang paling mahal bukan yang gagal, melainkan yang tidak punya tanggal mati.