Blog

Bakiyeyi sütunda tutmayın: hareket defteri neden tek doğru cevap

Tek sütunda tutulan bakiye, ilk tutarsızlıkta kimsenin cevaplayamadığı bir soruya dönüşür: bu rakam nereden geldi? Hareket defteri bu soruyu ortadan kaldırır.

5 dakika okuma

Para tutan her sistemde er ya da geç aynı an gelir: müşteri bakiyesinin yanlış olduğunu söyler, siz ekrana bakarsınız ve rakamın nasıl o hâle geldiğini gösteremezsiniz. Bakiye tek bir sütunda tutuluyorsa, elinizde yalnızca sonuç vardır — geçmiş yoktur.

Sütun değil, hareket

Doğru yaklaşım bakiyeyi saklamak değil, türetmektir. Her para hareketi (yükleme, kesinti, iade, düzeltme) ayrı bir satır olarak yazılır; bakiye bu satırların toplamıdır. Böylece "bu rakam nereden geldi" sorusunun cevabı her zaman sorgulanabilir bir listedir.

Bu yaklaşımın maliyeti gerçektir: her okuma bir toplama işlemi gerektirir. Ama bu maliyet, özetlenmiş bakiye alanları veya uygun indeksleme ile yönetilebilir. Yönetilemeyen şey, kaynağı gösterilemeyen bir rakamın yarattığı güven kaybıdır.

Kesinti, olayla aynı işlemde yazılır

İkinci kritik nokta zamanlamadır. Kesintiyi teslimat tamamlandıktan sonra ayrı bir işlemde yazarsanız, arada bir hata bu ikisini ayırır: teslimat tamamlanmış ama para düşmemiş olur. Kesinti, durum geçişiyle aynı veritabanı işleminde yazılmalıdır. İşlem ya bütün olarak başarılı olur ya da hiç olmaz.

Eksi limit bir iş kuralıdır, bir kaza değil

İşletmelerin bakiyesi bitince ne olacağı da açıkça tanımlanmalıdır. Tanımlanmazsa sistem ya siparişi kabul edip alacak biriktirir ya da beklenmedik bir anda hizmeti keser. Her işletme için ayrı bir eksi limit tanımlamak, bu kararı koda gömmek yerine yönetime bırakır.

Projenizi konuşalım

Ne yapmak istediğinizi anlatın, size ne kadar sürede ve nasıl yapılabileceğini söyleyelim. İlk görüşme ücretsiz.