Format pliku Elixir-O: pola, kodowanie, import w banku

Plik Elixir-O to plik tekstowy bez nagłówka: jedna linia to jedno zlecenie, pola rozdziela przecinek, teksty stoją w cudzysłowach, a linie kończy CR LF. PKO BP, mBank, ING, Millennium i Alior opisują ten sam szkielet 16 pól, ale różnią się kodowaniem liter, oznaczaniem przelewów specjalnych i użyciem pola 16.

Otwórz narzędzie: Generator pliku przelewów Elixir-O

Skąd się wziął format i czyj opis obowiązuje

Elixir to prowadzony przez KIR system rozliczeń międzybankowych w złotych. Plik, który wgrywasz do bankowości, nie jest jednak wewnętrznym komunikatem izby. PKO BP pisze, że jego format jest na tym komunikacie wzorowany, a Millennium, że jest zgodny z polskim standardem Electronic Banking Council.

Dlatego ten sam układ występuje pod kilkoma nazwami: ELIXIR-O, Multicash PLI, PLI. Dla Twojego importu liczy się aktualny opis Twojego banku. mBank zastrzega wprost, że może zmienić strukturę danych bez uprzedzenia.

Znaczenie każdego z 16 pól znajdziesz w tabeli na stronie generatora, a gotowy rekord w przykładowej linii. Poniżej jest to, czego tabela nie pokazuje: jak czytać dokumentację banków i gdzie banki się rozchodzą.

Jak czytać oznaczenia w opisach banków

Każdy bank używa trochę innej notacji, a ta sama litera potrafi znaczyć co innego.

OznaczenieZnaczenieGdzie
M / Opole obowiązkowe / opcjonalnePKO BP, Alior
W / Epole wymagane / ewentualnemBank
mand. / opt.pole obowiązkowe / opcjonalneING
F / Vstała / zmienna długośćPKO BP, mBank, ING
nsame cyfrywszystkie banki
apole tekstowe (alfanumeryczne)PKO BP, mBank, ING
atylko literyAlior, Millennium
xtekst ze znakami dodatkowymiAlior, Millennium
4*35do 4 wierszy po 35 znakówwszystkie banki
!dokładnie tyle znaków, np. 26!nAlior, Millennium

Długość w tabeli banku to często limit pola, a nie długość danych. PKO BP, mBank i ING podają dla rachunku do 34 znaków, ale polski NRB ma 26 cyfr, co wprost widać w zapisie 26!n u Aliora i Millennium.

Pól nie wolno też przesuwać. Bank rozpoznaje je po pozycji, więc puste pola 13 i 14 muszą zostać w rekordzie jako "". Pola 4 i 11 Millennium dopuszcza jako puste, a PKO BP i Alior oznaczają je jako obowiązkowe.

Gdzie banki się różnią

Przelew zwykły wygląda wszędzie podobnie: typ 110, tryb 0, klasyfikacja 51. Rozjazdy zaczynają się przy innych rodzajach zleceń.

BankExpress ElixirSORBNETPrzelew do USZUS
PKO BPpole 5: 7zlecenia wysokokwotowe, typ 110110, kod 71110, kod 51
mBankpole 5: 1pole 5: 5190, kod 71 lub 74typ 110
INGbrak w opisie PLItyp 510110, kod 71typ 110
Millenniumpole 15: 41110, kod 51110, kod 71120, kod 51
Aliorbrak w opisie PLIrozszerzenie PLS110, kod 71120, kod 51

Takiego rekordu nie przeniesiesz więc między bankami bez zmian. Przelewy do urzędu skarbowego mają dodatkowo własną strukturę tytułu ze znacznikami /TI/, /OKR/, /SFP/.

Podobnie jest z polem 16:

  • PKO BP: referencja własna do 16 znaków, bez polskich liter.
  • mBank: referencja w postaci REF: i do 16 znaków. Dopisanie /WL!/IDC/NIP/ zleca sprawdzenie rachunku na białej liście.
  • ING: numer referencyjny do 32 znaków. Biała lista działa tu przez tytuł, w postaci /NIP/1234512345/tekst wolny.
  • Millennium: referencja między $$$ (do 16 znaków), a sprawdzenie białej listy włącza zapis IDC/NIP/.
  • Alior: znacznik Split Payment, 1 albo 0.

Także kod przelewu MPP nie wszędzie działa tak samo. W mBanku poprawny komunikat z kodem 51 lub 53 zostanie zaimportowany jako płatność podzielona. Błędny komunikat z kodem 51 stanie się zwykłym przelewem, a z kodem 53 zostanie odrzucony. mBank zabrania też wpisywania rachunków VAT w polach 6 i 7: podajesz rachunek w PLN powiązany z rachunkiem VAT. Budowę komunikatu opisuje sekcja o MPP.

Różnią się również listy dozwolonych znaków. Millennium wymaga przede wszystkim rozpoznawalnych separatorów pól, a lista x Aliora jest krótka i nie zawiera np. dwukropka ani znaku #. Jeśli tytuły mają nietypowe symbole, porównaj je z opisem banku.

Kodowanie: jak rozpoznać problem po objawach

Zalecane strony kodowe zebrano w tabeli banków. Warto jednak wiedzieć, skąd bierze się samo zniekształcenie. Ta sama litera ma w każdej stronie inny bajt:

LiteraWindows-1250ISO-8859-2CP852
ąB9B1A5
ĄA5A1A4
ś9CB698
Ś8CA697
ź9FBCAB
Ź8FAC8D
łB3B388

Windows-1250 i ISO-8859-2 różnią się tylko przy sześciu polskich literach: Ą, ą, Ś, ś, Ź, ź. Zgadza się to z ostrzeżeniem PKO BP, które wskazuje błędy przy Ś, ź i Ą. Pozostałe litery wyglądają poprawnie, więc taki błąd łatwo przeoczyć.

Objaw podpowiada przyczynę. Oto słowo „Łąkowa” zapisane w jednej stronie i odczytane w innej:

  • Łškowa: psują się tylko ą, ś, ź i ich wielkie odpowiedniki. To pomylenie Windows-1250 z ISO-8859-2.
  • ú╣kowa: psują się niemal wszystkie polskie litery, również ł. Jedna ze stron to CP852.
  • ĹÄ…kowa: litery rozpadają się na dwa znaki. Plik jest w UTF-8, a bank czyta go jako stronę ośmiobitową.

Strona kodowa dotyczy tylko polskich znaków. Przecinki, cudzysłowy i kreska | mają wszędzie ten sam bajt, więc plik może przejść import, a mimo to mieć zniekształcone nazwy odbiorców.

Co sprawdzić przy imporcie

Opisy formatu nie prowadzą po menu bankowości, ale zawierają kilka reguł ważnych przy wgrywaniu pliku:

  • Rozszerzenie: Alior rozpoznaje rodzaj zlecenia także po rozszerzeniu (PLI albo PLS). PKO BP dopuszcza dowolną nazwę pliku.
  • Limit: PKO BP przyjmuje w jednym pliku do 5000 rekordów.
  • Szablon: ING Business korzysta z szablonów w module Import/Eksport. W szablonie własnym ustawiasz m.in. stronę kodową.
  • Drugi etap kontroli: Millennium najpierw sprawdza pola pliku, a poprawne zlecenia przenosi do wersji roboczych, gdzie można je jeszcze poprawić.
  • Termin: data z pola 2 to data wykonania, a moment rozliczenia zależy od sesji Elixir.

Jeśli import się nie uda, zacznij od listy typowych błędów.

Jak generator stosuje te reguły

Generator zapisuje przelewy zwykłe i MPP: typ 110, tryb 0, klasyfikację 51 lub 53, puste pola 13 i 14, a na końcu linii CR LF. Warianty PKO BP, mBanku, Aliora i Millennium uwzględniają różnice w polach 8, 15 i 16 oraz domyślną stronę kodową. Dla ING i innych banków służy wariant standardowy.

Generator nie tworzy zleceń Express Elixir, SORBNET, przelewów do US ani ZUS. Nie zapisuje też referencji ani znaczników białej listy w polu 16. Proces od arkusza do importu opisuje poradnik Jak zrobić paczkę przelewów z Excela.

Najczęstsze pytania

Czym różni się Elixir-O od PLI?

To w praktyce ten sam format pod różnymi nazwami. ING pisze o „Multicash PLI (Elixir 0)”, Millennium o „Elixir O (Multicash PLI)”, a Alior o plikach z rozszerzeniem PLI. Szczegóły sprawdzaj w opisie swojego banku.

Czy pola 13 i 14 można pominąć?

Nie zakładaj tego. PKO BP, ING, Millennium i Alior oznaczają je jako obowiązkowe, choć puste. Tylko mBank dopuszcza opuszczanie pól ewentualnych, dlatego bezpieczniej zawsze zapisywać puste cudzysłowy.

Czy plik Elixir-O można zapisać w UTF-8?

Opisy Elixir-O z PKO BP, mBanku, Millennium i Aliora wymieniają tylko strony ośmiobitowe, a ING w tej części nie podaje konkretnej strony. Użyj kodowania wskazanego przez bank lub ustawionego w szablonie importu.

Czy w jednym pliku mogą być różne typy zleceń?

Millennium i mBank CompanyNet na to pozwalają. mBank zastrzega jednak, że system BRESOK przyjmuje w pliku jeden typ poleceń. W innych bankach sprawdź to przed przygotowaniem mieszanej paczki.

Czym otworzyć plik .pli, żeby go nie zepsuć?

Użyj edytora tekstu, w którym możesz wybrać kodowanie, i nie zapisuj pliku, jeśli tylko go przeglądasz. Excel nie nadaje się do tego, bo rozbija linię na kolumny i po zapisie zmienia układ pliku.

Źródła

Wszystkie darmowe narzędzia