turkcell

Geriye Dönük Hareket Tarihleri

Üyelik
25 Ara 2016
Mesajlar
3
Konum
Samsun
Merhaba,

Geliştirdiğim bir yazılımda ufak çaplı ön muhasebe modülü yazıyorum. Muhasebe bilgim arama motoru sonuçlarından ibaret diyebilirim.

Hesap hareketlerini tuttuğum bir tablo var. Satış ve alış faturası, tahsilat ve ödeme ile müşteri ve hesap açılış bakiyelerini bu tabloda tutuyorum.
İşlemTutarBakiyeİşlem TarihiOluşturulma Tarihi
Tahsilat-10040010 Aralık11 Aralık
Tahsilat-30010015 Aralık18 Aralık
İşlem tarihi => tahsilat tarihi
Oluşturulma tarihi => işlemin, uygulamaya eklenme tarihi

Bir müşterinin ya da hesabın bakiyesini, tutarları toplayarak elde edebiliyorum. Ancak, geçmiş bir tarihteki bakiyeyi hesaplarken tarih konusunda kafam karıştı.

Diyelim ki; geçmişe dönük bir tahsilat işlenecek. Ve bu tahsilatın tarihinin, yukarıdaki tablodaki iki tahsilat arasında olduğunu varsayalım.
İşlem tarihi => 13 Aralık
Oluşturulma tarihi => 20 Aralık

YANLIŞ OLDUĞUNU DÜŞÜNDÜĞÜM TABLO
İşlemTutarBakiyeİşlem TarihiOluşturulma Tarihi
Tahsilat-10040010 Aralık11 Aralık
Tahsilat-30010015 Aralık18 Aralık
Tahsilat-752513 Aralık20 Aralık

DOĞRU OLDUĞUNU DÜŞÜNDÜĞÜM TABLO
İşlemTutarBakiyeİşlem TarihiOluşturulma Tarihi
Tahsilat-10040010 Aralık11 Aralık
Tahsilat-3002515 Aralık18 Aralık
Tahsilat-7532513 Aralık20 Aralık

Soruya gelecek olursak; ben bu müşterinin 14 Aralık'taki bakiyesini görmek istediğimde, 325 TL mi, yoksa 300 TL mi çıkmalı karşıma? Mantıken bana doğru gelen 325 TL oluyor ancak parasal işlemlerde en ufak bir hataya dahi imza atmak istemediğim için emin olmak istiyorum.

Yardımcı olmanız dileğiyle, hoşçakalın.
 

merkür2

Tanınmış Üye
Üyelik
27 Tem 2012
Mesajlar
5,250
Konum
Manisa
Bence diziliş olarak iki tabloda yanlış. Bu tip işlemlerin çok olduğunu düşünün; hiç kimse sayfa sayfa bir yukarı bir aşağı tarih aramaz. İkinci tabloda son iki hareket yer değiştirerek listelenmeli. Ayrıca bir firma tahsilat yaptı ise - değil + işlem olur dolayısı ile bakiye azalmaz artar. Sizin tablo tahsilat değil ödemeleri gösteriyor.
 
Üyelik
25 Ara 2016
Mesajlar
3
Konum
Samsun
Merhaba,

Vakit ayırıp yanıtladığınız için çok teşekkür ederim. Bir yanlış anlaşılmaya sebep olmuşum, onu düzelteyim. Tablodaki sıralama, tamamen yazılımın kullandığı veritabanı ile ilgili bir durum. Son eklenen kayıt, her zaman sonda yer alıyor. Kullanıcıya sunum katmanında gerçek işlem tarihine göre listeliyorum.

Diğer konuya gelirsek; kafam iyice karıştı. Ben bu tabloda, bir müşteriye ait hareketleri listeliyorum, herhangi bir kasa/banka hesabı değil. Müşterinin bana 100 TL borcu olduğunda, bunu pozitif değil de negatif mi göstermeliyim? Yani bu müşterinin bakiyesi 100 TL değil de, -100 TL mi olmalı? Bu konuda yardımcı olabilirseniz minnettar kalacağım.

Tekrar teşekkür ederim, hoşçakalın.
 
Üyelik
28 Haz 2014
Mesajlar
3
Konum
İstanbul
14 Aralık bakiyeniz 325 TL olmalıdır.

Yalnız yukarıdaki tablonuzun veritabanı tabloları olduğunu düşünürsek her kayıtta database'e bakiye atmak yerine kullanıcı veriyi talep ettiğinde dışarıda hesaplatmanız veritabanınızı zorlamamanız açısından faydalı olacaktır. Çünkü kayıtlar çoğaldıkça geriye dönük işlemlerde her seferinde sonraki bakiyeleri de hesaplaması gerekecektir.

Son olarak muhasebede hesaplar şu şekilde çalışır. Ön muhasebe programından bahsettiğiniz için müşteri hesabı olduğunu varsayalım. A müşterinizden 400 TL alacağınız var ise bunun muhasebesel karşılığı 120 müşteri hesabı 400 TL borç bakiye veriyordur. Siz bu müşteriden her tahsilat yapışınızda bu hesabın alacağına, satış yaptığınızda ise borcuna kayıt atacaksınız.

Size kolaylık sağlaması açısından veritabanını şu şekilde düzenlerseniz ileride faydasını göreceksiniz.


[table="width: 500", class: grid]
[tr]
[td]İşlem/Evrak Tarihi[/td]
[td]Hesap Adı[/td]
[td]Borç[/td]
[td]Alacak[/td]
[/tr]
[tr]
[td]20.12.2016[/td]
[td]A Müşterisi[/td]
[td]400[/td]
[td]-[/td]
[/tr]
[tr]
[td]22.12.2016[/td]
[td]A Müşterisi[/td]
[td]-[/td]
[td]350[/td]
[/tr]
[tr]
[td]21.12.2016[/td]
[td]A Müşterisi[/td]
[td]-[/td]
[td]100[/td]
[/tr]

[/table]

Kullanıcıda görüntülenen
[table="width: 500", class: grid]
[tr]
[td]İşlem/Evrak Tarihi[/td]
[td]Hesap Adı[/td]
[td]Borç[/td]
[td]Alacak[/td]
[td]Bakiye(Önceki bakiye+borç-alacak[/td]
[/tr]
[tr]
[td]20.12.2016[/td]
[td]A Müşterisi[/td]
[td]400[/td]
[td]-[/td]
[td]400[/td]
[/tr]
[tr]
[td]21.12.2016[/td]
[td]A Müşterisi[/td]
[td]-[/td]
[td]100[/td]
[td]300[/td]
[/tr]
[tr]
[td]22.12.2016[/td]
[td]A Müşterisi[/td]
[td]-[/td]
[td]350[/td]
[td]-50[/td]
[/tr]
[/table]


Tablonuzda tutar alanını borç veya alacak olarak ayırmayacaksanız müşterinin size olan borcunu artırmak için pozitif(+) azaltmak için negatif(-) kayıt atmalısınız.


Sonuç olarak müşterinin size borcu var ise bakiye pozitif(+) (muhasebede aktif hesaplar için borç), sizin müşterinize borcunuz var ise bakiye negatif(-) (muhasebe aktif hesaplar için alacak) olacaktır.
 
Son düzenleme:
Üyelik
25 Ara 2016
Mesajlar
3
Konum
Samsun
Merhaba Tarık Bey,

Epey zahmet edip yanıtlamışsınız, çok teşekkür ederim.

Bahsettiğiniz gibi veritabanından bakiye sütununu kaldırmayı düşünüyordum sürekli hesaplama gerektirdiği için. Şimdi kafam rahat uygulayabilirim bunu. Borç/alacak şeklinde değil de, yalnızca tutar olarak tutmayı düşünüyorum pozitif ve negatif olarak. Kullanıcıya sunumda da bu şekilde göstermeyi planlıyorum.

Müşterinin borçlu olduğunu belirtmek için bakiyeyi pozitif göstermem gerektiğini söylemişsiniz. Tam olarak bunu yapıyordum ben de ancak merkür2'nin cevabından sonra kafam karışmıştı. Pozitif bakiyesi olan borçlu müşteriden bir tahsilat yapıldığında, bu tutarı negtaif olarak gösteriyordum. Tahsilat işlemi sonunda bakiye düşeceği için tutarın başına (-) koymuştum. Her ne kadar ilgili satırlarda işlemin tipi yazıyor olsa da, yalnızca tutarlara bakılıp da anlaşılabilmesi için böyle bir yola gitmiştim.

Daha önce bir muhasebe uygulaması kullanmadığım için aşina değilim böyle kavramlara. Yardımcı olduğunuz için her ikinize de çok teşekkür ederim.
 

Benzer konular

Üst