Formaty przelewów

image_print

Definiowanie formatów przelewów jest dostępne w menu Ogólne /Inne /Formaty przelewów. Po wybraniu tej opcji pojawia się okno: Formaty wymiany elektronicznej pomiędzy bankami, w którym użytkownik może dodawać nowe bądź skopiować standardowe. Ponadto, z tego poziomu można wyeksportować zdefiniowany format do pliku .xml bądź też, wcześniej wyeksportowany z innej bazy danych – zaimportować. Zaimportować można również aktualne standardowe formaty przelewów z serwera firmy Comarch. Import powoduje nadpisanie formatu standardowego zaktualizowanym formatem z serwera.

Uwaga
Import formatów przelewów z serwera COMARCH jest dostępny wyłącznie dla Klientów z aktualną gwarancją.

Istnieje również możliwość zaimportowania standardowych formatów tekstowych z serwera firmy Comarch. Import powoduje nadpisanie formatu standardowego zaktualizowanym formatem z serwera.

Na wersjach starszych niż 2017.5.1 Comarch ERP Optima nie uda się ich zaimportować standardowych formatów Elixir-0 BPH, Elixir-0 iBRE, US – Bank Śląski oraz ZUS – Bank Śląski.

Pod listą dostępne są dwa parametry Standardowe oraz Użytkownika. Domyślnie zaznaczone są obydwa parametry, dlatego po wejściu na listę za pierwszym razem pojawią się wszystkie formaty. Listę można zawęzić poprzez wybór jednej z opcji. Parametr Standardowe, filtruje nieedytowalne formaty przelewów. Zaznaczając parametr Użytkownika – otrzymamy listę formatów zdefiniowanych przez użytkowników.

Okno definiowania formatów wymiany danych

Dodanie nowego formatu otwiera okno Format elektronicznej wymiany danych z bankami, składające się z czterech zakładek: [Ogólne], [Nagłówek], [Pozycje], [Stopka].


Zakładka [Ogólne]

Zakładka ta zawiera parametry wspólne dla wszystkich pozycji definiowanego formatu.

Zakładka Ogólne zawiera następujące pola:

  
Zakładki [Nagłówek], [Pozycje], [Stopka]

Kolejne zakładki służą do definiowania poszczególnych pozycji formatu. W tym celu użytkownik wykorzystuje predefiniowane parametry, których zestawienie i opis zawiera poniższa tabela. W oknie znajdują się ponadto następujące pola:  

 

  • Typ pola – pole to może przyjmować następujące wartości: Tekst, Liczba <#, Liczba <#.##, Liczba <#.####. Konsekwencją wybrania typu pola jako tekst będzie otaczanie go ogranicznikiem tekstu.
  • Wartość – możliwa wartość danego pola w zależności od wyboru Typu pola.
  • Szerokość – ilość znaków przewidziana na dane pole.
  • Opcje pola – określają, czy dane pole będzie nowym polem, czy ma zostać połączone z poprzednim na jeden z trzech sposobów.
  • Usuwaj znaki rozdzielające w numerze rachunku – zaznaczenie tego parametru powoduje, iż numer rachunku zapisywany jest jako ciąg cyfr bez znaków rozdzielających.
  • Wymagane – zaznaczenie tego pola powoduje, iż brak danej pozycji na przelewie będzie powodował błąd i w konsekwencji dany przelew nie zostanie wyeksportowany.
Okno dodawania kolejnych pozycji formatu
Uwaga
W przypadku predefiniowanych pól Pełny numer własny, Pełny numer podmiotu, Numer rachunku podmiotu i Numer rachunku własnego do pliku zapisywane jest N ostatnich znaków, przy czym N = szerokość pola.
Uwaga

Aby program prawidłowo wysyłał część dotyczącą numeru rachunku czyli 3333333333333333 dla rachunku w standardzie IBAN, numer rachunku musi być zapisany na jeden z trzech poniższych sposobów:

22-88888888-3333333333333333

22888888883333333333333333

22 8888 8888 3333 3333 3333 3333

Dla numeru klasycznego, jeżeli w numerze nie ma separatorów, program traktuje cały numer jako numer rachunku (numer rozliczeniowy zwróci pustą wartość). Jeżeli w numerze są separatory, to do pierwszego separatora jest numer rozliczeniowy, a następnie numer rachunku.

W polu Inne informacje można wpisywać predefiniowane wyrażenie pobierające różne informacje z bazy danych. Może być kilka takich pól w jednym formacie i mogą one przyjmować różne wartości. Informacje do tego pola pobierane są za pomocą predefiniowanych skrótów. Wpisanie w polu Wartość dla tego pola następujących symboli będzie oznaczało pobranie odpowiednich informacji (wszystkie dotyczą opisu przelewu do US):

  • TYP_ID – typ identyfikatora np. N dla NIP, P dla PESEL z pierwszej linijki opisu do banku na zdarzeniu (z członu /TI/N665556666 będzie to N),
  • IDENTYFIKATOR – identyfikator (np. NIP, REGON, PESEL pobrane z pierwszej linijki opisu do banku na zdarzeniu np. 6675556666),
  • DEKL_ROK – rok deklaracji (pobrany z członu /OKR/06M04 czyli 06),
  • DEKL_OKRES – okres deklaracji (pobrany z członu /OKR/06M04 czyli 04),
  • DEKL_TYP_OKRESU – typ okresu np. miesiąc, kwartał (pobrany z członu /OKR/06M04 czyli M),
  • SYMBOL_FORM – symbol formularza (pobrany z drugiej linii opisu do banku, z członu /SFP/VAT7 czyli VAT7),
  • NAZWA_PEŁNA – nazwa pełna z Konfiguracji firmy/ Dane firmy/ PIT4R, CIT-8 – z pola Nazwa pełna na deklaracjach PIT-4R, PIT-8A, CIT-8.
Uwaga
Wartości pól: Opis US – Identyfikator, Opis US – Okres, Opis US – Symbol formularza są odczytywane z pierwszej i drugiej linijki opisu na przelewie do US. Aby zostały odczytane prawidłowo, opis na przelewie nie może być zmodyfikowany przez użytkownika. Ponadto program przy eksporcie sprawdza, czy w formacie jest jedno z tych pól i jeżeli tak, to nie pozwoli wysłać zdarzenia, które nie pochodzi z deklaracji.

Przykłady wykorzystania pola Zapytanie SQL:

  • Pobranie miasta z adresu kontrahenta:

Select Pod_Miasto FROM CDN.PodmiotyView JOIN CDN.BnkZdarzenia ON  BZd_PodmiotID = Pod_PodId WHERE BZd_PodmiotTyp = Pod_PodmiotTyp AND Bzd_BzdId={ZdarzenieID}

  • Pobranie kodu pocztowego z adresu kontrahenta, jeżeli kod nie jest wypełniony, pole powinno zostać puste:

SELECT CASE WHEN Pod_KodPocztowy=’00-000′ THEN ”  ELSE Pod_KodPocztowy END FROM CDN.PodmiotyView JOIN CDN.BnkZdarzenia ON  BZd_PodmiotID = Pod_PodId where BZd_PodmiotTyp = Pod_PodmiotTyp AND Bzd_BzdId={ZdarzenieID}

  • 20 i 21 znak numeru rachunku np. symbole 51, 53, 53 pobrane z numeru rachunków bankowych ZUS:

SELECT SUBSTRING(BZd_RachunekNr,20,2) FROM CDN.BnkZdarzenia WHERE Bzd_BzdId={ZdarzenieID}

  • 20 i 21 znak numeru rachunku np. symbole 51, 53, 53 pobrane z numeru rachunków bankowych ZUS z tym, że przed wycięciem, z numeru rachunku są usuwane spacje i myślniki:

SELECT SUBSTRING(REPLACE(REPLACE(BZd_RachunekNr, ’ ’, ”), ’-’, ”),20,2) FROM CDN.BnkZdarzenia WHERE Bzd_BzdId={ZdarzenieID}.

Czy ten artykuł był pomocny?