Designed for finance exports
The parser recognises date, description, amount, debit/credit, memo, category, and transaction id fields, including headers like Narration or Withdrawal Amt. used by many banks.
Finance file converter
Export BAI2 transaction records to an Excel workbook with amounts in dollars. Upload a file or paste its contents, check the parsed transactions, then download the XLSX file.
1 · Source
2 · Result
Nothing converted yet
A sample BAI2 file is loaded — press “Convert to XLSX” to see how the output looks.
The parser recognises date, description, amount, debit/credit, memo, category, and transaction id fields, including headers like Narration or Withdrawal Amt. used by many banks.
Each conversion shows the parsed transactions with money in, money out, and date range, plus warnings about ambiguous dates or missing account details.
PDFs and text files are read by your browser and never sent to a server. Close the tab and the data is gone.
A BAI2 report is designed for machines. Its records are comma-separated, its amounts are in cents, and a reviewer has to know the type-code tables to read a single line. This BAI2 to Excel Converter reads the transaction records and writes them to an .xlsx workbook with dollar amounts and dates, so the report opens in a grid that finance staff can sort and total.
The workbook has one sheet named BAI2. Amounts are stored as numbers in dollars, the date is the as-of date from the group header, and the bank reference and customer reference sit in their own columns. The conversion runs in your browser, so the BAI2 file is not uploaded.
Each 16 record becomes one worksheet row. The amount is the cents value divided by 100 and signed by the type code: codes 100 to 399 are credits (positive) and codes 400 to 699 are debits (negative). The date is the as-of date from the 02 group header, written as an ISO date.
Continuation text from 88 records is concatenated onto the description of the transaction it follows, with no separator added. A line break in the source therefore leaves no space in the cell.
The converter reads the file the same way as the BAI2 to CSV converter: it finds the group date, reads each 16 record, and joins its 88 continuation text. The rows are then written to the workbook.
Only the Amount column is converted to a number for the workbook, so the Description, Memo and ID columns stay as text.
BAI2 (trimmed)
02,CUSTOMERX,BANKXXXX,1,260503,0900,USD,2/
16,475,3999,S,BK1001,CUST1,Cloud hosting invoice 4411/Workbook, sheet BAI2
Date | Description | Amount | Memo | Category | ID | Type
2026-05-03 | Cloud hosting invoice 4411 | -39.99 | CUST1 | | BK1001 | 475Expecting the account number in every row. BAI2 account numbers sit in the 03 record, and the workbook does not carry them. Name the file after the account.
Trusting unusual type codes without checking them. Codes outside the credit and debit ranges are kept as positive amounts, and the converter shows a warning when that happens.
Expecting totals or formatting from the bank. The sheet holds values only, with no totals row and no currency symbol.
Why does a debit show a negative number?
The type code tells the converter whether the money came in or went out. A debit (code 400 to 699) is written as a negative amount so that a column total gives the net effect on the account.
Are the dates in the workbook the transaction dates?
BAI2 transaction records do not carry their own dates. The workbook uses the as-of date from the group header, which is the reporting date for those transactions.
For more background on data formats and conversion workflows, read our format guides.