Server kami berganti tanggal mengikuti Waktu Universal Terkoordinasi. Jakarta 7 jam di depannya. Jadi dari tengah malam sampai pukul 7 pagi di sini, hari sebelumnya masih berjalan di dalam server. Apa pun yang dicatat dalam 7 jam itu adalah hari ini bagi orang yang mencatatnya, dan kemarin di dalam perangkat lunak kami.
Yang menemukannya adalah E. Ia tinggal di sebuah kota kecil agak jauh dari Jakarta dan memulai harinya pagi-pagi sekali. Pada 11 Agustus pukul 6:40 pagi ia hendak memasukkan 1 jurnal ke KAZENA Books dari perangkatnya sendiri, lalu melihat kolom tanggal sudah terisi tanggal kemarin. Ia mengirimkan rekaman layar. Ia mengetik ulang tanggal itu, menyimpannya, lalu bertanya apakah jam di perangkatnya yang meleset. Bukan perangkatnya yang meleset.
Saya tuliskan mekanismenya. Nilai awal tanggal pada jurnal dibuat dari waktu server saat itu. Cap waktu yang kami tulis ketika menyimpan berasal dari waktu yang sama. Dan rentang yang disebut hari ini oleh ringkasan penjualan harian pun datang dari sana. Bukan 3 tempat yang masing-masing keliru, melainkan 3 tempat yang berbagi satu sumber yang sama. Yang salah bukan sumbernya, melainkan mengubahnya menjadi tanggal pada kalender.
Kami menghitungnya. Dari jurnal yang dibuat antara 1 Juni dan 20 Agustus, ada 613 yang dibuat antara tengah malam dan pukul 7 pagi menurut waktu setempat orang yang membuatnya. Dari jumlah itu, 488 tersimpan tanpa ada yang membetulkan kolom tanggal dengan tangan. Ke-488 jurnal itu membawa tanggal yang lebih awal 1 hari daripada hari kejadiannya.
Sebanyak 19 di antaranya melewati batas bulan. Transaksi yang dicatat dini hari pada tanggal 1 duduk di total bulan sebelumnya, seluruhnya 31.400.000 rupiah. Total setahun tidak berubah; total bulanan berubah. Siapa pun yang membaca laporannya per bulan akan melihat Agustus yang lebih ringan dan Juli yang lebih berat.
Perlu juga saya tulis mengapa tak ada yang melaporkannya. Kolom tanggal bisa diubah. Orang yang merasa ada yang aneh mengetiknya ulang lalu menyimpan. Cacat yang bisa diperbaiki di tempat tidak pernah dilaporkan sebagai cacat, karena orang menganggap dirinya sendiri salah ketik. Kerusakan yang bisa ditimpakan pengguna pada dirinya sendiri tidak akan pernah sampai kepada kami.
7 jam itu bukan jam-jam yang sepi di kota ini. Jalan di dekat kantor sudah bergerak sebelum pukul 5, dan gerobak bubur ayam sudah mengular antreannya. Ada warung yang memang tidak pernah tutup. Yang kami perlakukan sebagai masih kemarin justru bagian tersibuk dari hari itu bagi banyak usaha kecil.
Ada kekeliruan yang lebih dalam di bawahnya. Kami menurunkan zona waktu dari negara. Indonesia punya 3: Jakarta WIB di +7, Makassar WITA di +8, Jayapura WIT di +9. Dengan membaca setelan negara lalu memutuskan +7, kami menyerahkan tambahan kesalahan 1 atau 2 jam kepada pengguna di pulau-pulau timur.
Saya tidak akan berkilah. Menyimpan waktu dalam UTC bukan gagasan yang keliru. Yang keliru datang sesudahnya. Sebuah saat dan sebuah tanggal kalender adalah dua hal yang berbeda. Sebuah saat sama di mana pun di dunia; sebuah hari kalender ditentukan oleh tempat orang yang memandangnya berdiri. Keduanya saya sebut tanggal, dan saya simpan di laci yang sama.
Pengujian kami lulus. Uji otomatis berjalan sekitar tengah hari UTC, jam yang jatuh pada tanggal kalender yang sama dilihat dari negara mana pun yang kami layani. Kami memeriksa batas dari tempat yang tidak pernah melewatinya. Sekarang jamnya dipatok: 23:50, 00:10, dan 6:59, dijalankan di 5 zona waktu yang kami layani. Semuanya 15 kombinasi, setiap kali.
Inilah perbaikannya. Sekarang setiap pembukuan membawa zona waktunya sendiri. Negara hanya mengusulkan nilai awal, dan itu bisa diganti di setelan kapan saja. Nilai awal tanggal pada jurnal, serta rentang di balik ringkasan harian dan bulanan, dibangun dari hari kalender di zona itu. Cap waktu yang tersimpan tetap dalam UTC, karena urutan dan jejak audit membutuhkannya di sana. Hanya tanggal yang kami perlihatkan kepada orang yang kami pindahkan ke sisi orang itu.
Kami tidak menulis ulang satu pun dari 488 jurnal yang sudah tersimpan. Kolom tanggal adalah kolom yang bisa diubah. Apa pun yang ada di sana pada akhirnya adalah tanggal yang diletakkan orang itu, bukan sesuatu untuk kami tebak lalu kami timpa. Untuk 19 yang melewati bulan, kami menghubungi mereka, dengan daftar yang terpengaruh dan langkah untuk membetulkannya. Membetulkannya atau tidak, itu keputusan mereka.
Perlu saya sampaikan dengan jelas. Saya bukan konsultan pajak. Tanggal sebuah transaksi menentukan masa pajak mana yang memuatnya, dan selisih 1 hari yang melewati bulan mengubah bulan yang dilaporkan. Kalau ada yang terasa mirip, periksalah apa yang Anda catat pada dini hari di awal bulan. Mohon pastikan keputusan akhirnya kepada tenaga profesional.
Sekarang, setiap kali kata hari ini muncul di kode kami, saya berhenti sekali dan bertanya, hari ini milik siapa. Server tidak punya hari ini. Ia hanya punya sebuah saat. Yang memiliki hari ini adalah orang di depan layar. Kalau di suatu tempat di KAZENA ada tanggal yang meleset 1 hari dari yang Anda kira, beri tahu kami. Jam Anda kemungkinan besar sudah benar.
Ceritakan pendapat Anda
Kesan setelah memakai aplikasi KAZENA, hal yang perlu diperbaiki, fitur yang Anda harapkan — kalau Anda pemilik usaha kecil-menengah atau pekerja lepas di Indonesia atau Filipina, suara Anda-lah yang paling ingin kami dengar. Pesan dalam bahasa Indonesia atau Inggris akan dijawab oleh rekan kami yang benar-benar memahami pasar lokal. KAZENA Books sudah dipastikan hadir di Filipina dan Indonesia — dan jika perusahaan Anda ingin menghadirkannya di negara-negara lain sebagai mitra kerja sama, atau tertarik membeli sistemnya, kami dengan senang hati menunggu kabar Anda. Kami juga menerima pengembangan sistem baru. Tim kami kecil, jadi tidak selalu bisa langsung mulai — tetapi yang kami bangun membawa kualitas buatan Jepang dan tetap dekat dengan cara bisnis berjalan di sini, satu proyek demi satu.
Hubungi saya