Struktura pliku tekstowego w formacie LITAS – ESIS

Formaty

* – pole obowiązkowe
C – pole znakowe
YYYY – czterocyfrowa liczba roku
MM – dwucyfrowa liczba (obowiązkowa) miesiąca
DD – dwucyfrowa liczba (obowiązkowa) dnia
N – pole liczbowe

Uwaga Wymagania ogólne
  • należy określać maksymalną długość pola;
  • każde pole jest oddzielane za pomocą TAB (# 9);
  • rozszerzenie pliku zależy od typu dokumentu (nazwa nie ma znaczenia);
  • informacja o jednym zleceniu ma się pomieszczać w jednej linii;
  • kody walut według standardów ISO (np.: EUR);
  • w tekście używana jest tabela kodów Windows 1257.

Struktura formy lokalnego zlecenia płatniczego

Rozszerzenie pliku ma być mokesis (nazwa nie ma znaczenia). Na przykład, przelewy.mokesis..

Nr. ser. Nazwa Wielkość Uwagi
1 Numer C10* Numer zlecenia płatniczego
2 Data C8 Format: YYYYMMDD
3 Data wykonania operacji bankowej C8* Format: YYYYMMDD
4 Rodzaj płatności (priorytet) N1* Możliwe wartości:
1 – standardowy
2 – pilny
5 Numer konta płatnika C35* Numer konta płatnika w formacie IBAN
6 Imię, nazwisko/Nazwa płatnika C200 Nazwa płatnika
7 PESEL/Numer rejestracyjny płatnika C11 PESEL (NIP) płatnika
8 Instytucja kredytowa płatnika C11 Format BIC
9 Numer klienta w systemie informacji odbiorcy C16 Kod, ustanowiony przez płatnika i odbiorcę, na podstawie którego odbiorca może identyfikować płatnika
10 Numer konta podstawowego płatnika C35 Numer konta podstawowego płatnika
11 Imię, nazwisko/Nazwa podstawowego płatnika C140 Imię, nazwisko lub nazwa podstawowego płatnika
12 PESEL/numer rejestracyjny podstawowego płatnika C11 PESEL (NIP) podstawowego płatnika
13 Numer konta odbiorcy C35* Numer konta odbiorcy w formacie IBAN
14 Imię, nazwisko/Nazwa odbiorcy C200* Nazwa odbiorcy
15 PESEL/Numer rejestracyjny odbiorcy C11 PESEL (NIP) odbiorcy
16 Instytucja kredytowa odbiorcy C11 Format BIC
17 Numer klienta w systemie informacji odbiorcy C16 Kod, ustanowiony przez płatnika i odbiorcę, na podstawie którego płatnik może identyfikować odbiorcę
18 Numer konta końcowego odbiorcy C35 Numer konta końcowego odbiorcy
19 Imię, nazwisko/Nazwa końcowego odbiorcy C140 Imię, nazwisko lub nazwa końcowego odbiorcy
20 PESEL/Numer rejestracyjny końcowego odbiorcy C11 PESEL (NIP) końcowego odbiorcy
21 Kwota N14* Centy (grosze) nie muszą być oddzielone kropką lub przecinkiem. Zamiast 50,25 trzeba wskazać 5025
22 Kod waluty C3* Kod waluty według standardu ISO
23 Kod płatności C28 Wskazany przez klienta kod płatności
24 Tytuł płatności C300* Wskazany przez klienta tytuł płatności
25 Kod archiwum C50 Kod, wydawany przez organizację kredytową dla każdej operacji. Tylko dla eksportu

Struktura importu formy międzynarodowego zlecenia płatniczego

Rozszerzenie pliku ma być taresis (nazwa nie ma znaczenia). Np.: międzynarodowe.taresis..

Nr. ser. Nazwa Wielkość Uwagi
1 Numer C10* Numer zlecenia płatniczego
2 Data C8 Format: YYYYMMDD
3 Data wykonania operacji bankowej N6 Format: YYYYMMDD
4 Rodzaj płatności (pierwszeństwo) N1* Możliwe wartości:
1 – standardowy
2 – pilny
3 – bardzo pilny
5 Waluta C3* Kod waluty według standardu ISO
6 Waluta debetowa C3 Nie używana w Internecie
7 Kwota N14* Centy (grosze) nie muszą być oddzielone kropką lub przecinkiem. Zamiast 50,25 trzeba wskazać 5025
8 Konto płatnika C35* Konto płatnika
9 BIC organizacji kredytowej, na prośbę której wykonywany jest przelew C11 -
10 S.W.I.F.T. banku korespondenta C11 Kod S.W.I.F.T. banku korespondenta jest pisany dużymi literami. Wielkość - 8 lub 11 symboli
11 Konto bankowe odbiorcy w banku korespondencie C34 Konto banka korespondenta
12 Nazwa banku korespondenta 1 C35 Nazwa banka korespondenta
13 Nazwa banku korespondenta 2 C35 Nazwa banka korespondenta
14 Adres banku korespondenta 1 C35 Adres banka korespondenta
15 Adres banku korespondenta 2 C35 Adres banka korespondenta
16 S.W.I.F.T. banku odbiorcy C11 Kod S.W.I.F.T. banku. Jest pisany dużymi literami. Wielkość - 8 lub 11 symboli
17 Kod banku odbiorcy C34 -
18 Nazwa banku odbiorcy 1 C35* Nazwa banku odbiorcy podawana jest w polach znakowyh 2х35
19 Nazwa banku odbiorcy 2 C35 -
20 Adres banku odbiorcy 1 C35 Adres banku podawany jest w polach znakowych 2х35
21 Adres banku odbiorcy 2 C35 -
22 Konto odbiorcy C35* Konto odbiorcy
23 Nazwa odbiorcy C35* Nazwa odbiorcy podawana jest w polach znakowych 2х35
24 Nazwa odbiorcy 2 C35 -
25 Adres odbiorcy 1 C35* Adres odbiorcy podawany jest w polach znakowych 2х35
26 Adres odbiorcy 2 C35 -
27 Opis płatności 1 C35 Tytuł płatności. Podawany jest w polach znakowych 2х35
28 Opis płatności 2 C35 -
29 Opis płatności 3 C35 -
30 Opis płatności 4 C35 -
31 Opłata, pobierana przez zagraniczny bank C1* Możliwe wartości:
1 – tylko płatnik
2 – i płatnik, i odbiorca
3 – tylko odbiorca
32 Powiadomić odbiorcę przez teleks C1 Możliwe wartości:
0 – nie powiadamiać
1 – powiadomić
33 Powiadomić odbiorcę przez telefon C1 Możliwe wartości:
0 – nie powiadamiać
1 – powiadomić
34 Telefon do powiadamiania C20 -
35 Konto do pobierania prowizji C20* -
36 Literowy kod waluty konta do pobierania prowizji C3* -
37 SWIFT banku korespondenta C11 Nie używa się w Internecie
38 Nazwa banku korespondenta C70 Nie używa się w Internecie
39 Konto banka pośredniczącego C35 Nie używa się w Internecie
40 Kod archiwum C50 Nie używa się w Internecie

Opis formatu FiDAViSta

Przygotowany w formacie FiDAViSta plik może składać się z kilku części, które są zjednoczone elementem klastera pojedynczego (Root) z nazwą pola FIDAVISTA. W tym elemencie Root wskazany jest także link na lokalizację schematu XML, gdzie wskazany plik zakańcza się 4-cyfrowym numerem porządkowym wersji. Możliwe są następujące grupy w klasterze pól:

  • Header – grupa pól tytułu, która zawiera informację o autorze pliku i czasie utworzenia pliku.
  • Statement – grupa pól wyciągu z konta, która jest używana do zapisywana danych wyciągów z konta bankowego lub informacji sprawozdania konta. (będzie dostępna już wkrótce).
  • PmtStat – klaster stanu płatności, który przechowuje informację o stanach płatności na podstawie wcześniej wskazanych identyfikatorów. (będzie dostępna już wkrótce).
  • Payment – gupa pól płatności, w której przechowuje się informacja o płatnościach (lokalne, wkłady do budżetu, międzynarodowe, wypłaty wynagrodzeń itd.).

Tytuł

Znacznik Długość Typ O/M Opis
Min. Maks.
Header
Timestamp
17 17 xs:string O Czas utworzenia pliku, w formacie YYYYMMDDHHMMSSsss
From 0 70 xs:string O Identyfikator autora
Extension
Header
- - ExtensionType O Pole dla rozmieszczenia dodatkowych elementów.

Status płatności

Znacznik Długość Typ O/M Opis
Min. Maks.
PmtStat
ExtId
0 10 SwiftStringType O Link na identyfikator płatności (indetyfikator płatności, wskazany w płatności)
BenExtId 0 5 SwiftStringType O Link na identyfikator płatności (idetyfikator płatności, wskazany w płatności)
BankRef 0 25 xs:string O Zaświadczenie z banku
DocNo 1 10 xs:string M Numer płatności/dokumentu
StatCode 1 1 xs:string M Kod stanu płatności:
E – wykonana, tzn. zablokowana;
R – odwołana;
P – przetwarzana;
O – inny stan.
InfoToCustomer 0 70 xs:string O Pojaśnienie stanu płatności/wiadomość o błędzie
BookDate 10 10 xs:date O Data wykonania płatności (tylko dla ukończonych płatności). Format YYYY-MM-DD
RegDate 10 10 xs:date O Data rejestracji zlecenia płatniczego – ta sama, która jest wskazana w “Payment”.
Format YYYY-MM-DD
Extension
PmtStat
- - ExtensionType O Pole dla dodatkowych elementów

Płatności

Znacznik Długość Typ O/M Opis
Min. Maks.
Payment ExtId 0 10 SwiftStringType O Unikalny identyfikator płatności w «zewnętrznym» (buchalterskim) systemie. Według tego identyfikatora wykonywane są zapytania “PmtStat”. Według pliku “Statement” danego identyfikatora można będzie także znaleźć powiązanie rachunkowości z eksportowanym zleceniem płatniczym
DocNo 1 10 SwiftStringType M Numer płatności/dokumentu. Przydzielany użytkownikiem w systemie księgowości
RegDate 10 10 xs:date O Data rejestracji zlecenia płatniczego w systemie księgowości. Format YYYY-MM-DD. Eksportując “PmtStat” za konkretny okres z systemu bankowości, wybór jest dokonywany według danego pola
TaxPmtFlg 1 1 xs:string
Default: “N”
M Wskaźnik, ukazujący na to, czy płatność jest płatnością za podatki. Możliwe wskaźniki:
“Y” – Płatność za podatki
“N”- “Zwykła“ płatność
Ccy 3 3 CurrencyType M Waluta płatności
PmtInfo 0 140 EksStringType O Szczegóły płatności (informacja dla odbiorcy)
BankInfo 0 140 xs:string O Informacja dla banku
PayLegalId 0 20 LegalIDType O Numer rejestracyjny płatnika, PESEŁ, lub kod podatnika.
W wypadku płatości za podatki zawartość tego pola, jeżeli ono jest uzupełnione, będzie wysłane jako kod płatnika
PayAccNo 1 34 AccountMType M Numer konta płatnika
PaySubAccNo 0 34 AccountOType O Numer subkonta płatnika
DebitCcy 3 3 CurrencyType O Debetowana waluta.
Jeżeli dane pole nie jest uzupełnione, bank będzie uważał, że domyślna zawartość danego pola jest:
- w wypadku konta w jednej walucie - walutą konta.
- w wypadku konta wielowalutowego – walutą płatności.
Jeżeli w wypadku konta wielowalutowego, pozycja płatności nie jest otwarta, jest ona interpretowana według uznania banku.
Aby uniknąć nieporozumień, rekomenduje się wypełnić dane pole
BenSet - - - M Dane odbiorcy płatności
BenExtId 0 5 SwiftStringType O Unikalny identyfikator odbiorcy w ramach zlecenia płatniczego. Rekomenduje się wypełnić w wypadku “Mass payment”.
Według danego pola system księgowy może identyfikować płatność w innych plikach (“Payment status”, “Statement”)
Priority 1 1 xs:string
“N” / “U” / “X”
Default = “N”
M Priorytet płatności:
N – zwykły,
U – pilny,
X – ekspresowy
Domyślny wskaźnik: N
Dla lokalnych płatności w łotewskich łatach proponuje się wybór “N” i “U”
Comm 3 3 xs:string
“OUR” / “BEN” /
“SHA”
Default = “OUR”
M Typ prowizji:
OUR – płatnik,
BEN - odbiorca,
SHA - podzielona.
Domyślny wskaźnik: OUR
Amt 1 12 AmountType M Kwota płatności. Dziesiętna część oddzielona kropką ’.’
BenAccNo 0 34 AccountOType O Numer konta odbiorcy
BenSubAccNo 0 34 AccountOType O Subkonto odbiorcy
BenAccIbanFlg 0 1 xs:string
“Y” / “N”
Default = “N”
O Funkcja IBAN konta odbiorcy
“Y” – Program bankowy musi sprawdzić kontrolną kwotę numeru konta według międzynarodowego standardu IBAN
Jeżeli wartością konta jest «Y», zawartość pola jest ignorowana
BenName 1 105 EksStringType M Nazwa odbiorcy
BenLegalId 0 20 LegalIDType O Numer rejestracyjny płatnika, kod płatnika podatku lub PESEL
BenAddress 0 70 EksStringType O Adres odbiorcy
BenCountry 2 2 CountryType M Kod państwa, w którym jest zarejestrowany odbiorca. Np.: LV, EE, US, i t.d. ISO-3166
BBName 0 35 EksStringType O Nazwa banku odbiorcy
BBAddress 0 70 EksStringType O Adres banku odbiorcy
BBSwift 8 11 SWIFTType O SWIFT kod banku odbiorcy lub BIC kod banku Łotwy
BBCode 0 66 BankCodeType O Kod bankowy odbiorcy. Dane pole zawiera obowiązkowy do wypełnienia atrybut CodeType – typ kodu
CBAcc 0 34 AccountOType O Konto korespondencyjne banku odbiorcy w banku pośredniczącym
CBName 0 35 EksStringType O Nazwa banku pośredniczącego
CBSwift 8 11 SWIFTType O SWIFT kod banku pośredniczącego
CBCode 0 66 BankCodeType O Kod banku pośredniczącego. Dane pole zawiera obowiązkowy do wypełnienia atrybut CodeType – typ kodu
BudgCode 0 10 SwiftStringType O Kod dochodów budżetu
AmkSet - - - O Zewnętrzny kod płatności
Opc 1 3 xs:string M Kod AMK (salda); tylko liczby [0-9]
Amt

AmkSet
1 12 AmountType O Suma AMK (salda) kodu. Dziesiętna część oddzielona kropką ’.’
Extension
BenSet
- - ExtensionType O Pole dla dodatkowych elementów
Extension
Payment
- - ExtensionType O Pole dla dodatkowych elementów

Typy pól

Typ Długość Dozwolone symbole
Opis
Min. Maks.
xs:string 0 - XML standardowy typ dla tekstu unicode
xs:date 10 10 0-9|- XML standardowy typ dla daty
Format: YYYY-MM-DD
BankCodeType - - 0-9|A-Z|a-z|s/-?:().,'+nr Pochodzące od SwiftString.
Dołączony atrybut, CodeType, typem którego jest SwiftString. Atrybut jest obowiązkowy
ExtensionType 0 - Przeznaczony do rozmieszczenia dowolnych standardowych, nie włączonych elementów
AccountMType 1 34 0-9|A-Z|a-z|s/-?:().,'+nr Pochodzące od SwiftString. Nałożone ograniczenie długości
AccountOType 0 34 0-9|A-Z|a-z|s/-?:().,'+nr Pochodzące od SwiftString. Nałożone ograniczenie długości
AmountType 1 12 0-9|. Pochodzące od xs:decimal.
Nałożone ograniczenie: tylko 12 znaków, 2 z których znajdują się za oddzielną kropką dziesiętną
CurrencyType 3 3 A-Z Pochodzące od xs:string
EksStringType - - 0-9|A-Z|a-z|a-ž|A-Ž|s/-?:().,'+nr Pochodzące od xs:string. Ograniczone dozwolone symbole, według z ograniczeniami Elektronicznego systemu rozliczeniowego Banku Łotwy (dla symboli klastera xl) i małymi literami łotewskiego i łacińskiego alfabetu
LegalIDType 0 20 0-9|A-Z|a-z|s/-?:().,'+nr Pochodzące od SwiftString. Nałożone ograniczenie długości
SWIFTType 8 11 A-Z|0-9 Przeznaczony dla kodu SWIFT, w zależności od standardu SWIFT.
SwiftStringType - - 0-9|A-Z|a-z|s/-?:().,'+nr Pochodzące od xs:string. Dozwolone symbole – dozwolone są symbole zgodne z klasterem symboli SWIFT X, prócz {“and“} i małe litery łacińskiego alfabetu

Format XML (pain.001.001.03)

Inicjowane przez klienta polecenie przelewu zostaje wysłane do banku płatnika z wnioskiem o podjęcie środków z rachunku płatnika i przelania ich na rachunek odbiorcy. Polecenie może być wykorzystane również w przypadku zobowiązania strony inicjującej do wysłania polecenia w imieniu płatnika. Udostępniony przez bank wypis z rachunku bankowego zostaje wysyłany dla posiadacza rachunku z wyszczególnieniem wszystkich przeprowadzonych transakcji w wybranym okresie.

Każdy element polecenia przelewu jest oparty na definicjach standardu ISO20022 XML „pain.001.001.03“ (CustomerCreditTransferInitiationV03), którego szczegółowy opis jest dostępny pod linkiem:: http://www.iso20022.org/documents/general/Payments_Maintenance_2009.zip .

Opis elementów komunikatu można pobrać tutaj.

Przykładowy plik .xml można pobrać tutaj.

Zestaw symboli

Zestaw symboli – to zbiór znaków, które można wykorzystać w elementach komunikatu. Komunikaty ISO 20022 XML odpowiadają potrzebom wielojęzycznego środowiska. Symbole są kodowane w systemie UTF-8. Banki i ich klienci powinni stosować zestaw liter łacińskich, który jest powszechnie stosowany w komunikacji międzynarodowej. Wszystkie zgodne z wymogami SEPA izby rozliczeniowe dopuszczają następujące znaki:

a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9
/ - ? : ( ) . , ‘ + Spacja; & (umieszczenia znaku &), " (umieszczenia znaku “)

Większość działających na Litwie banków komercyjnych, filii i przedstawicielstw banków zagranicznych, innych instytucji kredytowych i finansowych w lokalnych rozliczeniach SEPA wykorzystuje również znaki litewskiego alfabetu.

Wszystkie pozostałe znaki systemu kodowania UTF-8 w wysłanych i otrzymanych poleceniach płatności są konwertowane według sugerowanej przez Europejską Radę ds. Płatności tabeli przeliczeniowej, która spełnia najlepsze praktyki: https://www.europeanpaymentscouncil.eu/document-library/guidance-documents/sepa-requirements-extended-character-set-unicode-subset-best .

Struktura komunikatów

Dokument XML opisuje schemat, który jest napisany w specyficznym języku XSD (ang. XML Schema Definition). Schematy opisują znaczniki dokumentu (XML Tag), ich strukturę i kolejność. Ponadto może wskazywać kody, które są dozwolone dla określonych danych, lub status danych obowiązkowych / opcjonalnych, liczbę możliwych przypadków (lub powtórzeń), itp.

Ogólny schemat XSD dla komunikatu polecenia przelewu pain.001.001.03 jest dostępna pod: http://www.iso20022.org/documents/messages/pain/schemas/pain.001.001.03.zip .

Zawierający komunikat pain.001.001.03 plik danych ma nastepującą strukturę:

<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03 pain.001.001.03.xsd">
   <!-- Treść komunikatu -->
</Document>
                    

Plik danych powinien zawierać tylko jeden znacznik, w którym zawarto jedyny komunikat XML, chyba że dostawca usług płatniczych i klient uzgodnią inaczej.

Treść komunikatu składa się z następujących części:

  • A. Group Header. Ten blok jest obowiązkowy i może być tylko jeden. Zawiera ogół właściwości, które są wspólne dla wszystkich osobnych transakcji komunikatu (np.: data i czas utworzenia komunikatu, liczba transakcji w komunikacie i in.).
  • B. Payment Information. Ten blok jest obowiązkowy i może powtarzać się. Zawiera właściwy dla strony obciążanej polecenia płatności zestaw właściwości, które zostają przedstawione przy inicjowaniu przelewu (np.: nazwa płatnika, typ operacji i in.), oraz jedną lub kilka Transaction Information.
  • C. Transaction Information. en blok jest obowiązkowy i może powtarzać się. Zawiera zbiór elementów, który jest wykorzystany do zapisania informacji o osobnej transakcji w komunikacie. W bloku jest wskazany beneficjent, tytuł płatności i in.

Payment Information i Transaction Information jest wskazana w bloku Group Header.