Wstęp
Miejscem definiowania formatów przelewów w systemie Comarch ERP XL jest moduł Administrator. System umożliwia tworzenie formatów wymiany danych z bankiem (eksportu danych z listy płatności i importu wyciągów bankowych). Obsługiwane są następujące typy formatów:
- Plik tekstowy, w którym każda linia ma taką samą strukturę, składa się z pól oddzielonych znakiem separatora i jest rekordem z danymi dotyczącymi operacji
- Plik tekstowy, w którym pierwsza linia ma charakter nagłówka o strukturze innej niż pozostałe i ostatnia linia może mieć inną strukturę i być stopką
- Plik tekstowy, w którym każda wartość wpisana jest w osobną linię, przy czym pierwsza linia może być nagłówkiem, a ostatnia stopką
Struktura linii, zarówno nagłówka, jak i rekordu, może być zdefiniowana poprzez zbudowanie listy pól, wybranych z predefiniowanej listy. Każdy z predefiniowanych parametrów jest powiązany z określonymi danymi lub funkcjami systemu. Dla każdego formatu można ponadto określić ogólne parametry, takie jak znak separatora linii, format daty itp.
Przy eksporcie i imporcie danych o operacjach bankowych możliwy jest wybór formatu danych.
Istnieje możliwość ustawienia domyślnego formatu exportu/importu dla rejestru bankowego (w momencie importu wyciągu do konkretnego rejestru, będzie się ustawiał domyślnie ten, który zostanie zapisany na karcie banku).
Poniżej miejsce, w którym dokonuje się ustawienia:
Otwierając do edycji kod banku, który przypisany jest do rejestru bankowego, dokonujemy zmian pożądanego formatu importu przelewów oraz eksportu przelewów.
W systemie Comarch ERP XL istnieje również możliwość zdefiniowania wymiany danych z bankami za pomocą usługi sieciowej. Opis tej funkcjonalności znajduje się w odrębnym biuletynie pt. Wymiana danych z bankami za pomocą usługi sieciowej
Lista formatów przelewów
Definiowanie formatów przelewów odbywa się z poziomu listy: Formaty przelewów.
Okno formatów przelewów umożliwia:
- eksport formatu (plik xml), zdefiniowanego w oknie: Formaty przelewów, do wskazanego pliku
- import formatu przelewów (plik xml) ze wskazanej lokalizacji
- dodanie nowego formatu przelewów
- modyfikację danych istniejącego formatu przelewów
- skasowanie zaznaczonego formatu przelewów z listy
Edycja formatu pliku exportu na przykładzie Elixir zgodnego ze specyfikacją Alior, ING, PKO BP, Pekao SA
Dodanie nowej definicji formatu przelewów odbywa się za pośrednictwem okna: Edycja formatu pliku wymiany danych. Definiowanie składa się z następujących kroków:
- Definiowanie parametrów ogólnych (na zakładce: Ogólne)
- Definiowanie formatu linii nagłówka (jakie będzie miał pola)
- Definiowanie formatu linii pozycji
- Definiowanie formatu linii stopki (o ile format ma takie zawierać)
Na zakładce: Ogólne, określa się następujące dane:
Nazwa formatu – nazwa formatu przelewu.
Rozszerzenie pliku – rodzaj rozszerzenia pliku.
Oddzielaj pola znakiem – opcję zaznacza się, jeżeli pola mają zostać rozdzielone separatorem.
Separator pól – pole służy wprowadzeniu znaku separatora pól.
Kodowanie – typ kodowania.
Format daty – wskazuje rodzaj formatu daty, czyli kolejność i sposób wpisania dnia, miesiąca, roku.
Znak dziesiętny – decyduje o tym, jaki będzie separator cyfr dziesiętnych.
Separator tysięcy – decyduje o tym, jaki będzie separator cyfr tysięcznych.
Podział pola na wiersze – decyduje o tym, jaki będzie separator podziału pola na wiersze.
Ograniczenie tekstu – służy zdefiniowaniu znaku ograniczającego tekst.
Zamieniaj znaki ograniczenia tekstu w treści na – zdefiniowany w tym polu znak służy zastąpieniu nim znaku ograniczenia tekstu, a tym samym wyeliminowaniu ograniczeń tekstu w treści, np. jeżeli znakiem ograniczającym tekst będzie cudzysłów, a w treści zostanie użyta nazwa ujęta w cudzysłów, wtedy system odczyta cudzysłów w treści, jako znak ograniczający tekst. Aby uniknąć tej sytuacji, należy zdefiniować zamiennik ograniczenia tekstu. Pole: Zamieniaj znaki ograniczenia testu w treści, uaktywni się po wprowadzeniu wartości w polu: Ograniczenie tekstu.
Stała szerokość pól – decyduje o tym, czy szerokość pól będzie stała.
Na zakładce: Nagłówek, definiuje się informacje, jakie będą znajdowały się w nagłówku pliku wymiany. W przypadku formatu Elixir nie ma potrzeby definiowania tego typu wierszy.
Na zakładce: Pozycje, definiuje się pola, jakie znajdą się w pozycji (linii) pliku wymiany danych. Dostępne są tam takie same przyciski, jak na zakładce: Nagłówek. Informacje wyświetlone w kolumnach pochodzą od ustawień zdefiniowanych na zakładce: Ogólne oraz w oknie: Edycja formatu eksportu, za pośrednictwem którego wprowadza się odpowiednie pozycje formatu przelewów.
W oknie znajdują się pola:
Nazwa pola – w polu następuje wybór pozycji z predefiniowanej listy. Pozycja ta będzie stanowiła informację, która znajdzie się w pliku wymiany danych.
W przypadku wybrania Zapytania SQL, należy zwrócić uwagę na wykorzystanie parametrów {filtrSQL}, {Trp_GIDTyp}, {Trp_GIDFirma}, {Trp_GIDNumer}, {Trp_GIDLp} w zapytaniu SQL tworzącym pole formatu przelewu.
W zapytaniu można używać następujących ciągów znaków: {filtrSQL}, {Trp_GIDTyp}, {Trp_GIDFirma}, {Trp_GIDNumer}, {Trp_GIDLp}, które przed wykonaniem zapytania zostaną odpowiednio zastąpione:
W miejsce {filtrSQL} zostanie podstawione wyrażenie: TrP_GIDTyp=x and TrP_GIDNumer=y and TrP_GIDLp=z, gdzie x,y,z to wartości tych pól dla bieżącego (przetwarzanego) rekordu tabeli TraPlat. W miejsce {Trp_GIDTyp}, {Trp_GIDFirma}, {Trp_GIDNumer}, {Trp_GIDLp} zostaną podstawione wartości odpowiednich pól (x,y,z) dla bieżącego rekordu.
Typ pola – typ,w jakim zapisana zostanie pozycja. Możliwe jest zapisanie informacji w formie tekstu lub liczby (całkowitej, z dwoma miejscami po przecinku, z czterema miejscami po przecinku).
Wartość – pole to zostanie uaktywnione, jeśli zostanie wybrana nazwa pola: Stała wartość. W polu definiuje się stałą wartość jak umieszczona zostanie w pliku wymiany.
Szerokość – szerokość pola (w jakiej zostanie umieszczona pozycja).
Opcje pola:
- Nowe pole – zaznaczenie spowoduje, że definiowane pole będzie osobnym polem. Jeżeli opcja nie zostanie zaznaczona, wtedy definiowane pole będzie połączone z poprzednim, w związku z czym, należy wybrać jeden z rodzajów łączenia pól (pola poniżej),
- Łącz z poprzednim (znak podziału wiersza) – przy łączeniu pól będzie uwzględniany znak podziału wiersza,
- Łącz z poprzednim (znak spacji) – przy łączeniu pól będzie uwzględniany znak spacji,
- Łącz z poprzednim (bez separatora) – przy łączeniu pól nie będzie uwzględniony żaden separator.
Usuwaj znaki rozdzielające – parametr aktywny jest tylko dla pola typu tekstowego, jego zaznaczenie spowoduje usunięcie znaków rozdzielających z tekstu pola, przykładowo kreski z numeru rachunku.
Uzupełnij znakiem:
Nie uzupełniaj – zaznaczenie spowoduje, że pola będzie postaci jak zdefiniowano powyżej. Jeżeli opcja nie zostanie zaznaczona pola będzie dodatkowo uzupełnione znakiem wskazanym w polu Znak,
Z prawej – znak zostanie dopisany z prawej strony pola.
Z lewej – znak zostanie dopisany z lewej strony.
Na ostatniej zakładce: Stopka, definiuje się ostatnią linię pliku wymiany danych. Dostępne są tam takie same przyciski, jak na zakładce: Nagłówek i zakładce: Pozycje.
Przykład pliku przelewu wygenerowanego za pomocą formatu Elixir BPH:
110,20060131,151890,10601376,0,”18106013768856920012475533″,”37106013769999666633334444″,”PREZENTACJA S.A.||WROCŁAWSKA 44|30-415 KRAKÓW”,”KONTRAHENT S.A.||UL. BIAŁA 22|78-555 WARSZAWA”,0,10601376,”(A)FZ-6/04/KRAK|||”,””,””,”51″,”100000100019″
Pozycje formatu przelewów w definiowanym formacie przelewów odpowiadające poszczególnym liniom w generowanym pliku wymiany danych:
110 – pozycja: Stała wartość, to typ polecenia, 110 to polecenie przelewu oraz płatność do Urzędu Skarbowego,
20060131 – pozycja: Data operacji, to data płatności w formacie RRRRMMDD,
151890 – pozycja: Kwota płatności w groszach, kwota bez kropek tysięcznych i przecinka oddzielającego wartość dziesiętnych,
10601376 – pozycja: Numer kierunkowy banku własnego, to numer rozliczeniowy banku zleceniodawcy (zawsze 8 cyfr),
0 – pozycja: Stała wartość, pole zerowe (zawsze 0),
“18106013768856920012475533” – pozycja: Pełny numer rachunku własnego, numer rachunku zleceniodawcy w formacie NRB,
“37106013769999666633334444” – pozycja: Pełny numer rachunku kontrahenta, pełny numer rachunku kontrahenta wraz z numerem rozliczeniowym,
“PREZENTACJA S.A.||WROCŁAWSKA 44|30-415 KRAKÓW” – pozycje: Nazwa własna 1, Nazwa własna 2, Adres własny – ulica, Adres własny – kod i miasto, to dane zleceniodawcy, poszczególne wiersze są oddzielone od siebie znakiem: ׀
“KONTRAHENT S.A.||UL. BIAŁA 22|78-555 WARSZAWA” – pozycje: Nazwa kontrahenta 1, Nazwa kontrahenta 2, Adres kontrahenta – ulica, Adres kontrahenta – kod i miasto, to dane kontrahenta, poszczególne wiersze są oddzielone od siebie znakiem: ׀
0 – pozycja: Stała wartość, pole zerowe (zawsze 0),
10601376 – pozycja: Numer kierunkowy banku kontrahenta, to numer rozliczeniowy banku kontrahenta (zawsze 8 cyfr),
“(A)FZ-6/04/KRAK|||” – pozycja: Tytułem (numery dokumentów), to szczegóły płatności, cztery linie szczegółów płatności po 35 znaków, poszczególne wiersze są oddzielone od siebie znakiem: ׀
“”,”” – pozycje: Stała wartość, pole puste,
“51” – pozycja: Stała wartość, to klasyfikacja polecenia, 51 dla polecenia przelewu oraz płatności do Urzędu Skarbowego i płatności ZUS,
“1000000100019” – pozycja: Identyfikator operacji, to identyfikator nadawany każdemu poleceniu przelewu. Jeżeli ten sam identyfikator wystąpi w wyciągu bankowym (będzie nim oznaczone obciążenie), to podczas importu tego wyciągu odpowiednie płatności zostaną automatycznie rozliczone.
Istnieje możliwość zaimportowania i wyeksportowania formatu przelewu.
Import przelewów na przykładzie formatu SWIFT MT940
W systemie Comarch ERP XL są dostępne trzy predefiniowane formaty SWIFT MT940 do importu przelewów. Są to:
- SWIFT MT940
- SWIFT MT940 BGŻ
- SWIFT MT940 CitiDirect
SWIFT MT940
Predefiniowany format Swift MT940, który dostępny jest w systemie obsługuje wyciągi pochodzące z banków:
BPH
Pekao SA
Alior
Millennium
ING Bank Śląski
Santander
PKO BP
Deutsche Bank (usługa db direct)
Ogólny opis formatu:
- Plik w formacie MT940 jest plikiem tekstowym, złożonym z linii zgrupowanych w bloki.
- Linie zgrupowane są w 3 bloki: nagłówka (1), transakcji (wiele), końca (1).
- Plik może zawierać wiele kolejnych sekwencji: nagłówek, transakcje, koniec.
- Każda linia składa się z identyfikatora (początkowego ciągu znaków) oraz danych
- Niektóre rodzaje linii występują opcjonalnie.
Rozmieszczenie informacji w pliku:
:20:data wyciągu
:25:numer rachunku 1
:28C:numer wyciągu
:NS:22 właściciel rachunku
:NS:23 typ rachunku
:60F:saldo początkowe
:61:transakcja 1
:NS:19 godz. księgowania transakcji 1
:86:szczególy transakcji 1
:61:transakcja 2
:NS:19 godz. księgowania transakcji 2
:86:szczególy transakcji 2
:61:transakcja 3
:NS:19 godz. księgowania transakcji 3
:86:szczegoly transakcji 3
:62F:saldo końcowe
:64:saldo dostępne
:86:Informacje dodatkowe
Prezentacja szczegółów operacji w pliku: (POLA :61: I :86:)
Szczegóły pojedynczej transakcji prezentowane są w liniach :61: , :NS:19 oraz :86:
Linia :61: zawiera dane dotyczące daty waluty , daty księgowania, kwoty oraz waluty operacji.
Linia :NS19: godzinę księgowania, natomiast linia :86: prezentuje tytuł operacji, dane kontrahenta oraz zawiera kody operacji.
:61:0203260326DN5312,00NTRF
:NS19:1259
:86:020<00Wyplata-(dysp/przel)<10numer transakcji
<20 linia 1 tytułu operacji
<21 linia 2 tytułu operacji
<22 linia 3 tytułu operacji
<23 linia 4 tytułu operacji
<24 linia 5 tytułu operacji
<25 linia 6 tytułu operacji
<27NAZWA KONTRAHENTA 1
<28NAZWA KONTRAHENTA 2
<29ADRES KONTRAHENTA 1
<30numer rozliczenowy banku kontrahenta<31numer rachunku kontrahenta
<32NAZWA KONTRAHENTA1<33NAZWA KONTRAHENTA 2 do 35 znaków
<38 IBAN lub NRB kontrahenta
<60ADRES KONTRAHENTA 2
<61ID TRANSAKCJI W FK KLIENTA do 35 zn.
<62ID KONTRAHENTA W FK KLIENTA do 35 zn.
<63REF5898327000090031789
Format SWIFT MT940 w systemie Comarch ERP XL jest obsługiwany jako predefiniowany.
Przykład pliku przelewu importowanego przez Comarch ERP XL przy pomocy formatu MT940:
:20:1602359
:25:PL72106000760000320000546101
:28C:237
:NS:22Zakady Wytwórcze Kineskopów
:60F:C200825PLN0,00
:61:0308250825CN142680,00NTRFNONREF//8327000090031789
Przelew przychodzący wewnętrzny
:NS:191259
:86:051<00Wpata na rach.<101000000001
<20F-RA 4762/2003 ZAPłATA ZA
<21DOSTAW¨ KINESKOPW
<22LIPIEC 2003
<27BLACKTRONIX FABRYKA TELEWIZOROW
<29GLOGOWSKA 248
<3010600076<310000320000584734
<32BLACKTRONIX FABRYKA TELEWIZ<33ORŕW
<3822106000760000320000584734
<6060-010 POZNAN
<63REF5983270000900317897
:61:2008250825CN20000,00NTRFSENDERS REF//8327000090031790
Przelew przychodzacy wewnetrzny
:NS:191307
:86:051<00Wpata na rach.<101000000002
<20FAKTURA 7/2020
<21DOSTAWA KINESKOPŕW
<22BLACK 17′ 25 SZT.
<23BLACK 21′ 30 SZT
<27MATRIX WYTWORNIA SPRZ¨TU TV I AGD
<29PULAWSKA 65
<3010600076<310000300000374405
<32MATRIX WYTWORNIA SPRZ¨TU TV<33 I AGD
<3867106000760000300000374405
<6000-950 WARSZAWA
<63REF598327000090031790
:61:2008250825DN8566,27NTRFREFERENCJE//8327000090031791
Przelew wychodzacy zewnetrzny
:NS:191312
:86:020<00Wyplata-(dysp/przel)<101000000003
<20FRA 7611/2003 TERMIN 030826
<21ZA REMONT ZAKLADOWYCH
<22POMIESZCZEă MAGAZYNOWYCH
<27USLUGI REMONTOWE SP. Z O.O.
<28JAN KOWALSKI
<29STR¤KOWA 3A
<3010501445<311000002252037854
<32USLUGI REMONTOWE SP. Z O.O.<33
<3802105014451000002252037854
<6031-345 KRAKOW
<61TRANS65348259
<62USLREMONT
<63REF598327000090031791
:61:2008250825DN19587,57NTRFREFERENCJE //8327000090031792
Przelew wychodzacy wewnetrzny
:NS:191312
:86:020<00Wyplata-(dysp/przel)<101000000004
<20FRA 324-2342-234/2003
<21ZA PREFABRYKATY DO TUB
<22PRŕ˝NIOWYCH
<27HUTA SZKLA TOPIK
<29PRZEMYSťOWA 67
<30110600076<310000320000119499
<32HUTA SZKLA TOPIK<33
<3861106000760000320000119499
<6050-505 WROCLAW
<61TRANS65348260
<62HUTASZKLA
<63REF598327000090031792
:62F:C200825PLN134526,16
:64:C200825PLN134526,16
Podczas importu zapisów bankowych do systemu Comarch ERP XL istnieje możliwość identyfikacji pracownika po jego wszystkich rachunkach bankowych, a kontrahenta także po tak zwanym wirtualnym numerze rachunku.
SWIFT MT940 BGŻ
Przykład pliku przelewu importowanego przez Comarch ERP XL przy pomocy formatu SWIFT MT940 BGŻ:
{1:SenderBankHeader}{2:ReceiverBankHeader}{4:
:20:MT940
:25:65000000000000000000000000
:28C:99
:60F:D090713PLN9235,71
:61:0907130713D178,19NOTREF
:86:?1???????PRZELEW WEWNĘTRZNY Z RACHUNKU NUMER 23 0000 0000 0000 0000 0000 0000?NOWAK JAN?AL. TESTOWA 5A M 28 00-000 WARSZAWA?za rachunek nr 1/2009
:61:0907130713D60NOTREF
:86:?2???????PRZELEW WEWNĘTRZNY Z RACHUNKU NUMER 60 0000 0000 0000 0000 0000 0000?TESTOWA HELENA MIECZYSŁAWA?TESTOWANA 46 M 6 11-111 RZESZÓW?oplata za fakture
:62F:D090713PLN9473,9
:64:D090714PLN9472,9
:86:6792956?65000000000000000000000000?R?090713?090713??0?Z?5?090713?0??0?1???
-}
{1:SenderBankHeader}{2:ReceiverBankHeader}{4:
:20:MT940
:25:65000000000000000000000000
:28C:100
:60F:D090714PLN9473,9
:61:0907140714D-2500NOTREF
:86:?1???????PRZELEW WEWNĘTRZNY NA RACHUNEK NUMER 03 0000 0000 0000 0000 0000 0000?ZAKŁAD PRODUKCYJNY TEST SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ?TESTOWA 1 55-200 GNIEZNO?Wypłata na lokatę zlecona przez Internet (bvt111111111).
:62F:D090714PLN6973,9
:64:D090715PLN6972,9
:86:6792956?65200000000000000000000000?R?090714?090714??0?Z?5?090714?0??0?1???
-}
SWIFT MT940 CitiDirect
Przykład pliku przelewu importowanego przez Comarch ERP XL przy pomocy formatu SWIFT MT940CitiDirect:
:20:FIRMA XXX
:25:86111111111111444411114444
:28C:42/1
:60F:C140228PLN0,
:61:1402280228C3668,67N066NONREF//1112224477
TEST-KNT1
:86:/PT/FT/BO/KNT1/AB/11400000
Warszawa 05111111115555444477778888/BI/010
2222111/ER/1,/OA/PLN3668,67/PY/fa 44777
:61:1402280228C3781,2N066NONREF//1112224444
TEST-KNT2
:86:/PT/FT/BO/KNT2/AB/12402076
Szczecin 18101012701111444411114444/BI/010
2222111/ER/1,/OA/PLN3781,2/PY/FV 12445
:61:1402280228C4140,33N066NONREF//1112224477
TEST-KNT3
:86:/PT/FT/BO/KNT3/AB/10600005
Kraków 62101012125555444411110000/BI/010
2222111/ER/1,/OA/PLN4140,33/PY/F.555555
:61:1402280228C4217,N066NONREF//1112224410
TEST-KNT4
:86:/PT/FT/BO/KNT4/AB/15000028
A C-inne Warszawa 75101012124444111177770000/BI/010
2222111/ER/1,/OA/PLN4217,/PY/FV-2014/22222
:61:1402280228C4756,2N066NONREF//1112224411
TEST-KNT5
:86:/PT/FT/BO/KNT5/AB/10204812
Szczecin 80101010101111222233334444/BI/010
2222111/ER/1,/OA/PLN4756,2/PY/FV-2014/11111
:62F:C140228PLN20563,4
:64:C140228PLN20563,4