Tek Defter Sistemi: Tüm Para Hareketlerinin Merkezi
Geleneksel muhasebe yazılımlarında banka hareketi bir tabloda, kart taksiti başka bir tabloda, çek tahsilatı üçüncü bir tabloda tutulur. Aynı para tek bir hareket olmasına rağmen sistem onu birden fazla yerde takip eder; raporlamada uyumsuzluk, geri alma sırasında bakiye kayması, denetimde "şu işlem nereden geldi?" gibi sorular kaçınılmaz olur. Muhasebim'in Tek Defter mimarisi bu klasik sorunu kökten çözer: tüm para hareketleri tek bir merkezi tabloda toplanır, kaynağı (banka/kart/çek/cari/fatura) ise meta-bilgi olarak işaretlenir.
islemler tablosunda buluşur.Tek Defter Felsefesi
Mimari ilke basit: bir tane "ana defter" (ledger) vardır ve para etkileyen her şey oraya yazılır. Eski sistemde "transactions", "card_payments", "check_collections", "loan_installments" gibi farklı tabloların hepsi şimdi tek bir islemler tablosunda yaşar. Hangi modülden geldiği iki kolonla işaretlenir:
- islem_kaynagi:
'cek_senet','tekrarlayan','borc_taksiti','cari_hareket','fatura','manuel'vb. - kaynak_id: kaynak modüldeki orijinal kayıt id'si.
Bu iki kolon sayesinde her işlem nereden geldiğini bilir; raporlar tek sorgu ile kategori-kaynak-hesap kombinasyonlarını döker; geri alma işlemi tek bir kaynak ID üzerinden tüm bağlı hareketi soft-delete ile bulup geri çevirebilir.
Pratik Faydaları
1. Bakiye Anlık Tutarlı
Bir hesabın bakiyesi SELECT SUM(...) FROM islemler WHERE hesap_id = ? ile her zaman doğru çıkar. Kart taksiti, banka transferi, çek tahsilatı — hepsi aynı yerden okunur. Çift sayım veya unutulan bir modül imkansız.
2. Tek Hamlede Geri Alma (Revert)
Bir tahsil edilmiş çeki sildiğinizde, sistem islemler tablosundaki o çeke bağlı tüm hareketleri (islem_kaynagi='cek_senet' AND kaynak_id=42) bulup soft-delete eder, hesap bakiyesini bu hareketlerin toplamı kadar geri çevirir. Hiçbir manuel düzeltme gerekmez; çek-senet modülü ile hesap modülü kendi tabloları varmış gibi davranır.
3. Soft-Delete + Audit
İşlemler asla fiziksel silinmez; silinme_tarihi kolonu ile işaretlenir. 30 gün boyunca Çöp Kutusu'nda saklanır, geri yükleme tek tık. Denetim için tüm geçmiş tek sorguda görülebilir.
4. Tek Yerden Filtreleme
"Geçen ay tüm bankalarımdan ve kredi kartlarımdan ne kadar gider çıktı?" sorusunu yanıtlamak için modülleri tek tek dolaşmaya gerek yok — islemler WHERE tur='gider' AND tarih BETWEEN ? yeter.
5. Kaynak Garantili Tutarlılık
Eğer islem_kaynagi='tekrarlayan' diye işaretlenen bir kayıt varsa, tekrarlayan_islemler tablosunda gerçekten o id mevcut olmalı. Muhasebim bu bütünlük kuralını veritabanı seviyesinde tutarlılık kontrolleri ile garanti eder; idempotency koruması ile çift tetikleme olmaz.
Geliştirici Bakışı
Tek Defter mimarisi helpers/islem_defteri.php dosyasında üç ana fonksiyona toplanmıştır:
- kaydetIslem(): yeni hareketi
islemler'e yazar, bağlı hesabın bakiyesini günceller, audit logu ekler. Tek transaction içinde atomik. - islemKaynakSil(): belirli bir kaynak (örn.
kaynak_id=42,islem_kaynagi='cek_senet') için tüm bağlı hareketleri soft-delete eder, bakiye etkisini revert eder. - islemBakiyeUygula(): hesap bakiyesini sıfırdan tüm aktif işlemler üzerinden yeniden hesaplar (mutabakat/onarım için).
Kullanıcı Açısından
Bunların hepsi arka planda olur; siz sadece "Yeni Gelir Ekle" tıklarsınız, sistem geri kalanını halleder. Tek Defter'in size sağladığı ise gözle görülmez ama elle dokunulur bir tutarlılıktır: hiç bir bakiye sapması, hiç bir "şu işlem nereden geldi" sorusu, hiç bir manuel uzlaştırma. Detaylı tanıtım için Muhasebim Nedir? yazısına bakabilirsiniz.
Muhasebim'i ücretsiz deneyin
Kişisel bütçenizi veya işletmenizin muhasebesini tek panelde takip etmeye hemen başlayın.
Ücretsiz Kayıt Ol