ValidateFin
Powrót do bloga
BAI2 → camt.0536 min czytaniaAutor: Eliel Nicaise

BAI2 na camt.053: amerykańskie i kanadyjskie wyciągi bankowe

BAI2 to dominujący format wyciągów bankowych w USA i Kanadzie. Poznaj jego mapowanie na ISO 20022 camt.053 i przekonwertuj go za darmo w przeglądarce.

Zweryfikuj swój plik teraz

Za darmo, natychmiast i w 100% w przeglądarce - żaden plik nie jest przesyłany.

Otwórz BAI2 Viewer & Converter

Czym jest plik BAI2?

BAI2 to format "Cash Management Balance Reporting" opublikowany przez Bank Administration Institute (BAI). Wersja 2 ukazała się w 1987 roku i pozostaje dominującym formatem wyciągów bankowych na koniec dnia w Stanach Zjednoczonych i Kanadzie — północnoamerykańskim odpowiednikiem europejskiego formatu SWIFT MT940. Banki wykorzystują go do dostarczania raportów o saldach i transakcjach do systemów ERP oraz systemów zarządzania płynnością.

Plik BAI2 to hierarchia rekordów numerycznych, z których każdy zapisany jest jako wiersz z wartościami rozdzielonymi przecinkami i zakończony ukośnikiem (/): rekord 01 File Header obejmuje jeden lub więcej rekordów 02 Group Header, każda grupa obejmuje jeden lub więcej rekordów 03 Account Identifier, a każdy rachunek zawiera swoje wiersze 16 Transaction Detail (z rekordami 88 Continuation, gdy wiersz nie mieści się w jednej linii). Dwie osobliwości BAI2 sprawiają początkującym trudność: kwoty wyrażane są jako pełne jednostki podrzędne bez separatora dziesiętnego (10000 oznacza 100.00 w walucie dwucyfrowej, takiej jak USD czy EUR, ale 100 pełnych jednostek w JPY oraz 10.000 w walucie trzycyfrowej, takiej jak KWD czy BHD), a kierunek debet/kredyt nie jest znacznikiem, lecz numerycznym kodem typu — 100–399 dla kredytów, 400–699 dla debetów.

Podobnie jak MT940, BAI2 nie posiada schematu XSD, dlatego podstawową kontrolą integralności jest kontrola arytmetyczna. Rekord 03 Account Identifier zawiera salda oznaczone kodem numerycznym — 010 dla salda księgowego otwarcia i 015 dla salda księgowego zamknięcia (040/045 to salda dostępne) — a poprawnie utworzony plik się bilansuje: saldo księgowe otwarcia powiększone o wynik netto wszystkich transakcji musi być równe saldu księgowemu zamknięcia. Plik, który się nie bilansuje, zawiera zgubiony, zduplikowany lub błędnie oznaczony wiersz.

Rekordy wewnątrz pliku BAI2

Plik BAI2 jest zbudowany z niewielkiego zestawu numerycznych kodów rekordów, które zawsze zagnieżdżają się w tej samej kolejności. Oto te, które opisują plik, grupy, rachunki, salda oraz transakcje.

01 — File Header

Otwiera plik. Zawiera identyfikatory nadawcy i odbiorcy, datę i godzinę utworzenia oraz numer identyfikacyjny pliku.

02 — Group Header

Rozpoczyna grupę rachunków dla jednego nadawcy/odbiorcy i danej daty księgowania. Plik może zawierać kilka grup.

03 — Account Identifier

Identyfikuje rachunek i wymienia jego salda według kodu numerycznego: 010 saldo księgowe otwarcia, 015 saldo księgowe zamknięcia, 040/045 salda dostępne, każde z kwotą wyrażoną w pełnych jednostkach podrzędnych.

16 — Transaction Detail

Jeden rekord na transakcję: numeryczny kod typu określający kierunek (100–399 kredyt, 400–699 debet), kwota w pełnych jednostkach podrzędnych, referencja bankowa oraz opis tekstowy.

88 — Continuation

Kontynuuje poprzedzający rekord, gdy jego zawartość nie mieści się w jednym wierszu — najczęściej dotyczy to opisu wolnym tekstem transakcji 16.

49 / 98 / 99 — Trailers

Zamykają poszczególne poziomy i zawierają sumy kontrolne: 49 to Account Trailer, 98 to Group Trailer, a 99 to File Trailer na samym końcu.

Jak BAI2 mapuje się na ISO 20022 camt.053

camt.053 (Bank-to-Customer Statement) to nowoczesny następca BAI2 w formacie XML ISO 20022. Tam, gdzie BAI2 upakowuje saldo w zwięzłym rekordzie w rodzaju 03,123456789,USD,010,10000,,,015,12500,,/, camt.053 wyraża tę samą informację jako ustrukturyzowane elementy <Bal> z jawnymi kodami typu (OPBD dla salda otwarcia, CLBD dla salda zamknięcia), kwotę z atrybutem waluty, wskaźnik kredyt/debet oraz datę. Jest to XML, znacznie bogatszy niż BAI2, walidowany względem oficjalnego XSD zamiast bilansowany ręcznie.

Mapowanie jest bezpośrednie w zakresie elementów podstawowych: rekord 03 Account Identifier staje się rachunkiem camt.053 wraz z jego blokami sald OPBD i CLBD, a każdy rekord 16 Transaction Detail staje się elementem <Ntry> (zaksięgowanym wpisem) z kwotą, datą księgowania, opisem jako informacją remittance oraz — co kluczowe — wskaźnikiem CdtDbtInd wyprowadzonym z kodu typu BAI2 (100–399 → kredyt, 400–699 → debet). Kwota wyrażona w pełnych jednostkach podrzędnych jest przeliczana na właściwą wartość dziesiętną z uwzględnieniem liczby miejsc dziesiętnych danej waluty.

Właśnie dlatego migracja ma praktyczne znaczenie: nowoczesne platformy ERP i systemy zarządzania płynnością (SAP, Kyriba i inne) coraz częściej standaryzują import wyciągów na camt.053, niezależnie od tego, gdzie prowadzony jest rachunek. Północnoamerykańskie zespoły finansowe korzystające ze strumieni BAI2 potrzebują niezawodnego sposobu ich konwersji, aby ten sam wyciąg przechodził przez ten sam potok ISO 20022 co ich rachunki europejskie.

Konwersja BAI2 na camt.053 bez przesyłania danych

Konwersja jest użyteczna tylko wtedy, gdy wynikiem jest poprawny camt.053, który Twój system ERP rzeczywiście zaakceptuje. Kluczem jest przeniesienie rzeczywistych sald otwarcia i zamknięcia wprost z kodów 010/015, przeliczenie kwot z pełnych jednostek podrzędnych z uwzględnieniem miejsc dziesiętnych waluty, tak aby 10000 USD stało się 100.00, oraz wierne wyprowadzenie wskaźnika debet/kredyt z każdego kodu typu 16 — kod 400–699 staje się wpisem debetowym, kod 100–399 kredytowym — aby nic nie zostało błędnie oznaczone. Zakresy niejednoznaczne (700+ pożyczki, 900+ kody własne banku) są oznaczane, a nie zgadywane.

Równie ważne jest to, czego NIE wysyłasz nigdzie. Wyciąg bankowy to dane wrażliwe: numery rachunków, kontrahenci, kwoty. ValidateFin parsuje i konwertuje BAI2 w całości w Twojej przeglądarce — plik nigdy nie opuszcza Twojego urządzenia, nie ma przesyłania, a nic nie jest przechowywane na serwerze. To różnica między szybkim wklejeniem i konwersją a wysłaniem wyciągu mailem do usługi zewnętrznej.

Przed konwersją narzędzie bilansuje również wyciąg: saldo księgowe otwarcia (010) powiększone o wynik netto transakcji musi być równe saldu księgowemu zamknięcia (015). Jeśli się nie zgadzają, otrzymujesz ostrzeżenie zamiast po cichu uszkodzonego pliku camt.053 — to ta sama kontrola arytmetyczna, którą starannie wykonałby ręcznie analityk płynności.

Przekonwertuj swój plik BAI2 na camt.053 już teraz

Przeciągnij plik BAI2 do przeglądarki BAI2 ValidateFin, aby zobaczyć salda i transakcje, a następnie wyeksportuj poprawny wyciąg camt.053.001.02 — w całości w swojej przeglądarce. Żaden plik BAI2 nigdy nie jest przesyłany na serwer.

Otwórz przeglądarkę i konwerter BAI2

Często zadawane pytania

Czym jest plik BAI2?

BAI2 to format Cash Management Balance Reporting opracowany przez Bank Administration Institute, wersja 2, wydany w 1987 roku. Jest to dominujący format wyciągów bankowych na koniec dnia w Stanach Zjednoczonych i Kanadzie — północnoamerykański odpowiednik europejskiego formatu SWIFT MT940.

Jaka jest różnica między BAI2 a MT940?

Oba to starsze, pozbawione schematu tekstowe formaty wyciągów bankowych. MT940 to standard SWIFT używany głównie w Europie, z polami oznaczanymi znacznikami w dwukropkach i literowym oznaczeniem debet/kredyt. BAI2 dominuje w USA i Kanadzie, wykorzystując zagnieżdżone numeryczne kody rekordów (01/02/03/16…) oraz numeryczny kod typu — a nie znacznik — dla określenia kierunku. Oba są zastępowane przez ISO 20022 camt.053.

Czy mogę przekonwertować BAI2 na camt.053 za darmo?

Tak. Narzędzie BAI2 ValidateFin odczytuje plik BAI2 i eksportuje poprawny wyciąg camt.053.001.02 za darmo, w całości w Twojej przeglądarce. Bez rejestracji i bez przesyłania.

Czy mój wyciąg bankowy jest przesyłany na serwer?

Nie. Plik BAI2 jest odczytywany, parsowany i konwertowany w całości w Twojej przeglądarce za pomocą JavaScript. Żadne dane wyciągu nigdy nie są wysyłane na serwer ani na nim przechowywane.

W jaki sposób BAI2 koduje debet lub kredyt?

Za pomocą numerycznego kodu typu w rekordzie 16 Transaction Detail, a nie za pomocą znacznika: 100–399 to kredyty, a 400–699 to debety. Kody 700 i wyższe (pożyczki) oraz 900 i wyższe (kody własne banku) są niejednoznaczne i nie można ich sklasyfikować wyłącznie na podstawie zakresu.

Skąd mam wiedzieć, że plik BAI2 jest poprawny?

BAI2 nie posiada schematu, dlatego podstawową kontrolą jest kontrola arytmetyczna: saldo księgowe otwarcia (kod 010) powiększone o wynik netto wszystkich transakcji musi być równe saldu księgowemu zamknięcia (kod 015). Jeśli się nie bilansuje, oznacza to, że jakiś wiersz został zgubiony, zduplikowany lub błędnie oznaczony.

Dlaczego warto konwertować BAI2 na camt.053?

camt.053 to wyciąg w formacie XML ISO 20022, walidowany względem oficjalnego schematu i znacznie bogatszy niż zwięzłe rekordy numeryczne BAI2. Nowoczesne systemy ERP i systemy zarządzania płynnością (SAP, Kyriba) coraz częściej importują wyłącznie camt.053, dlatego konwersja BAI2 pozwala rachunkom północnoamerykańskim przechodzić przez ten sam potok co rachunki europejskie.

Czy konwerter obsługuje pliki z kilkoma rachunkami?

Tak. Parser odczytuje każdą grupę i każdy rachunek (02/03) w pliku, a przeglądarka wyświetla każdy z nich; eksport camt.053 obejmuje pierwszy rachunek — typowy przypadek migracji jeden plik–jeden rachunek.