ConvertCSV

Finance file converter

BAI2 to OFX Converter

Convert BAI2 transaction records into OFX for accounting software that imports OFX. Upload a file or paste its contents, check the parsed transactions, then download the OFX file.

  • No signup
  • Files stay on your device
  • Transaction preview
  • Download ready

1 · Source

Add your BAI2 file

.bai2.ofx

2 · Result

Output preview

Nothing converted yet

A sample BAI2 file is loaded — press “Convert to OFX” to see how the output looks.

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.

Check before you import

Each conversion shows the parsed transactions with money in, money out, and date range, plus warnings about ambiguous dates or missing account details.

Private browser workflow

PDFs and text files are read by your browser and never sent to a server. Close the tab and the data is gone.

BAI2 to OFX Converter

Most US banks send BAI2 reports to corporate customers rather than to small accounts, and many accounting packages import bank activity from OFX instead. This converter bridges the two. It reads the transaction records of a BAI2 file and writes an OFX 1.0.2 file, with one <STMTTRN> block per transaction, so an OFX import screen can take the activity without hand entry.

The OFX file carries the posted date from the BAI2 as-of date, a signed amount in dollars, a name from the record text, and a bank reference as the transaction id. Amounts that came in cents are converted to dollars, and debits are negative. The conversion runs in your browser, so the BAI2 report is not uploaded.

Key features

  • Writes an OFX 1.0.2 SGML file with a header and one STMTTRN block per BAI2 transaction.
  • Converts cents to dollars and signs amounts by the BAI2 type code range.
  • Uses the BAI2 bank reference as the FITID, made unique within the file.
  • Shows a warning for type codes outside the known credit and debit ranges.
  • Previews the OFX before download and runs in the browser.

About the BAI2 to OFX format

A BAI2 transaction record gives a type code, an amount in cents, a bank reference, a customer reference and a text description. OFX needs a transaction type (DEBIT or CREDIT), a posted date, a dollar amount and a FITID. The converter sets the transaction type from the BAI2 type code range: 100 to 399 is credit and 400 to 699 is debit.

The OFX NAME field is limited to 32 characters. Longer BAI2 text is cut to 32 characters. The full text goes to MEMO only when the record has no customer reference, because MEMO holds that reference otherwise, so a long text can be shortened in the file. The bank reference becomes the FITID, and repeated references in one file get a numeric suffix.

How it works

The converter reads the BAI2 records and builds rows with a date, a signed dollar amount, a name, a memo and a reference, the same way the BAI2 to CSV converter does.

It then writes each row as an STMTTRN block, escaping special characters, and places the header with the bank identifier at the top of the file.

Common use cases

  • A US accountant has BAI2 reports from a corporate bank and an accounting package that only imports OFX.
  • A bookkeeper converts one week of BAI2 activity to test an import mapping before loading the month.
  • A small company with a corporate bank account imports daily BAI2 activity into its ledger each morning.

How to use this tool

  1. Download the BAI2 file from your bank’s reporting or SFTP folder.
  2. Open the BAI2 to OFX converter and upload the file or paste its text.
  3. Check the preview: the number of STMTTRN blocks should match the 16 records, and the dates should match the as-of date.
  4. Download the .ofx file and import it into your accounting software, then compare totals with the bank report.

Example

BAI2 (trimmed)

02,CUSTOMERX,BANKXXXX,1,260503,0900,USD,2/
16,475,3999,S,BK1001,CUST1,Cloud hosting invoice 4411/

OFX (transaction block, trimmed)

<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20260503
<TRNAMT>-39.99
<FITID>BK1001
<NAME>Cloud hosting invoice 4411
<MEMO>CUST1
</STMTTRN>

Tips for best results

  • Import a single day’s report first. It is a small file, so a mistake in the import mapping is quick to undo.
  • Compare the total of the TRNAMT values with the net change in the bank balance from the BAI2 summary records before importing.
  • Use the bank identifier field only if the importer asks for one. The converter does not read the routing number from the BAI2 file.
  • Keep the original BAI2 file. OFX cannot hold the full BAI2 record set, including the balance and summary records.

Common pitfalls

Trusting the placeholder header values. The currency is read from the 02 group header, and if that record has none, USD is written with no warning. The account number is always 00000000 and the ledger balance always 0.00, so check the total against the BAI2 summary records (49, 98 and 99) instead of the OFX.

Importing an unusual type code and assuming its sign is right. Codes outside the credit and debit ranges are written as positive amounts, and a warning is shown.

Combining several accounts in one file. OFX statements are per account, so split a multi-account BAI2 report before converting.

Expecting the funds-availability date. Only the as-of date is used, not any later availability date that the bank may include in its record.

Frequently asked questions

Does the OFX include the BAI2 type code?

No. The type code is used to set the sign and the DEBIT or CREDIT label. Bank-specific code descriptions are not written, so check the bank’s code list if you need them.

Can I use this for a personal bank account?

BAI2 is usually a corporate reporting format. If you have a personal account, the bank’s own OFX or CSV download is the simpler route.

For more background on data formats and conversion workflows, read our format guides.