Turn a BAI2 cash management file into a clean Excel or CSV spreadsheet. Free, no signup, no file size limit.
.bai, .bai2 and .txt accepted
A BAI2 file looks like a spreadsheet at first glance — it is comma separated, after all — so the
obvious move is to rename it .csv and open it. That produces a mess, because BAI2 is not
a table. It is a record format: every line starts with a two digit record code that changes
the meaning of every field after it. Excel has no idea that 16 means "transaction detail"
and 03 means "here is a new account", so it stacks unrelated data into the same columns.
Two more details break naive imports. Amounts are stored in cents with no decimal point,
so a $100,000.00 wire appears as 10000000. And whether a line is money in or money out is
not a separate field at all — it is encoded in the type code, where 100–399 means credit
and 400–699 means debit. This converter handles all three problems.
01 — File header: sender, receiver, creation date02 — Group header: as-of date and currency03 — Account identifier, plus opening/closing ledger and available balances16 — Transaction detail: type code, amount, bank reference, customer reference, text88 — Continuation: appended to the previous record so long descriptions stay intact49 / 98 / 99 — Account, group and file trailersA raw BAI2 transaction record looks like this:
16,195,10000000,0,WIRE55021,PO-2231,INCOMING WIRE ACME CORP LTD/ 88,ADDITIONAL REMITTANCE DETAIL FOR ACME INVOICE 2231/
After conversion it becomes a single row: type 195 — Incoming Money Transfer, direction CREDIT, amount 100000.00, bank reference WIRE55021, customer reference PO-2231, with the continuation text merged into the description.
No. There is no server component and no upload endpoint. The file is read by JavaScript in your own browser. Open your browser's network tab while converting and you will see no requests. You can also save the page and run it with no internet connection at all.
BAI2 (version 2) as issued by US banks for corporate cash management. Files from Citibank, Bank of America, Wells Fargo, JPMorgan Chase, PNC and US Bank all follow the same record structure, so they parse the same way.
BAI2 stores amounts in the currency's minor unit — cents for USD. This tool divides by 100 automatically. If you previously imported the file straight into Excel, that is why the numbers looked a hundred times too large.
The Excel download is SpreadsheetML (.xls), which Excel, LibreOffice and
Google Sheets all open natively and which keeps amounts typed as numbers. If you need
.xlsx specifically, open the file and use Save As.