Menu

Aturan validasi nomor pajak: apa yang sebenarnya bisa diperiksa

Aturan validasi nomor pajak berbeda di tiap negara: sebagian nomor memuat digit pemeriksa, sebagian lain hanya nomor urut tanpa algoritma yang bisa dipakai.

Diterbitkan

  • nomor pajak
  • validasi
  • pengujian

Aturan validasi nomor pajak adalah pedoman tentang sejauh mana sebuah nomor pajak bisa diperiksa secara otomatis, dan sejauh mana hasil pemeriksaan itu boleh dipercaya. Banyak tim membangun satu fungsi pemeriksa yang dipakai untuk semua negara, lalu bingung ketika fungsi itu menolak nomor yang sah atau meloloskan nomor yang tidak pernah ada. Halaman ini menjelaskan mengapa aturan itu berbeda di tiap negara, apa yang sebenarnya dibuktikan oleh setiap lapisan pemeriksaan, dan bagaimana menyusun alur validasi yang bisa menjelaskan dirinya sendiri kepada pengguna.

Nomor pajak itu apa dan untuk apa

Nomor pajak adalah tanda pengenal yang diberikan otoritas perpajakan sebuah negara kepada wajib pajak, baik orang pribadi maupun badan usaha, agar kewajiban fiskalnya dapat dicatat dan ditelusuri. Namanya berbeda-beda antarnegara, dan begitu pula bentuknya, karena yang menerbitkan adalah otoritas setempat dengan aturan yang ditetapkan hukum setempat.

Dalam alur usaha, nomor ini muncul ketika sebuah perusahaan perlu menunjukkan bahwa ia terdaftar sebagai wajib pajak di negaranya, misalnya saat mengajukan kerja sama dagang, saat melengkapi dokumen pembayaran, atau saat mendaftar sebagai pemasok. Pada intinya, nomor ini menjawab pertanyaan siapa yang bertanggung jawab atas sisi fiskal sebuah transaksi.

Mengapa aturan validasinya berbeda di tiap negara?

Perbedaan itu berakar pada cara otoritas menyusun nomornya. Sebagian negara menyusun nomor dengan digit pemeriksa, yaitu satu atau beberapa karakter terakhir yang nilainya dihitung dari karakter sebelumnya. Pada negara seperti itu, salah ketik sederhana bisa diketahui tanpa menghubungi siapa pun, karena kombinasi yang salah tidak akan menghasilkan digit pemeriksa yang cocok.

Negara lain menyusun nomor sebagai nomor urut belaka, tanpa unsur turunan yang bisa dihitung. Pada negara seperti itu, tidak ada cara matematis untuk menguji kebenaran sebuah nilai: nomor yang bentuknya rapi bisa saja tidak pernah terdaftar, dan nomor yang tampak ganjil justru bisa jadi benar. Menyimpulkan bahwa satu negara pasti memakai digit pemeriksa atau pasti tidak memakainya adalah kesalahan umum yang perlu dihindari, karena aturan bisa berubah dan tidak semua negara menerbitkan aturannya secara terbuka.

Apa yang sebenarnya bisa Anda periksa?

Ada tiga pertanyaan berbeda yang sering dijawab oleh satu bidang formulir, dan ketiganya tidak boleh dicampur.

Pertanyaan Cara menjawabnya Batas jawabannya
Apakah nilai ini terisi dan bentuknya wajar Aturan lokal, tanpa jaringan Tidak menyatakan apa pun soal keberadaan
Apakah kemungkinan salah ketik kecil Digit pemeriksa bila negaranya menerbitkan Nomor bisa lolos dan tetap tidak terdaftar
Apakah nomor ini terdaftar Pencarian ke daftar otoritas Hanya berlaku pada saat pencarian

Tabel itu memperlihatkan mengapa satu pesan kesalahan tidak cukup. Pengguna perlu tahu apakah yang diminta darinya adalah memperbaiki bentuk penulisan, memeriksa kembali angka yang diketik, atau menunggu hasil pencarian resmi. Menyamakan ketiganya menjadi kalimat yang bernada nomor ini salah akan menyesatkan.

Mengapa bentuk yang lolos belum tentu terdaftar

Kesalahpahaman yang paling mahal adalah menganggap lolosnya pemeriksaan bentuk sebagai kepastian keberadaan. Padahal pemeriksaan bentuk hanya membandingkan susunan karakter dengan kebiasaan sebuah negara, dan perbandingan itu tidak memerlukan akses ke daftar siapa pun. Deretan karakter yang disusun asal-asalan bisa lolos, sedangkan nomor yang benar-benar terdaftar bisa gagal hanya karena ditulis dengan gaya yang tidak biasa.

Keberadaan hanya bisa dipastikan lewat sumber resmi penerbit. Untuk sebagian negara, sumber itu berupa layanan pencarian yang terbuka; untuk negara lain, pemeriksaan hanya tersedia lewat kanal resmi dan seringkali tidak bisa diotomatiskan. Ketika sumber resmi tidak tersedia, langkah yang jujur adalah menyatakan bahwa nomor belum diverifikasi, bukan menampilkan tanda centang yang tidak berdasar. Cara berpikir yang sama berlaku pada jenis nomor lain, seperti diuraikan pada nomor VAT dan status terdaftarnya.

Untuk pengembang: memisahkan tiga lapisan validasi

Bangun lapisan pemeriksaan secara terpisah agar masing-masing bisa diuji dan dijelaskan sendiri. Lapisan pertama bersifat lokal: memeriksa apakah nilai terisi, panjangnya masuk akal, dan tidak memuat karakter yang jelas tidak diizinkan. Lapisan ini harus bisa dijalankan tanpa jaringan, karena dipakai pada setiap penekanan tombol.

Lapisan kedua memakai aturan per negara, termasuk digit pemeriksa bila negaranya menerbitkan aturan semacam itu. Simpan aturan itu sebagai data yang terpisah dari logika pemrosesan, supaya perubahan aturan di satu negara dapat diperbarui tanpa mengubah alur yang lain. Jangan menetapkan satu pola tunggal untuk semua negara, karena itu akan menolak nilai yang sah di sebagian besar dunia.

Lapisan ketiga menanyakan keberadaan ke daftar resmi. Lapisan ini selalu bisa gagal karena sebab di luar kendali Anda: layanan tidak menjawab, jawabannya lambat, atau permintaan ditolak karena batas kuota. Bedakan tiga keadaan itu di dalam kode dan di dalam pesan yang dilihat pengguna. Perlakukan jawaban tidak ada sebagai satu keadaan tersendiri, bukan sebagai kesalahan teknis, dan simpan hasilnya beserta waktu pemeriksaan agar tidak ditanyakan berulang kali.

Susun juga urutan pemeriksaannya dari yang paling murah ke yang paling mahal. Memanggil layanan luar sebelum memeriksa bentuk akan membuang kuota untuk nilai yang jelas salah, sekaligus memperlambat setiap pengiriman formulir.

Ikuti jejak pemeriksaan untuk keperluan penelusuran. Catat lapisan mana yang menolak, kapan, dan dengan aturan versi apa. Ketika ada keberatan dari pengguna, jejak itu yang membedakan antara kesalahan pengguna dan kesalahan aturan. Untuk nominal yang berkaitan dengan dokumen, hal ini juga menyentuh pembahasan pada kasus uji formulir tagihan.

Untuk latihan pengujian validasi

Skenario uji yang paling berguna bukanlah nomor yang benar, melainkan kumpulan kasus batas: nilai kosong, nilai dengan huruf di posisi yang salah, nilai yang terlalu panjang, nilai yang bentuknya benar tetapi digit pemeriksanya tidak cocok, dan nilai yang seluruhnya wajar. Di generator data perusahaan pada situs ini, nomor pajak dibentuk mengikuti kebiasaan negara yang dipilih sehingga Anda bisa menguji jalur format dengan nilai yang sintetis. Semua nilai itu tidak berasal dari daftar resmi mana pun dan hanya untuk pengujian perangkat lunak, demo formulir, serta pengisian data staging.

Jangan memakai catatan semacam ini untuk mengklaim status wajib pajak, mengesankan bahwa sebuah badan usaha telah diverifikasi, atau melewati pemeriksaan resmi apa pun. Nilainya tidak menunjuk entitas nyata, dan justru itulah yang membuatnya aman dipakai berulang kali.

Langkah berikutnya

Tulis ulang pesan kesalahan pada formulir Anda sehingga setiap lapisan pemeriksaan punya kalimatnya sendiri. Perubahan kecil itu biasanya menurunkan jumlah tiket dukungan lebih banyak daripada menambah negara baru. Setelah itu, telusuri cara menyimpan tanda pengenal bisnis lain agar setiap jenis tanda pengenal diperiksa dengan cara yang sesuai sifatnya.

Lanjut membaca

Artikel tentang Generator data perusahaan untuk pengujian