Penomoran dokumen yang tidak bisa bentrok
Ini soal yang kelihatan sepele sampai Anda mengalaminya: dua orang menerbitkan invoice pada saat yang sama, dari komputer yang berbeda, dan salah satunya sedang tidak punya jaringan. Nomornya tetap tidak boleh sama.
Kalau sampai sama, yang rusak bukan hanya kerapian. Dua invoice bernomor identik dengan isi berbeda adalah masalah pembukuan, masalah pajak, dan - kalau klien menyimpan salinan yang satunya - masalah kepercayaan.
Jawaban yang mudah, dan kenapa ia gagal
Cara termudah adalah mengambil nomor terakhir lalu menambah satu. Ini bekerja sempurna sampai ada orang kedua. Begitu dua komputer membaca "nomor terakhir 42" pada detik yang sama, keduanya menerbitkan 43.
Jawaban berikutnya biasanya "ya sudah, nomornya diambil dari server saja". Itu benar - sampai jaringannya mati. Dan di lapangan, jaringan memang mati.
Jatah nomor per komputer
Yang kami pakai adalah pembagian jatah. Setiap komputer memegang blok nomor sendiri yang tidak bertumpang tindih dengan komputer lain. Selama blok itu masih ada sisa, penerbitan jalan terus tanpa perlu bertanya ke siapa pun.
Akibatnya:
- Tanpa jaringan sekalipun, dokumen tetap bisa diterbitkan
- Dua komputer tidak mungkin mengeluarkan nomor yang sama, karena jatahnya memang beda
- Begitu tersambung lagi, semuanya menyusul sendiri ke pusat
Yang masih harus dijaga
Jatah nomor menyelesaikan bentrokan, tapi memunculkan dua hal lain yang harus ditangani sadar.
Nomor jadi tidak berurutan rapi. Kalau komputer A memegang 1-100 dan komputer B memegang 101-200, urutan terbitnya akan melompat-lompat. Itu harus dijelaskan ke siapa pun yang memeriksa pembukuan, supaya lompatan tidak dikira dokumen hilang.
Draf tidak boleh mengambil nomor. Nomor hanya diberikan saat dokumen benar-benar diterbitkan. Kalau draf ikut mengambil jatah, setiap percobaan yang dibatalkan akan meninggalkan lubang permanen.
Dan jejaknya hanya boleh bertambah
Hal terakhir, dan yang paling penting: catatan perubahan dokumen hanya boleh bertambah, tidak boleh disunting atau dihapus - termasuk oleh kami. Pembatalan pembayaran dicatat sebagai entri baru yang membatalkan, bukan dengan menghapus entri lama.
Kalau riwayat bisa disunting, ia berhenti jadi bukti.
Sistem penerbitan dokumen ini kami pakai sendiri setiap hari. Lihat layanan pembangunan atau hubungi kami.