Buku Manual / Menurut meja Anda
Untuk Accounting
Bagaimana uang dicatat, bagaimana kekeliruan dikoreksi tanpa menghapus jejak, dan apa yang bisa -- serta belum bisa -- ditunjukkan saat ditanya.
Isi bab
Buku besar yang hanya bisa ditambah
Seluruh pergerakan uang pelanggan tercatat di satu buku besar yang tidak pernah disunting dan tidak pernah dihapus. Tidak ada operasi "ubah" pada catatan uang di mana pun dalam sistem -- yang ada hanya menambah baris baru.
Konvensinya dari sudut pandang piutang PAM terhadap pelanggan:
Kosakata pembalik dan batal sengaja
dibedakan supaya saat menelusuri riwayat terlihat jelas mana
pembatalan setoran dan mana pemindahan atau pembatalan tagihan --
keduanya tidak tercampur dalam satu kata.
Aturan yang ditegakkan sistem: setiap kredit pembayaran wajib menunjuk setoran yang menopangnya. Tidak mungkin ada uang masuk di buku besar tanpa ada setoran yang bisa ditunjukkan sebagai asalnya.
Saldo dihitung, bukan disimpan
Saldo pelanggan tidak disimpan sebagai angka tersendiri yang bisa menyimpang diam-diam dari mutasinya. Ia selalu dihitung ulang dari buku besar: jumlah debit dikurangi jumlah kredit.
- Saldo positif berarti pelanggan menunggak.
- Saldo negatif adalah sah -- pelanggan membayar lebih dari tagihannya. Kelebihan itu otomatis mengurangi tagihan berikutnya, dan tidak pernah dilaporkan sebagai kejanggalan.
Alokasi pembayaran
Setoran dipakai melunasi tagihan tertua lebih dulu. Status lunas sebuah tagihan bukan ditandai manual, melainkan diturunkan dari posisi buku besar -- sehingga status dan angka tidak bisa berselisih.
Satu kehalusan yang penting bagi Anda: uang yang tersedia untuk dialokasikan dihitung dari selisih total tagihan aktif terhadap saldo buku besar, bukan dari menjumlahkan seluruh entri kredit. Bila dijumlahkan begitu saja, entri pembalik dari sebuah pembatalan akan salah terbaca seolah pelanggan menyetor uang lagi.
Bagaimana koreksi dibukukan
Empat jenis koreksi, semuanya dengan menambah entri -- tak satu pun menyunting atau menghapus:
Siapa yang sedang memegang sebuah setoran tidak ditebak dari catatan asalnya, melainkan diturunkan dari posisi buku besar saat itu -- dan sistem menolak bertindak bila hasilnya bukan tepat satu pemegang. Ini yang membuat pemindahan berantai tetap konsisten.
Pembulatan dan denda
Pembulatan dilakukan sekali saja, di total dokumen -- bukan pada tiap komponen. Selisih pembulatannya disimpan sebagai angka tersendiri di tagihan, sehingga bisa dipertanggungjawabkan dan dijumlahkan bila ditanya. Seluruh nilai uang tersimpan sebagai bilangan bulat sen; tidak ada bilangan pecahan mengambang di jalur perhitungan mana pun.
Denda keterlambatan dihitung saat billing dijalankan, atas tagihan lama yang masih terutang dan sudah lewat jatuh tempo -- bukan dibebankan susulan secara acak. Tagihan yang tidak punya tanggal jatuh tempo tidak pernah dikenai denda secara surut. Denda dicatat di tingkat dokumen tagihan, terpisah dari rincian per sambungan, sehingga tidak mengaburkan angka pemakaian air.
Tutup kas harian
Setiap kasir menutup kasnya sendiri, sekali per hari.
- Total menurut sistem dihitung dari siapa yang benar-benar login saat menerima setoran, bukan dari nama yang diketik di kolom teks -- sehingga dua staf bernama sama tidak pernah tertukar.
- Selisih terhadap setoran fisik dicatat apa adanya. Sistem tidak memaksanya nol dan tidak menyembunyikannya; tindak lanjutnya proses manusia, tapi angkanya jujur.
- Satu kasir satu hari hanya sekali, dan tidak bisa dibuka ulang.
- Batas hari mengikuti zona waktu wilayah PAM, bukan waktu universal -- sehingga penerimaan sore hari tidak terlempar ke tanggal berikutnya.
Nomor struk berurut per hari tanpa lompatan. Karena setoran tidak pernah dihapus, tidak ada nomor yang hilang; dan karena pembayaran ganda dicegah sebelum nomor diambil, klik dua kali pun tidak membuang nomor. Urutan yang rapat ini biasanya hal pertama yang diperiksa saat kas ditinjau.
Sembilan pemeriksaan konsistensi
Sistem memeriksa dirinya sendiri secara berkala -- otomatis saat aplikasi dinyalakan dan setiap sesudah billing dijalankan, serta bisa dijalankan kapan saja lewat perintah tersendiri. Yang diperiksa:
- Berkas basis datanya sendiri tidak rusak secara fisik.
- Tidak ada catatan yang menggantung tanpa induk.
- Total tiap tagihan sama dengan jumlah rinciannya.
- Biaya air pada rincian sama dengan jumlah baris perhitungan blok tarifnya.
- Tiap tagihan punya tepat satu entri buku besar sebesar total ditambah pembulatannya.
- Efek bersih tiap setoran di buku besar sama persis dengan nominal setoran itu -- termasuk setelah dipindahkan berkali-kali.
- Status lunas tiap tagihan cocok dengan posisi buku besar.
- Tidak ada kredit pembayaran tanpa setoran yang menopangnya.
- Satu setoran hanya dipegang satu pelanggan pada satu waktu.
Temuan memberi tahu, tidak menghentikan layanan -- loket tetap bisa menerima pembayaran sementara masalahnya ditelusuri. Peringatannya muncul di layar admin, bukan terkubur di berkas log. Satu-satunya yang menghentikan adalah kerusakan fisik berkas: basis data yang rusak ditolak sejak dibuka, bukan dilayani setengah-setengah.
Jejak audit
Setiap tindakan yang menyentuh uang atau wewenang dicatat tambah-saja, dalam transaksi yang sama dengan tindakannya -- sehingga tidak mungkin ada aksi yang berhasil tapi jejaknya gagal tertulis. Yang tercatat: siapa pelakunya, aksinya, objeknya, nilai lama, dan nilai baru.
Tercakup di dalamnya: pembuatan dan pembatalan pembayaran, pemindahan pembayaran, perubahan status dan pembatalan tagihan, pembukaan kembali sambungan, pembukaan ulang bacaan yang sudah divalidasi, pembuatan akun staf dan perubahan statusnya, serta penggantian meter.
Batas jujur: catatan ini tersimpan lengkap, tetapi belum ada layar untuk membacanya. Menyajikannya saat pemeriksaan masih memerlukan bantuan teknis. Ini kesenjangan yang diketahui.
Yang belum ada
Bagian ini penting justru bagi Anda, karena inilah yang paling cepat terasa di meja accounting:
- Modul laporan dan ekspor. Tidak ada laporan yang bisa dicetak atau diunduh -- tidak CSV, tidak PDF. Yang ada adalah layar operasional (detail tagihan, riwayat pembayaran pelanggan, rekap tutup kas hari berjalan) dan hasil pemeriksaan lewat baris perintah.
- Rekapitulasi piutang seluruh PAM. Tunggakan bisa dilihat per pelanggan; belum ada total tunggakan PAM, daftar penunggak, maupun analisis umur piutang.
- Riwayat tutup kas lintas hari. Rekap yang tampil adalah hari berjalan untuk kasir yang sedang login.
- Cicilan tunggakan dan penghapusan piutang tak tertagih belum ada jalurnya.
- Keringanan atau subsidi massal belum bisa dijalankan sekaligus.
- Impor data dari sistem lama belum ada perkakasnya.
Semuanya adalah keadaan hari ini dan tercatat sebagai pekerjaan yang belum dikerjakan -- bukan penolakan permanen seperti penolakan terhadap hosting terkelola.