On 06/09/2012 09:26 AM, Krzysztof Drewicz wrote:
propozycja (moja) jest taka aby zrobić tabelkę z zadłużeniem wynikającym z odsetek (zupełnie obok "cash"). co noc, takową tabelkę aktualizować o odsetki.
To jest kwestia dyskusyjna, być może niektórym wystarczy raz w miesiącu tuż przed fakturowaniem. Skrypt powinien to uwazględniać, chociażby dlatego, żeby uwzględnić okresy w których skrypt się nie wykonał z jakiegokolwiek powodu.
rekord w tabelce odpowiada odsetkom za każdą płatność klienta która nie była w terminie
Oczywiście skrypt i tabelka na stawki odsetek ustawowych. Chyba gdzieś miałem taki skrypt.
jest to w miarę proste, łatwe i przyjemne, ma jedną sporą i zasadniczą wadę: nie umiem w 10 minut napisać zapytania SQL które nie zabije bazy trzymającej dane 10 000 klientów za 5 lat wstecz - która wyszuka i dobrze uwzględni wpłaty - "częściowe". Przykład problemu: faktura na 200 zł (brutto) wystawiona - 1 maja, termin 10 maja, klient płaci: 12 maja 100 zł i 17 maja - drugie 100 zł
Jednym zapytaniem raczej byłoby trudno, to musi być skrypt, który przeleci wszystkie operacje dla danego klienta. Można jednak zastosować pewnie usprawnienia: 1. ograniczyć wykonywanie skryptu do klientów z bilansem poniżej zera, albo do tych którzy posiadają przynajmniej jedną fakturę nierozliczoną (i przeterminowaną). 2. Zapisywać datę ostatniego "zerowania bilansu" (w dodatkowej tabeli) i rozpoczynać kolejne wykonanie skryptu dla operacji nowszych. Przez "zerowanie bilansu" rozumiem tutaj moment w historii klienta w którym klient wychodzi na zero (lub na plus).
z rozmów z różnymi księgowymi - najlepiej będzie - pokazywać (w panelu, na wydrukach, w smsa, emailach itp) kwotę wynikającą z odsetek ustawowych na dzień wyliczenia a właściwe noty (z numeracją, jak faktury) - wystawiać dopiero PO tym jak klient zapłaci (bądź kwota tak urośnie że warto ją windykować itp). Bo z tego że komuś dopiszemy notę - nie wynika że on zapłaci, a jak ma kwotę i zapłaci - to wystawimy notę.
Można też - zbiorczo np na koniec roku, wystawiać notę dla każdego klienta i tutaj z tych grosików - zbiorą się prawdziwe złotówki. Jeśli uda mi się dobić z RW do cvs/svn/gita lmsa, to wrzucę tabelkę do bazy i trochę kodu do UI. (bo coś na kształt odsetkowacza mam).
W UI potrzeba możliwość wystawienia noty odsetkowej na naliczone odsetki (byćmoże z uruchomieniem procedury naliczającej) oraz prezentacja bilansu klienta z uwzględnieniem odsetek.
Uwaga żeby nie naliczać odsetek od odsetek (not odsetkowych).