ERP Płatności - dokumentacja techniczna
1. DB
[document].[payment]
- rozliczenia płatnosci[document].[payment_list]
[erp].[payment_list]
-nowe- document.payment_processExternalPayments - procedura uruchamiana co interwal czasowy poprzez hangfire.
EXEC [document].[payment_status_list] @@username = @username, @@remoteSource = @remoteSource, @@remoteIdentifiers = @remoteIdentifiers
platnosci na liscie faktu r w starym systemie
Każdy rekord z faktury musi mieć odzwierciedlenei w płatnościach do tej pory było odfiltrowane faktury profor
2. Process
Proces oznaczania platnosci
1. Płatności z systemu zewnętrznego powinny być wpisywane bezpośrednio do tabeli document.payment. 1. Uzupełniać dane (opis kolumn znajduje się niżej na tej stronie w tabelce), wytłuszczone są niezbędne: 1. paymentSettlementDate 2. remoteFullNR 3. grossValue 4. currency 5. description 6. externalPaymentID
2. Co x czasu konfigurowalnie jest uruchamiana procedura przez hangfire
Text Only | |
---|---|
1 |
|
3. Procedura uzupełnia brakujące powiązania w systemie dla płatności pochodzących z systemu FK
Text Only | |
---|---|
1 2 3 4 5 |
|
Proces wypelniania tabeli document.payment, wszelkie interfejsowe rzeczy znajduja sie w bazie crm config
- dokumentacja do interfejsu dla konkretnego wdrożenia jest po prostu w confluence w sekcji klient
Tabela document.payment
Pole | Wartość | Opis | |
---|---|---|---|
paymentID | uniqueidentifier NOT NULL | NULL | Identyfikator płatności w systemie platformacrm |
paymentSettlementDate | smalldatetime NULL | NULL | Data dokonania płatności |
paymentDate | smalldatetime NULL | NULL | Termin płatności |
remoteFullNR | nvarchar(256) NOT NULL | NULL | Numer dokumentu z systemu platformacrm, który jest lub ma zostać powiązany z płatnością. |
remoteID | uniqueidentifier NULL | NULL | ID powiązanego dokumentu z systemu platformacrm |
remoteSource | varchar(50) NULL | NULL | Typ powiązanego dokumentu: 'invoice' |
firmID | uniqueidentifier NULL | NULL | ID powiązanego kontrahenta z systemu platformacrm |
grossValue | decimal NOT NULL | NULL | Wartość brutto w walucie faktury to decyduje czy faktura jest rozliczona |
currency | varchar(3) NOT NULL | NULL | Waluta wpłaty |
sysGrossValue | decimal NULL | NULL | Wartość brutto w PLN |
description | nvarchar(MAX) NULL | NULL | Uwagi Tutaj musi byc identyfikator płatności np numer wyciagu bankowego czegos innego to najwazniejsza sprawa |
externalPaymentID | nvarchar(MAX) | NULL | Unikalny identyfikator płatności w systemie zewnętrznym. Nie zawsze płatności mają wprowadzone opisy w systemie zewnętrznym, więc synchronizacja z systemami zewnętrznymi jest oparta na tym polu. Jeśli wszystkie płatności mają unikalne opisy to można na nich oprzeć synchronizację. |
addDate | datetime NOT NULL | (getutcdate()) | Data dodania rekordu |
addUsername | varchar(50) NOT NULL | ('sys') | Użytkownik dodający rekord |
modDate | datetime NOT NULL | (getutcdate()) | Data modyfikacji rekordu |
modUsername | varchar(50) NOT NULL | NULL | Użytkownik modyfikujący rekord |
Scenariusze testowej
- faktura z korektą wynikiem jest wartość po korekcie
- faktura bez korekty czyli podstawowy przypadek
- faktura nie rozliczana np faktura porforma
Status platnosci powinien wyglądać tak
Text Only | |
---|---|
1 2 3 4 |
|
Do zrobienia
- zastapienie i usuniecie calkowicie procedury[document].[payment_status_list] zamist tego predefiniowane wartosci na tabeli invoice , firm 1. paymentstatus = -1 nierozliczone 2. paymentstatus = 0 rozliczone czesciowo 3. paymentstatus = 1 nie dotyczy 4. paymentstatus = 2 rozliczone