Przypomnienie o płatnościach, windykacja

Problemy i pomysły związane z funkcjonowaniem modułu Księgowość

Moderator: mikey

Tyriado
Posty: 21
Rejestracja: 07 kwie 2023, 09:30
Rola: Użytkownik CDN XL
Wersja: 2023

Przypomnienie o płatnościach, windykacja

Post autor: Tyriado »

Witam,
Chciałbym Was zapytać jak macie rozwiązany problem z przypominaniem o płatnościach, windykację. Chciałbym uzyskać coś na wzór wysyłki maili do klienta jak pozostanie powiedzmy tydzień do końca terminu płatności. Coś na zasadzie "przypominajki".

Jakieś dodatkowe programy, jobem SQL, jakieś pomysły jak można to zorganizować.

Maila teoretycznie możemy chyba wysłać nawet z SQL, więc można by coś od tej strony pokombinować, ale mam w głowie jedynie zarys takiego pomysłu. Może ktoś używa jakiegoś sprawdzonego rozwiązania i może coś wspomnieć. Będę wdzięczny.

Pozdrawiam

praiser
Posty: 578
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2021

Re: Przypomnienie o płatnościach, windykacja

Post autor: praiser »

Ja używam procedury SQL + logowanie wysyłek mailowych do tabeli własnej (żeby nie spamować klienta) + (ewentualnie) job SQL dla automatyzacji
--------------------------------
Pozdrawiam
WW

Tyriado
Posty: 21
Rejestracja: 07 kwie 2023, 09:30
Rola: Użytkownik CDN XL
Wersja: 2023

Re: Przypomnienie o płatnościach, windykacja

Post autor: Tyriado »

Podzielisz się szczegółami? Oczywiście rozumiem, że nie dasz mi gotowego rozwiązania, bo nie po to je sobie zrobiłeś, ale jak rozumiem masz zapytanie "wyłapujące" te faktury? Bo ja to tak luźno myślałem nad stworzeniem jakiegoś zapytania, czy jakiejś dodatkowej tabeli, która będzie zawierała jakieś podstawowe dane jak powiedzmy mail z karty kontrahenta, nazwę firmy, numer dokumentu, kwotę i termin płatności i potem wysyłać to jobem ewentualnie. I jakiś automat "czyszczący" tę tabelę i wysyłający te maile powiedzmy raz w tygodniu. To taki luźny jakiś "system" chodzący mi po głowie. Zastanawiałem się nad wykorzystaniem widoku "Płatności" z XLa w celu "znalezienia" faktur z tym terminem i do tego powiązania jakoś kontrahenta i wyciągnięcia stamtąd adresu email nawet nazwy.
Szczerze SQL jakoś nie jest mi szczególnie obcy i mam bazę do testów tych zapytań, ale nie do końca znam powiązania tych tabel i sposobu na powiązanie tych danych, stąd pytanie jak userzy tutaj to mają rozwiązane.

praiser
Posty: 578
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2021

Re: Przypomnienie o płatnościach, windykacja

Post autor: praiser »

Tak jak piszesz. Generalnie wykorzystuje preliminarz (cdn.PreliminarzView) i joiny do tabel które potrzebuje

Z tym że ja nie mam przypominajek przed płatnością a upomnienia po przeterminowanych.

Zbieram w procedurze tabelą tymczasową dane płatników spełniających kryteria (czy to odbiorca, czy istnieją przeterminowane faktury sprzedaży np. 7 dni i starsze, saldo niezerowe itd...)

join do karty płatnika:
FROM CDN.PreliminarzView
JOIN CDN.KntKarty on PRLV_KnpNumer=Knt_GidNumer

i tyle mi właściwie wystarczy. Dołączam w sumie jeszcze atrybuty karty klienta ale tylko po to, bo adresy mailowe do wezwań przechowuje w atrybutach. Nie korzystam z pól e-mail karty klienta do tego.

w kursorze wysyłam spreparowany mail procedurą [msdb].[dbo].[sp_send_dbmail] i
wrzucam potem do własnej tabeli gid płatnika, date wysyłki przypomnienia,czego dotyczyła,kwoty (żeby warunkować później w tabeli tymczasowej wspomnianej wyżej, żeby nie bombardować klienta codziennie wezwaniem)

jobem wywołuje procedurę.
--------------------------------
Pozdrawiam
WW

Tyriado
Posty: 21
Rejestracja: 07 kwie 2023, 09:30
Rola: Użytkownik CDN XL
Wersja: 2023

Re: Przypomnienie o płatnościach, windykacja

Post autor: Tyriado »

Ok, zacząłem coś skrobać i nie jest chyba tak źle. Mam jednak pytanie, bo w preliminarzu mam zobowiązania i należności. Która kolumna to filtruje w jakiś sposób? Bo na razie pomyślałem o warunku PRLV_Rozliczony=0, bo pewnie 0 to nierozliczony, a 1 rozliczony. Jets kolumna prlv_NaleznosciZobowiazania i chyba tu mógłbym odfiltrować tylko należności, ale nie wiem jaka wartość jest należnością, a jaka zobowiązaniem. "1" to należności, a "2" to zobowiązania?

praiser
Posty: 578
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2021

Re: Przypomnienie o płatnościach, windykacja

Post autor: praiser »

prócz sprawdzania gidtypu dla faktur sprzedaży i flagi rozliczenia w warunku selecta to przy komponowaniu zawartości powiadomienia u siebie mam tak

WHEN PRLV_NaleznosciZobowiazania = 1 AND PRLV_GIDTyp<>784 THEN PRLV_Pozostaje -- faktury sprzedaży
WHEN PRLV_NaleznosciZobowiazania = 2 AND PRLV_GIDTyp<>784 THEN -PRLV_Pozostaje --korekty sprzedaży

-- PRLV_NaleznosciZobowiazania BYTE 1-należności, 2-zobowiązania, 0-zapis kasowy
--------------------------------
Pozdrawiam
WW

Tyriado
Posty: 21
Rejestracja: 07 kwie 2023, 09:30
Rola: Użytkownik CDN XL
Wersja: 2023

Re: Przypomnienie o płatnościach, windykacja

Post autor: Tyriado »

Wiem, że to głupie, ale jak rozwiązałeś problem pętli przy wysyłce maili?
Bo pojedynczo ok, zrobiłem jakby "schemat" wiadomośći, tylko, że o statycznej treści, ale tabela ma rekordy i chciałbym coś na wzór pętli while czy for, że bierze adres i po kolei podstawia zmienne z kolumn. I tego jakoś nie moge ogarnąć. Nigdy nie robiłem wysyłki przez SQL, więc pewnie w tym problem.

praiser
Posty: 578
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2021

Re: Przypomnienie o płatnościach, windykacja

Post autor: praiser »

kursora używam.

Przykład:

Kod: Zaznacz cały

declare @tabela_pod_kursor table (
	gid int,
	dane varchar(100),
	mail varchar(100)
	)

insert into @tabela_pod_kursor values
(1, 'dane1','mail1'),
(2, 'dane2','mail2'),
(3, 'dane3','mail3')

DECLARE @id_kursora int

DECLARE petla CURSOR FOR   
SELECT gid FROM @tabela_pod_kursor

OPEN petla
FETCH NEXT FROM petla INTO @id_kursora

WHILE @@FETCH_STATUS = 0  
BEGIN  
	select 'wysyłka maila pod adres: ' + mail from @tabela_pod_kursor where gid=@id_kursora -- (exec wysyłki)
	FETCH NEXT FROM petla INTO @id_kursora
END
CLOSE petla
DEALLOCATE petla
--------------------------------
Pozdrawiam
WW

Tyriado
Posty: 21
Rejestracja: 07 kwie 2023, 09:30
Rola: Użytkownik CDN XL
Wersja: 2023

Re: Przypomnienie o płatnościach, windykacja

Post autor: Tyriado »

Dzięki, bardzo mi pomogłeś. Właściwie jak mam cały kod i go wywołam to dostaję maila, jakiego sobie wymyśliłem. Muszę to teraz jakoś właściwie tylko "ubrać" i jakoś zautomatyzować i będzie chyba działało. Pozostają mi dokładniejsze testy :)

ODPOWIEDZ