Konwerter MT940 do Excela i CSV

Wczytaj plik MT940 pobrany z bankowości internetowej, a zobaczysz każdy wyciąg z saldami i listą transakcji oraz kontrolę, czy saldo początkowe plus uznania minus obciążenia daje saldo końcowe. Jednym kliknięciem pobierzesz CSV dla Excela (UTF-8, średnik, przecinek dziesiętny). Plik nie opuszcza Twojego komputera.

  • Bez logowania
  • Wyciąg zostaje w Twojej przeglądarce
  • Za darmo, bez limitu

Wyciąg jest czytany wyłącznie w Twojej przeglądarce — plik ani jego treść nie są wysyłane na żaden serwer. Obsługujemy kodowanie UTF-8, Windows-1250, ISO-8859-2 i CP852 (polskie znaki z PKO BP, ING, Millennium, mBanku).

Najważniejsze w skrócie

Czym jest MT940
Komunikat SWIFT z wyciągiem bankowym zapisany jako plik tekstowy; każda informacja ma swój znacznik, np. :61: (transakcja) i :86: (jej opis).
Pola wyciągu
:20: referencja, :25: rachunek, :28C: numer wyciągu, :60F: saldo początkowe, :61: transakcja, :86: opis, :62F: saldo końcowe, :64: saldo dostępne.
Daty
RRMMDD w saldach i dacie waluty, MMDD w dacie księgowania (pole :61:).
Kwoty
Przecinek dziesiętny, bez separatora tysięcy; strona operacji osobno: C – uznanie, D – obciążenie, RC i RD – storna.
Polskie znaki
Według dokumentacji banków: CP852 (PKO BP iPKO biznes, ING Business, Millennium), ISO-8859-2 (mBank).
Rozszerzenia plików
.sta, .txt, .mt940, .940 — rozszerzenie zależy od banku, zawartość jest zwykłym tekstem.
Wynik narzędzia
CSV w UTF-8 z BOM, separator średnik, kwoty ze znakiem i przecinkiem dziesiętnym, daty RRRR-MM-DD.
Prywatność
Plik jest analizowany w przeglądarce i nie trafia na żaden serwer.

Jak otworzyć plik MT940 w Excelu?

Excel nie ma importu MT940, bo to nie jest plik tabelaryczny, tylko tekst z polami oznaczonymi znacznikami (np. :61: dla transakcji). Najprostsza droga to zamiana MT940 na CSV, a dopiero potem otwarcie CSV w Excelu. Konwerter powyżej robi to w trzech krokach:

  1. Wczytaj plik wyciągu (.sta, .mt940, .940, .txt) albo kilka plików naraz.
  2. Sprawdź podsumowanie: salda, liczbę i sumę uznań oraz obciążeń, kontrolę salda.
  3. Kliknij „Pobierz CSV (Excel)” i otwórz plik.

Plik CSV ma kodowanie UTF-8 ze znacznikiem BOM (dzięki temu Excel poprawnie pokazuje polskie litery), średnik jako separator kolumn i kwoty z przecinkiem dziesiętnym. Kwoty mają znak: dodatnie to uznania (wpływy), ujemne to obciążenia (wydatki), więc suma kolumny „Kwota” od razu daje zmianę salda.

Jeśli po dwukliku cały wiersz ląduje w jednej kolumnie, Excel używa innego separatora listy niż średnik. Microsoft opisuje dwie drogi: zmianę separatora listy w ustawieniach regionalnych Windows albo import przez Dane → Z tekstu/pliku CSV, gdzie ogranicznik wybierasz ręcznie. Przy imporcie ustaw kolumny „Referencja klienta” i „Referencja banku” jako Tekst. Excel przechowuje liczby z dokładnością do 15 cyfr, więc 16-cyfrowa referencja zapisana jako liczba straciłaby ostatnią cyfrę.

Czym jest format MT940 i jak jest zbudowany?

MT940 (Customer Statement Message) to standard komunikatu SWIFT, w którym bank przekazuje wyciąg z rachunku: saldo otwarcia, wszystkie operacje z danego okresu i saldo zamknięcia. Polskie banki udostępniają go firmom w bankowości internetowej jako plik tekstowy do importu w programach finansowo-księgowych. W jednym pliku może być kilka wyciągów, np. po jednym na każdy dzień roboczy albo na każdy rachunek.

Każda informacja zaczyna się od znacznika w dwukropkach. Najważniejsze pola:

ZnacznikZnaczeniePrzykład
:20:Referencja wyciągu nadana przez bank (w PKO BP stała wartość „MT940”, w mBanku data i numer, np. ST050112CYC/1):20:MT940
:25:Numer rachunku, którego dotyczy wyciąg (IBAN, czasem poprzedzony ukośnikiem):25:/PL08114020040000320276153301
:28C:Numer wyciągu, zwykle kolejny w danym roku:28C:00185/1
:60F: / :60M:Saldo początkowe: C (dodatnie) lub D (ujemne), data RRMMDD, waluta, kwota:60F:C260929PLN48210,40
:61:Linia transakcji: daty, strona, kwota, kod typu, referencje:61:2609290929CN12300,00NTRF…
:86:Opis transakcji: tytuł, kontrahent, jego rachunek:86:051~00PRZELEW…
:62F: / :62M:Saldo końcowe (budowa jak :60F:):62F:C260929PLN57615,90
:64:Saldo dostępne (informacyjne):64:C260929PLN57615,90

Litera M w :60M: i :62M: oznacza saldo pośrednie. Pojawia się, gdy wyciąg za jeden dzień jest podzielony na kilka komunikatów — mBank opisuje to przy MT940 wysyłanych siecią SWIFT.

Jak czytać pole :61: — datę, kwotę i stronę operacji?

Pole :61: ma stały układ, bez separatorów między częściami, dlatego trudno je czytać gołym okiem. Według dokumentacji mBanku, PKO BP, ING i Millennium kolejne części to:

  1. Data waluty — 6 cyfr RRMMDD.
  2. Data księgowania — 4 cyfry MMDD (bez roku; na przełomie roku może przypadać na inny rok niż data waluty).
  3. Strona operacji — C (uznanie), D (obciążenie), RC (storno uznania) albo RD (storno obciążenia).
  4. Trzecia litera kodu waluty — np. N dla PLN, R dla EUR (nie w każdym banku).
  5. Kwota — z przecinkiem dziesiętnym, bez znaku i bez separatora tysięcy.
  6. Kod typu transakcji — w mBanku litera N i trzy znaki (np. NTRF – przelew, NCHG – opłata), w PKO BP litera N i trzycyfrowy kod operacji, w ING Business litera S i trzy cyfry.
  7. Referencja klienta — do 16 znaków nadanych przez zlecającego (np. identyfikator płatności z programu księgowego) albo NONREF, gdy jej brak.
  8. Referencja banku — po dwóch ukośnikach //.

Druga linia pola :61: bywa dodatkowym opisem, np. w mBanku numerycznym kodem operacji z nazwą (944-PRZEL.KRAJ.WYCH.MT.ELX).

Uwaga na podobne zapisy: w :61:2610021002CR10000,00 litera R nie oznacza storna, tylko trzecią literę waluty EUR — operacja to zwykłe uznanie. Storno ma literę R przed C lub D (RC, RD).

Co zawiera pole :86: i dlaczego każdy bank zapisuje je inaczej?

Pole :86: niesie to, czego najczęściej szukasz: tytuł przelewu, nazwę kontrahenta i jego rachunek. W komunikacie SWIFT to do 6 wierszy po 65 znaków, a wewnętrzny układ każdy bank opisuje we własnej dokumentacji formatu. Większość dzieli pole na numerowane podpola: na początku jest kod operacji banku, a dalej znacznik i dwucyfrowy numer podpola, np. ~20. Typowe podpola na przykładzie dokumentacji PKO BP:

PodpoleZawartość
~00Typ operacji — kod lub opis, zależnie od banku
~20–~25Tytuł operacji, do 27 znaków w każdym podpolu
~30Numer rozliczeniowy banku kontrahenta
~31Numer rachunku kontrahenta w jego banku (znaki 11–26 NRB)
~32–~33Nazwa i adres kontrahenta
~38Rachunek kontrahenta w formacie IBAN

Tytuł jest cięty na odcinki o stałej długości, więc słowo potrafi zaczynać się w ~20 i kończyć w ~21. Konwerter skleja pełne odcinki bez spacji, a krótsze ze spacją — tak samo jak parser w aplikacji fakturoza.pl.

Różnice między bankami według ich dokumentacji formatu:

Bank (system)Pole :86:Kodowanie polskich znaków
PKO BP (iPKO biznes)podpola po znaku ~; puste podpole wypełnia znak ASCII 255CP852
ING (ING Business)podpola po znaku ~; dwa pola :86: na transakcję, nazwa kontrahenta w ~32–~33CP852
Bank Millennium (wyciąg dla Przelewów VAT)podpola po znaku <; nazwa i adres kontrahenta w <27–<29CP852
mBankciągły tekst: części rozdzielone średnikiem, ze słowami kluczowymi „OD:”, „DLA:”, „TYT.:”ISO-8859-2

Gdy bank pisze opis wolnym tekstem, konwerter przenosi go w całości do kolumny „Tytuł”, a numer rachunku kontrahenta wyszukuje w treści.

Przykład: jedna transakcja :61: i :86: rozpisana na części

Fragment przykładowego wyciągu (przycisk „Wczytaj przykładowy wyciąg” powyżej):

:61:2609290929DN5350,00NTRFZAP-0929-01//2609290000003
:86:020~00PRZELEW WYCHODZĄCY~20Zapłata za FV/341/09/2026
~27DRUKARNIA ŚLĄZAK SP. J.
~3861109010140000071219812874
FragmentZnaczenie
260929data waluty: 29.09.2026
0929data księgowania: 29.09 (rok jak w dacie waluty)
Dobciążenie — pieniądze wypłynęły z rachunku
Ntrzecia litera waluty (PLN)
5350,00kwota: 5 350,00 zł (w CSV: −5350,00)
NTRFkod typu: przelew
ZAP-0929-01referencja klienta nadana przy zleceniu przelewu
2609290000003referencja banku
020kod operacji banku
~00PRZELEW WYCHODZĄCYopis typu operacji
~20Zapłata za FV/341/09/2026tytuł — tu numer opłaconej faktury
~27DRUKARNIA ŚLĄZAK SP. J.nazwa kontrahenta
~3861109010140000071219812874rachunek kontrahenta (IBAN bez kodu kraju)

W CSV ta operacja to jeden wiersz: data waluty 2026-09-29, kwota −5350,00, strona „Obciążenie”, kontrahent, rachunek PL61 1090 1014 0000 0712 1981 2874, tytuł i obie referencje. W ostatniej kolumnie zostaje oryginalne pole :86: — przydaje się, gdy bank zapisał coś nietypowo.

Gdzie pobrać wyciąg MT940 w banku?

MT940 jest dostępny przede wszystkim w bankowości internetowej dla firm, często jako osobno aktywowana usługa. Ścieżki potwierdzone w materiałach banków:

  • PKO Bank Polski, iPKO biznes — menu Rachunki → Raporty → Raporty standardowe. Do wyboru są formaty MT940, Elixir, Kontakt i XML camt.053. Raporty standardowe są dostępne za ostatni rok, a jednorazowo pobierzesz zakres do 3 miesięcy. Plik ma rozszerzenie .txt, a każdy dzień roboczy to osobny wyciąg; operacje z weekendu trafiają do wyciągu za następny dzień roboczy.
  • ING Bank Śląski, ING Business — na liście rachunków (albo na liście wyciągów) zaznacz pozycje i kliknij Pobierz wyciągi (MT940). Gotowe pliki są w Pliki do pobrania jako archiwum ZIP, które trzeba rozpakować. Lista przechowuje do 5 plików z ostatnich 2 dni.
  • mBank — usługę włącza się w serwisie transakcyjnym: Finanse → Historia → raport MT940 → Włącz Raport MT940. Usługa jest płatna; strona banku podaje 50 zł miesięcznie za jeden rachunek.

W innych bankach szukaj w bankowości firmowej opcji eksportu historii lub wyciągów do „systemów finansowo-księgowych”, „formatu MT940” albo „raportów plikowych”. Wyciąg w PDF albo historia operacji w CSV to inne formaty — konwerter ich nie odczyta.

Dlaczego w pliku MT940 są krzaczki zamiast polskich liter?

Bo banki zapisują MT940 w starszych, jednobajtowych stronach kodowych. PKO BP (iPKO biznes), ING (ING Business) i Bank Millennium podają w dokumentacji stronę kodową CP852, a mBank ISO-8859-2. Notatnik, Excel i większość programów domyślnie zakładają UTF-8 albo Windows-1250, więc „ł” czy „ą” zamieniają się w przypadkowe znaki.

Konwerter sprawdza, w którym kodowaniu (UTF-8, Windows-1250, ISO-8859-2, CP852) tekst zawiera polskie litery, a nie przypadkowe symbole, i wybiera właściwe. Rozpoznane kodowanie widać w podsumowaniu. CSV jest zawsze zapisywany w UTF-8, więc problem znika także przy dalszej pracy w Excelu.

W wyciągach PKO BP puste podpola :86: są wypełnione znakiem ASCII 255. W złym kodowaniu wygląda on jak „˙” albo „ÿ”. Konwerter traktuje takie podpole jako puste.

Jak sprawdzić, czy wyciąg MT940 jest kompletny?

Najpewniejszy test to rachunek salda. Dla każdego wyciągu musi zachodzić:

saldo początkowe (:60F:) + suma uznań − suma obciążeń = saldo końcowe (:62F:)

Konwerter liczy to w groszach (bez błędów zaokrągleń) i przy każdym wyciągu pokazuje „Zgodne” albo różnicę z saldem wyliczonym. Różnica oznacza zwykle, że plik został ucięty, ręcznie poprawiony albo zawiera tylko część wyciągu podzielonego na komunikaty z saldami pośrednimi.

Przy wielu wyciągach sprawdź też ciągłość:

  • Numeracja :28C: — w PKO BP i ING to kolejny numer wyciągu w danym roku; luka w numeracji oznacza brakujący wyciąg.
  • Saldo końcowe = saldo początkowe następnego wyciągu — jeśli się różnią, między nimi brakuje operacji.
  • Dni bez operacji — w części banków wyciąg dzienny powstaje tylko wtedy, gdy na rachunku była operacja (tak opisuje to Bank Millennium), więc brak dnia nie zawsze oznacza błąd.

Jak uzgodnić wyciąg MT940 z fakturami?

Uzgodnienie (rozliczenie) wyciągu polega na przypisaniu każdej operacji do dokumentu: wpływu do faktury sprzedaży, wydatku do faktury kosztowej, opłaty do kosztów bankowych. W Excelu najlepiej działa taka kolejność:

  1. Kwota i znak — wpływy dopasuj do kwot brutto otwartych faktur sprzedaży, wydatki do faktur kosztowych. Pamiętaj o zapłatach częściowych i o jednym przelewie za kilka faktur.
  2. Tytuł — wyszukaj numer faktury w kolumnie „Tytuł” (np. funkcją ZNAJDŹ lub filtrem tekstowym). Kontrahenci rzadko przepisują numer dokładnie, więc szukaj też fragmentu numeru bez prefiksu.
  3. Rachunek kontrahenta — gdy tytuł nic nie mówi, porównaj rachunek nadawcy z rachunkami kontrahentów w kartotece.
  4. Referencja klienta — przy przelewach wychodzących zleconych z programu księgowego referencja wraca w :61: i jednoznacznie wskazuje zlecenie.
  5. Opłaty i odsetki — operacje bez kontrahenta (kody typu NCHG, NCOM, NINT w mBanku) księguj jako koszty lub przychody finansowe.

Przelewy w mechanizmie podzielonej płatności mają tytuł o stałej budowie, opisanej w dokumentacji PKO BP: /VAT/23,00/IDC/1251251111/INV/FV 323-2018-02-22/TXT/tekst dowolny. Po znaczniku /VAT/ jest kwota podatku, po /IDC/ identyfikator dostawcy, po /INV/ numer faktury, a po /TXT/ dowolny tekst. Numer faktury wyciągniesz więc z tytułu bez zgadywania.

Po dopasowaniu operacji porównaj sumy: suma rozliczonych wpływów i wydatków plus nierozliczone pozycje musi dać obroty z podsumowania konwertera.

MT940 czy CAMT.053 — który format wybrać?

Oba formaty niosą te same informacje, różnią się budową. MT940 to tekst z polami oznaczonymi znacznikami, CAMT.053 to plik XML według normy ISO 20022 z jednoznacznie nazwanymi elementami (osobno nazwa kontrahenta, rachunek, tytuł). mBank udostępnia CAMT.053 jako odpowiednik MT940 od lipca 2024 r. w systemach CompanyNet, MultiCash i SWIFTNet, a PKO BP w iPKO biznes generuje raporty zarówno w MT940, jak i w XML camt.053.

Jeśli program księgowy obsługuje oba, CAMT.053 jest prostszy do automatycznego przetwarzania, bo nie wymaga zgadywania, które podpole :86: zawiera nazwę kontrahenta. Jeśli przyjmuje tylko MT940 albo chcesz po prostu obejrzeć operacje w arkuszu, wybierz MT940 — ten konwerter go odczyta.

Automatyczne rozliczanie wyciągów w fakturoza.pl

W fakturoza.pl wczytujesz wyciąg MT940, a system sam łączy uznania z fakturami sprzedaży i obciążenia z kosztami: po numerze faktury lub numerze KSeF w tytule, rachunku i NIP kontrahenta oraz kwocie. Automatycznie przypisuje tylko dopasowania jednoznaczne, resztę podpowiada do zatwierdzenia; obsługuje wpłaty częściowe i jeden przelew za kilka faktur. Import MT940 i rozliczanie wpłat są w planie Firma.

Najczęstsze pytania

Czy mój wyciąg jest gdzieś wysyłany?

Nie. Plik MT940 jest odczytywany i analizowany w całości przez JavaScript w Twojej przeglądarce. Treść wyciągu nie jest wysyłana na serwer fakturoza.pl ani do nikogo innego, a po zamknięciu karty nic nie zostaje zapisane.

Dlaczego po otwarciu CSV w Excelu wszystko jest w jednej kolumnie?

Excel otwierający CSV dwuklikiem dzieli kolumny według separatora listy z ustawień regionalnych systemu. Jeśli masz tam przecinek zamiast średnika, otwórz plik przez Dane → Z tekstu/pliku CSV i wybierz średnik jako ogranicznik.

Skąd krzaczki zamiast polskich liter w pliku MT940?

Banki zapisują MT940 w różnych stronach kodowych: PKO BP (iPKO biznes), ING Business i Millennium podają w dokumentacji CP852, mBank ISO-8859-2. Notatnik czy Excel zakładają zwykle inne kodowanie. Konwerter rozpoznaje je sam, a CSV zapisuje w UTF-8.

Co oznaczają RC i RD w polu :61:?

To storna. RC (reversal of credit) cofa wcześniejsze uznanie, więc zmniejsza saldo rachunku. RD (reversal of debit) cofa wcześniejsze obciążenie, więc saldo zwiększa. W CSV kwoty storn mają już właściwy znak, a kolumna Strona pokazuje rodzaj operacji.

Dlaczego kontrola salda pokazuje różnicę?

Najczęściej plik jest niekompletny: urwał się przy pobieraniu, został ręcznie edytowany albo zawiera wyciąg podzielony na części z saldami pośrednimi :60M: i :62M:. Pobierz wyciąg z banku ponownie i wczytaj wszystkie części razem.

Czy mogę wczytać kilka plików naraz?

Tak. Zaznacz lub przeciągnij kilka plików jednocześnie, np. wyciągi dzienne z całego miesiąca. Każdy wyciąg dostaje własny wiersz w tabeli wyciągów z kontrolą salda, a wszystkie transakcje trafiają do jednego pliku CSV z kolumnami Plik i Numer wyciągu.

Dlaczego Excel zamienia numer referencji na 3,37E+15?

Excel przechowuje liczby z dokładnością do 15 cyfr i dłuższy ciąg cyfr traktuje jak liczbę, zastępując końcowe cyfry zerami. Importuj CSV przez Dane → Z tekstu/pliku CSV i ustaw kolumny z referencjami jako Tekst — wtedy zachowasz wszystkie cyfry.

Czym różni się MT940 od CAMT.053?

MT940 to tekstowy format SWIFT z polami oznaczonymi znacznikami, CAMT.053 to wyciąg w XML według ISO 20022. Banki oferują oba: mBank udostępnia CAMT.053 jako odpowiednik MT940 od lipca 2024 r., PKO BP w iPKO biznes generuje oba formaty raportów.

Czy konwerter obsługuje raporty MT942?

Nie. Narzędzie czyta wyciągi MT940, które mają saldo początkowe :60F: i końcowe :62F:, bo na nich opiera się kontrola kompletności. Raport śróddzienny MT942 ma inną budowę — do rozliczeń księgowych pobierz z banku wyciąg dzienny MT940.

Dlaczego przy części transakcji brakuje nazwy kontrahenta?

Część banków nie dzieli pola :86: na podpola, tylko zapisuje opis jako ciągły tekst ze słowami kluczowymi, jak „DLA:” czy „TYT.:” w mBanku. Wtedy cały opis trafia do kolumny Tytuł, a rachunek kontrahenta jest wyszukiwany w tekście.

Źródła

Aktualizacja: . Opracowanie: zespół fakturoza.pl. Narzędzie i poradnik mają charakter informacyjny i nie zastępują porady prawnej ani podatkowej.