Najważniejsze w skrócie
- Typ rekordu przelewu
- 110 — polecenie przelewu; jeden przelew = jedna linia, bez nagłówka i stopki
- Kwota
- w groszach, bez separatorów: 1 234,56 zł zapisujesz jako 123456
- Data wykonania
- RRRRMMDD, np. 20261008
- Pola tekstowe
- w cudzysłowie, do 4 linii po 35 znaków oddzielonych znakiem „|”
- Klasyfikacja polecenia (pole 15)
- 51 — przelew zwykły, 53 — przelew w MPP (wyjątek: Alior Bank)
- Komunikat MPP
- /VAT/kwota/IDC/NIP/INV/numer faktury/TXT/opis — INV do 35, TXT do 33 znaków
- Strona kodowa
- zależy od banku: Windows-1250, ISO-8859-2 albo CP852
- Sesje Elixir (KIR)
- 3 w dni robocze; przyjmowanie zleceń kończy się o 9:30, 13:30 i 16:00
Co to jest plik Elixir-O?
Plik Elixir-O to zwykły plik tekstowy z paczką poleceń przelewu krajowego w złotych, który bankowość firmowa importuje jednym kliknięciem. Każda linia to jeden przelew, pola są oddzielone przecinkami, teksty ujęte w cudzysłowy, a linie zakończone znakami CR LF. Plik nie ma nagłówka ani stopki.
Nazwa pochodzi od Elixiru — systemu rozliczeń międzybankowych w złotych, który od 1994 roku prowadzi Krajowa Izba Rozliczeniowa (KIR). Banki wymieniają w nim zlecenia klientów w sesjach rozliczeniowych. Format pliku dla klientów („Elixir-O”, często nazywany po rozszerzeniu „PLI”) opisuje każdy bank w swojej dokumentacji importu; układ pól jest wspólny, a różnice dotyczą szczegółów, które omawiamy niżej.
Plik przydaje się, gdy przelewów jest więcej niż kilka: płatności za faktury kosztowe, wypłaty, zwroty. Zamiast przepisywać rachunki i kwoty do formularza, przygotowujesz listę w Excelu, zamieniasz ją na Elixir-O i podpisujesz całą paczkę naraz.
Jak zbudowana jest linia pliku Elixir-O?
Rekord przelewu ma 16 pól. Poniższy układ stosuje generator (taki sam jak moduł przelewów w aplikacji fakturoza.pl) i zgadza się z opisami formatu PKO BP, mBanku, ING Banku Śląskiego i Banku Millennium. Różnice między bankami (mBank, Alior) generator uwzględnia po wybraniu banku.
| Nr | Pole | Zawartość w generatorze | Uwagi z dokumentacji banków |
|---|---|---|---|
| 1 | Typ komunikatu | 110 | 110 = polecenie przelewu |
| 2 | Data wykonania | RRRRMMDD | np. 20261008 |
| 3 | Kwota | w groszach, bez separatorów | do 15 cyfr; żaden z opisanych banków nie przyjmuje przecinka |
| 4 | Bank zleceniodawcy | numer rozliczeniowy: cyfry 3–10 NRB | 8 cyfr; część banków ustala go sama z rachunku |
| 5 | Tryb realizacji | 0 | PKO BP: 0 zwykły, 2 pilny, 7 Express Elixir |
| 6 | Rachunek zleceniodawcy | 26 cyfr w cudzysłowie | rachunek obciążany |
| 7 | Rachunek odbiorcy | 26 cyfr w cudzysłowie | tylko polski NRB |
| 8 | Nazwa i adres zleceniodawcy | 4×35 znaków, linie oddzielone | (dla mBanku 3×35) | mBank opisuje to pole jako 3×35 |
| 9 | Nazwa i adres odbiorcy | 4×35: dwie linie nazwy, dwie adresu | wymagana co najmniej pierwsza linia |
| 10 | Pole zerowe | 0 | w mBanku „opłaty i prowizje”, dla przelewu 0 |
| 11 | Bank odbiorcy | cyfry 3–10 NRB odbiorcy | 8 cyfr |
| 12 | Tytuł | 4×35 albo komunikat MPP | szczegóły płatności |
| 13 | Pole puste | "" | |
| 14 | Pole puste | "" | |
| 15 | Klasyfikacja polecenia | "51" albo "53" (Alior: zawsze "51") | 51 zwykły, 53 MPP, 71 przelew podatkowy |
| 16 | Informacje klient–bank | "" (Alior: "1" dla MPP, "0" dla zwykłego) | opcjonalne; PKO BP i mBank: referencja do 16 znaków |
Numer rozliczeniowy to osiem cyfr NRB zaraz po dwóch cyfrach kontrolnych. Polski numer rachunku (NRB) ma 26 cyfr: 2 cyfry kontrolne, 8 cyfr numeru rozliczeniowego banku i 16 cyfr numeru rachunku; IBAN to te same cyfry poprzedzone literami PL. Dlatego generator wylicza pola 4 i 11 sam — wystarczy poprawny rachunek.
Teksty dłuższe niż 35 znaków są dzielone na linie po 35 znaków. Nazwa odbiorcy mieści się w 70 znakach, adres w kolejnych 70, tytuł w 140. Cudzysłów wewnątrz tekstu zamknąłby pole przedwcześnie — PKO BP zwraca wtedy błąd — więc generator zamienia go na apostrof, a znak „|” na ukośnik.
Przykładowa linia rozkodowana pole po polu
Tak wygląda drugi przelew z przykładowego pliku (dane fikcyjne):
110,20261008,492000,11602202,0,"86116022020000000098765432","54102055580000123400010001","Przykładowa Firma sp. z o.o.||ul. Przykładowa 10, 60-001 Poznań|","Transport Żuraw Jan Kowalski||ul. Łąkowa 3, 62-020 Swarzędz|",0,10205558,"Faktura 45/2026 fracht Poznań-Gdańs|k||","","","51",""
110— polecenie przelewu;20261008— wykonanie 8 października 2026 r.492000— 4 920,00 zł zapisane w groszach.11602202— numer rozliczeniowy banku zleceniodawcy, czyli cyfry 3–10 rachunku86 1160 2202 ….0— tryb zwykły.- Dwa rachunki w cudzysłowach: obciążany i rachunek odbiorcy.
- Nazwa i adres zleceniodawcy: nazwa w pierwszej linii, druga pusta, adres w trzeciej, czwarta pusta — stąd
||i|na końcu. - Dane odbiorcy w tym samym układzie.
0i10205558— pole zerowe i numer rozliczeniowy banku odbiorcy.- Tytuł ma 36 znaków, więc ostatnia litera przeszła do drugiej linii:
…Gdańs|k||. Bank skleja linie przy prezentacji. "",""— pola puste;"51"— przelew zwykły;""— brak informacji klient–bank.
Jak przygotować przelew MPP w pliku?
Przelew w mechanizmie podzielonej płatności zapisuje się w tym samym rekordzie 110, ale z komunikatem MPP w polu tytułu i kodem 53 w polu 15. Komunikat ma stałą kolejność podpól:
/VAT/3450,00/IDC/1234563218/INV/FV 77/09/2026/TXT/Obsługa prawna 09/2026
| Podpole | Zawartość | Limit wg PKO BP i mBanku |
|---|---|---|
/VAT/ | kwota VAT z przecinkiem dziesiętnym | 10 cyfr, przecinek, 2 cyfry |
/IDC/ | NIP dostawcy (odbiorcy przelewu) | 14 znaków |
/INV/ | numer faktury | 35 znaków |
/TXT/ | dowolny opis | 33 znaki, opcjonalnie |
Kwota przelewu w polu 3 to kwota brutto, a kwota VAT nie może jej przekraczać — mBank wymaga, by VAT był większy od zera i nie większy niż kwota zapłaty. Generator sprawdza te limity, sumę kontrolną NIP i to, czy podano komplet danych.
Komunikat jest dzielony na linie po najwyżej 35 znaków, tak jak każdy tytuł. Tu banki się różnią: mBank w przykładach dopuszcza podział nawet wewnątrz słowa kodowego (/IN|V/), a PKO BP zastrzega, że znak „|” nie może występować wewnątrz znacznika podpola, i pozwala złamać wiersz wcześniej niż po 35. znaku. Dlatego gdy granica wiersza wypadłaby w znaczniku, generator łamie wiersz tuż przed nim (…/INV/FV 1|/TXT/… zamiast …/INV/FV 1/|TXT/…). Taki zapis jest zgodny z opisami importu wszystkich trzech banków: mBank i Alior traktują „|” wyłącznie jako podział wiersza o długości do 35 znaków. Słowa kodowego nie można też wpisać w treść podpola, np. w numer faktury; generator zgłasza to jako błąd. Alior Bank w opisie importu oznacza MPP inaczej: kodem 51 w polu 15 i wartością 1 w polu 16 — po wybraniu Aliora generator zapisze plik właśnie tak.
Kiedy MPP jest obowiązkowy? Według podatki.gov.pl — gdy faktura przekracza 15 000 zł brutto, obejmuje towary lub usługi z załącznika nr 15 do ustawy o VAT i obie strony są podatnikami VAT. Mechanizm działa wyłącznie dla przelewów w złotych. W Elixirze KIR obsługuje go od 1 lipca 2018 r.
Jaki format pliku i jaką stronę kodową obsługuje mój bank?
Układ pól jest wspólny, ale strona kodowa polskich liter różni się między bankami — to najczęstsza przyczyna „krzaczków” po imporcie. Zestawienie na podstawie publicznych opisów formatu:
| Bank (system) | Strona kodowa w opisie importu | Inne ustalenia |
|---|---|---|
| PKO BP (iPKO biznes) | CP852 albo ISO-8859-2; Windows-1250 niezalecane | do 5000 rekordów, dowolna nazwa pliku |
| mBank (CompanyNet) | ISO-8859-2, Windows-1250, CP852 | pole 8 jako 3×35 |
| ING Bank Śląski (ING Business) | ustawiana w szablonie importu | format „Multicash PLI (Elixir 0)” |
| Bank Millennium (Millenet) | domyślnie CP852 | |
| Alior Bank | Windows-1250 | rozszerzenie .PLI, MPP: kod 51 + flaga 1 |
| Citi Handlowy | Windows-1250 | nazwa i rozszerzenie bez znaczenia |
| Credit Agricole (CA24 eBank) | ISO-8859-2, Windows-1250 lub UTF-8 | 1–500 rekordów |
| BNP Paribas (GOonline Biznes) | wybór przy imporcie | plik do 10 MB |
Po wybraniu banku generator ustawia jego stronę kodową (PKO BP i Millennium — CP852, pozostałe — Windows-1250) oraz wariant pliku; stronę możesz zmienić, jeśli szablon importu w banku ustawiono inaczej (Alior przyjmuje tylko Windows-1250). Tak samo działa moduł przelewów w aplikacji fakturoza.pl, gdzie bank i stronę kodową ustawia się na rachunku firmy. Polskie litery są dostępne we wszystkich trzech stronach. Znaki typograficzne z Worda (cudzysłowy „ ”, półpauza, wielokropek) w ISO-8859-2 i CP852 nie istnieją, więc generator zastępuje je odpowiednikami ASCII i informuje o tym w tabeli.
Jak zaimportować przelewy do banku z pliku?
- Przygotuj listę w Excelu według szablonu (przycisk „Pobierz szablon CSV”) i zapisz ją jako CSV rozdzielany średnikami — albo zaznacz komórki i wklej je do generatora.
- Uzupełnij rachunek obciążany i datę wykonania, wybierz bank (i w razie potrzeby stronę kodową), kliknij „Sprawdź i przygotuj plik”.
- Popraw wiersze oznaczone jako „Błąd” i przejrzyj ostrzeżenia. Pobierz plik.
- W bankowości firmowej otwórz import przelewów, wybierz format Elixir-O (PLI) i — jeśli bank o to pyta — tę samą stronę kodową.
- Porównaj liczbę przelewów i sumę z podsumowaniem generatora, a dopiero potem podpisz paczkę.
Nie otwieraj gotowego pliku .pli w Excelu: arkusz rozbije linie po przecinkach, usunie cudzysłowy i przy zapisie zmieni format.
Kiedy bank wyśle przelewy z pliku?
Elixir rozlicza zlecenia w trzech sesjach, od poniedziałku do piątku, z wyjątkiem świąt. Harmonogram według KIR:
| Sesja | Przyjmowanie zleceń do sesji | Rozrachunek |
|---|---|---|
| I | od 16:00 dnia poprzedniego do 9:30 | 10:30–11:00 |
| II | 9:30–13:30 | 14:30–15:00 |
| III | 13:30–16:00 | 17:00–17:30 |
Bank odbiorcy księguje przelew po sesji, w której go rozliczono. Godziny graniczne dla klientów ustala każdy bank — bywają wcześniejsze niż godziny KIR, bo bank musi przekazać zlecenia do izby. Przelew z datą przypadającą w sobotę lub niedzielę nie trafi do sesji tego dnia; generator ostrzega o takiej dacie. Natychmiastowy Express Elixir działa całą dobę przez 7 dni w tygodniu, ale w pliku oznacza się go inaczej niż przelew zwykły (np. w PKO BP wartością 7, a w mBanku wartością 1 w polu 5) — generator tworzy wyłącznie przelewy zwykłe.
Najczęstsze błędy importu i jak je naprawić
- Błędna suma kontrolna rachunku — literówka przy przepisywaniu z faktury. Generator sprawdza cyfry kontrolne NRB; popraw numer według faktury lub danych kontrahenta.
- Kwota z przecinkiem w pliku — w polu 3 muszą być grosze bez separatorów. W CSV możesz wpisać „1 234,56”; generator zapisze
123456. Kwota z trzema miejscami po przecinku jest błędem, nie zaokrąglamy jej. - Cudzysłów lub przecinek w nazwie — cudzysłów w środku pola psuje rekord; generator zamienia go na apostrof. Przecinek w polu ujętym w cudzysłów jest dozwolony.
- Zniekształcone polskie litery — zła strona kodowa (patrz tabela banków).
- Rachunek zagraniczny — Elixir-O obsługuje tylko polskie rachunki; przelew w euro wyślij w formacie SEPA.
- Niekompletne dane MPP — kwota VAT, NIP i numer faktury muszą być podane razem; zbyt długi opis /TXT/ (ponad 33 znaki) albo numer faktury (ponad 35 znaków) skróć, a słowa kodowe w rodzaju
/TXT/usuń z treści. - Duplikaty — ten sam rachunek, kwota i tytuł w dwóch wierszach to częsty skutek kopiowania. Generator je oznacza.
- Data w przeszłości lub w weekend — w takim dniu nie ma sesji Elixir, więc bank może zlecenie odrzucić albo wykonać w innym terminie; ustaw dzisiejszą datę lub najbliższy dzień roboczy.
Czy sprawdzić rachunki na białej liście przed wysłaniem paczki?
Tak, przy płatnościach powyżej 15 000 zł. Jeśli firma zapłaci za taką transakcję na rachunek, którego nie ma w wykazie podatników VAT (białej liście), nie zaliczy wydatku do kosztów uzyskania przychodu i może odpowiadać solidarnie za VAT dostawcy (art. 22p ustawy o PIT, art. 15d ustawy o CIT, art. 117ba Ordynacji podatkowej). Według biznes.gov.pl od sankcji uwalnia zawiadomienie urzędu skarbowego (ZAW-NR) złożone w ciągu 7 dni od przelewu. Zapłata w mechanizmie podzielonej płatności nie powoduje tych skutków.
Rachunki z paczki sprawdzisz hurtowo w narzędziu masowe sprawdzanie białej listy — wynik zawiera identyfikator zapytania, który warto zachować jako dowód. Generator przypomina o tym przy każdym przelewie powyżej 15 000 zł.
Od 1 stycznia 2027 r. dochodzi jeszcze jeden wymóg: płacąc przelewem za fakturę ustrukturyzowaną, czynny podatnik VAT podaje w tytule numer KSeF faktury, a przy zapłacie kilku faktur jednym przelewem — identyfikator zbiorczy. Dotyczy to także przelewów MPP; w którym podpolu umieścić numer, sprawdź w aktualnym opisie formatu swojego banku.
Elixir-O czy SEPA XML (pain.001)?
Elixir-O wybierasz dla przelewów krajowych w złotych, a XML pain.001 — dla przelewów SEPA w euro. Polecenie przelewu SEPA jest z definicji przelewem w euro, a Elixir-O wymaga polskiego rachunku i kwoty w złotych.
Granica zaczyna się jednak zacierać: część banków przyjmuje XML ISO 20022 również dla przelewów krajowych. ING Business obsługuje w szablonie „SEPA XML” zlecenia krajowe, do ZUS i US (zgodnie z pain.001.001.09), a BNP Paribas ma osobny format „Przelew krajowy XML” dla PLN, także z MPP. Jeśli Twój bank oferuje oba formaty, Elixir-O wygrywa prostotą — plik jest czytelny w Notatniku, łatwo go sprawdzić i poprawić. XML daje bogatsze dane strukturalne, ale wymaga zgodności ze schematem.
Paczki przelewów w fakturoza.pl
W aplikacji fakturoza.pl paczka przelewów powstaje z zaakceptowanych faktur kosztowych: rachunek, kwota, numer faktury i dane MPP przechodzą z faktury, każdy rachunek jest sprawdzany na białej liście, a plik Elixir-O (lub XML SEPA dla euro) tworzy ten sam zapis co w tym generatorze — w wariancie i stronie kodowej ustawionych dla rachunku firmy. Po zaksięgowaniu wyciągu MT940 przelewy rozliczają się z fakturami same. Funkcja jest dostępna w planie Grupa.
Najczęstsze pytania
Jakie rozszerzenie powinien mieć plik Elixir-O?
Najczęściej .pli — tak nazywa go m.in. Alior Bank, a format bywa opisywany jako „PLI” lub „Multicash PLI”. PKO BP i Citi Handlowy deklarują, że nazwa i rozszerzenie pliku nie mają znaczenia. Generator zapisuje plik jako przelewy-RRRR-MM-DD.pli.
Dlaczego po imporcie polskie litery są zniekształcone?
Plik zapisano w innej stronie kodowej, niż oczekuje bank. PKO BP zaleca CP852 albo ISO-8859-2 i odradza Windows-1250, Millennium domyślnie przyjmuje CP852, a Alior i Citi Handlowy — Windows-1250. Wybierz bank w generatorze (ustawi zalecaną stronę) albo stronę zgodną z szablonem importu banku.
Czy w pliku Elixir-O mogę zapisać przelew w euro?
Nie. Elixir-O służy do przelewów krajowych w złotych na polskie rachunki (NRB). Przelewy w euro na rachunki w strefie SEPA wysyła się w innym formacie, zwykle XML pain.001 z ISO 20022, który obsługuje bankowość firmowa.
Jak oznaczyć przelew w mechanizmie podzielonej płatności?
W tytule (pole 12) zapisuje się komunikat /VAT/kwota VAT/IDC/NIP odbiorcy/INV/numer faktury/TXT/opis, a w polu 15 kod 53. Wyjątkiem jest Alior Bank, który w opisie importu oznacza MPP kodem 51 i wartością 1 w polu 16 — generator zapisze to tak, gdy wybierzesz Alior Bank.
Ile przelewów może zawierać jeden plik?
Specyfikacja formatu nie ustala jednego limitu — robią to banki. PKO BP przyjmuje w jednym pliku do 5000 rekordów, Credit Agricole od 1 do 500, a BNP Paribas ogranicza rozmiar pliku do 10 MB. Większą listę podziel na kilka paczek.
Czy dane przelewów są wysyłane na serwer fakturoza.pl?
Nie. Plik CSV jest czytany, sprawdzany i zamieniany na Elixir-O w Twojej przeglądarce. Numery rachunków, kwoty i dane kontrahentów nie opuszczają komputera, a po zamknięciu karty nie zostają zapisane.
Dlaczego generator nie pozwala pobrać pliku, gdy jeden wiersz ma błąd?
Bank odrzuca całą paczkę albo pojedyncze zlecenia z błędnym rachunkiem, kwotą czy danymi MPP, a częściowo zaimportowaną paczkę łatwo zapłacić dwa razy. Dlatego plik powstaje dopiero wtedy, gdy wszystkie wiersze przechodzą walidację.
Czy w tytule przelewu trzeba podawać numer KSeF faktury?
Od 1 stycznia 2027 r. czynni podatnicy VAT, płacąc przelewem za fakturę ustrukturyzowaną, podają w tytule numer KSeF faktury, a przy zapłacie kilku faktur jednym przelewem — identyfikator zbiorczy. Obowiązek obejmuje także przelewy w MPP.
Co zrobić, gdy bank odrzuca plik z komunikatem o błędnym formacie?
Sprawdź, czy w banku wybrano import Elixir-O (PLI), a nie CSV ani XML, czy plik nie był otwierany i zapisywany w Excelu (zmienia przecinki i cudzysłowy) oraz czy strona kodowa w szablonie importu zgadza się z wybraną w generatorze.
Źródła
- KIR — system Elixir: opis i harmonogram sesji rozliczeniowych
- PKO Bank Polski — struktura pliku wejściowego ELIXIR-O (iPKO biznes)
- mBank CompanyNet — struktura zbioru importu i eksportu danych w formacie Elixir
- ING Bank Śląski — opis formatów plików importu i eksportu w ING Business (Multicash PLI)
- Bank Millennium — Elixir-0: format pliku płatności krajowych do importu w Millenet
- Alior Bank — struktura plików importu
- podatki.gov.pl — mechanizm podzielonej płatności (MPP)
- biznes.gov.pl — płatności na rachunek spoza wykazu podatników VAT
- KSeF — numer KSeF i identyfikator zbiorczy w tytule płatności
- NBP — IBAN i BIC: budowa numeru rachunku
Aktualizacja: . Opracowanie: zespół fakturoza.pl. Narzędzie i poradnik mają charakter informacyjny i nie zastępują porady prawnej ani podatkowej.