Skip to content

Płatności

Moduł umożliwia

  • wprowadzenie ręczne płatności
  • usunięcie płatności
  • grupowe rozliczenie płatności
  • integracje z zewnętrznym systemem Finansowo księgowym
  1. Obiekty bazy danych
  • [document].[payment] - rozliczenia płatnosci
  • [document].[payment_list]
  • [document].[payment_processExternalPayments] - procedura uruchamiana co interwal czasowy poprzez hangfire.**
  1. 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

    1. Co x czasu konfigurowalnie jest uruchamiana procedura przez hangfire

      document.payment_processExternalPayments.

    2. Procedura uzupełnia brakujące powiązania w systemie dla płatności pochodzących z systemu FK

      1. Procedura dla każdego dokumentu nierozliczonego 1. wiąże fakturę z płatnością poprzez invoiceID z tabeli document.invoice do odpowiednich rekordów document.payment poprzez kolumnę remoteID 2. przypisuje firmID na podstawie kolumny payerID z tabeli document.invoice 3. uzupełnia remoteSource wpisując 'invoice' 4. uzupełnia również paymentDate i sysGrossValue

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

TODO

Wyrównanie statusów płatności w

  • portal.metalbud.com
  • platformametalbud

Scenariusz 1.

  • faktura z korektą wynikiem jest wartość po korekcie
  • faktura bez korekty czyli podstawowy przypadek
  • faktura nie rozliczana np faktura porforma

Przyklad zwyklej faktury

  • cfb99d1f-6901-eb11-9550-d89d6719e0c9

Status platnosci powinien wyglądać tak

Text Only
1
2
3
4
1.  paymentstatus = -1 nierozliczone
2.  paymentstatus =  0 rozliczone czesciowo
3.  paymentstatus =  1 nie dotyczy
4.  paymentstatus =  2 rozliczone

Do zrobienia

  1. 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

Nazwa Komponentu

  • paymentList

Uprawnienia

  • payment_insertUpdate - dodania płatności
  • payment_delete - usuwanie płatności
  • payment_list - lista płatności

Parametry konfiguracyjne

  • instance.payment.autosyncChron - co ile jest uruchamiana synchronizacja płatności
  • instance.payment.autosyncDomain - Jeśli jest niepusty i wskazuje na domenę w tblConfig to doda się zadania cykliczne synchronizacji. Chodzi o to aby hangfire włączał dla każdego connectionstring to tylko raz. Jeśli puste to się nie włączy.

Baza Danych

SQL
EXEC [document].[payment_status_list]  informacja o statusie płatności
document.payment - tabela interfejsowa

Integracje z sytemami zewnętrznymi

Moduł umożliwia integracje z dowolnym systemem finansowym Wymagane jest uzupełnienie tabeli interface.payment pola

  • paymentSettlementDate - data wpłaty
  • remoteFullNR - numer faktury
  • grossValue - kwota płatności brutto
  • currency - waluta
  • [description] - opis płatności
  • externalPaymentID - identyfikator płatności w systemie zewnętrznym

Płatności są rozliczane w walucie dokumentu.

Wprowadzenie ręczne płatności

Instrukcja

1.

a.) Przejść do widoku szczegółów faktury b.) Odnaleźć komponent rozliczenie płatności c.) wypełnić informacje

  1. Data płatności
  2. Termin płatności nie jest edytowalny. Pojawia się termin wprowadzony na fakturze,
  3. Opis (opcjonalnie - dodatkowe informacje o płatności, np. identyfikator płatności)
  4. Brutto w walucie faktury (wpłacona wartość brutto w walucie faktury, automatycznie system podpowiada tam wartość pozostałą do rozliczenia)

  1. Przykład rozliczonej faktury

Pod tabelką płatności znajduje się podsumowanie rozliczonych płatności i wartości pozostałej do rozliczenia Paragon lub faktura na gotówkę jest od razu potraktowana jako rozliczona. Przykład w pełni rozliczonej faktury:

Nie ma możliwości edycji wpisu rozliczenia płatności, natomiast jest możliwość usunięcia wpisu i dodanie go ponownie.

Usuwanie płatności

1.

a.) Przejść do widoku szczegółów faktury b.) Odnaleźć komponent rozliczenie płatności

W celu usunięcia płatności należy:

  1. Zaznaczyć płatność, płatności checkboxami po lewej stronie

  2. Rozwinąć menu "Płatność"

  3. Wybrać opcję "Usuń zaznaczone"

Wpływ ręcznej zmiany "Pozostało"

  1. Jeśli na fakturze pod pozycjami faktury, zostanie ręcznie ustawione pozostało na 0, to faktura zostanie potraktowana jako rozliczona.

Grupowe rozliczanie płatności z poziomu listy faktur

*Wymagane uprawnienie payment_insertUpdate.

  1. Przejść na listę Faktur Oznaczyć faktury do rozliczenia

  2. Rozwinąć menu Faktura

3.

  • Zmienić lub pozostawić datę płatności, opcjonalnie wpisać opis, kliknąć w "rozlicz płatności"
  • System automatycznie wstawi płatności na wartość brutto pozostałą do rozliczenia. System dla każdej faktury użyje waluty zgodnej z walutą faktury. System pominie przy wstawianiu faktury Proforma, korekty, faktury o wartości 0, faktury już rozliczone. Jeśli system nie wstawi żadnej płatności, wyświetli odpowiedni komunikat. Jeśli system wstawi płatności, będzie to widoczne poprzez zmianę statusów płatności (ikonek) na liście faktur
    Text Only
    1
     ![](img/3d6e1deb8d87330b7be31536c6d68744fca2aeee.png)
    

Wyświetlanie informacji i raporty

  1. Status płatności z poziomu listy faktur Na liście faktur został graficznie przedstawiony status płatności. Wyświetlana jest ikonka obok wartości brutto i waluty. Aby te informacje były widoczne, użytkownik musi mieć przypisane uprawnienie payment_list oraz funkcjonalność musi być włączona w konfiguracji: instance.payment.showStatusOnLists na true Zielona ikonka oznacza, że faktura jest rozliczona. Paragon lub faktura na gotówkę jest od razu potraktowana jako rozliczona. Pomarańczowa ikonka oznacza, że jest zarejestrowana częściowa płatność. Czerwona ikonka oznacza, że faktura nie jest w pełni rozliczona a termin płatności został przekroczony. Ikonka w kształcie kreski oznacza, że dla tej faktury nie rozlicza się płatności, gdyż jest to Proforma, korekta, lub faktura o wartości 0. Brak ikonki oznacza, że faktura nie jest rozliczona, nawet częściowo a jednocześnie termin nie został jeszcze przekroczony.

  2. Status płatności z poziomu listy kontrahentów

    Podobnie status płatności zostaje wyświetlona na liście kontrahentów (Jeśli ta funkcjonalność jest włączona w konfiguracji: instance.payment.showStatusOnLists na true) Aby te informacje były widoczne, użytkownik musi mieć przypisane uprawnienie payment_list oraz funkcjonalność musi być włączona w konfiguracji: instance.payment.showStatusOnLists na true Czerwona ikonka oznacza, że kontrahent ma przeterminowaną płatność (przynajmniej jedna jego faktura ma czerwoną ikonkę). Pomarańczowa ikonka oznacza, że kontrahent nie ma przeterminowanej płatności ale ma płatność częściową za którąś z faktur (czyli co najmniej 1 jego faktura ma ikonkę pomarańczową). Zielona ikonka oznacza, że kontrahent ma wszystkie płatności uregulowane bądź ma płatności nieuregulowane ale nieprzeterminowane i nie ma faktur z ikonką w kolorze pomarańczowym. Brak ikony oznacza, że kontrahent nie miał nigdy żadnych płatności do uregulowania.

  3. Raporty

    • "Sprzedaż - status płatności" dodatkowo pozwala na filtrowanie stanu płatności.