🔒 Private by design — your files are processed in your browser and never uploaded
BAI2 to QBO Converter
Turn a BAI2 cash management file into a QuickBooks Web Connect (.qbo) or .ofx file you can import directly. Free, no signup, no file size limit.
🔒 Your file never leaves your computer — parsing happens in your browser
Drop your BAI2 file hereor click to choose · .bai, .bai2 and .txt accepted
.bai.bai2.txt
Why BAI2 does not import into QuickBooks on its own
QuickBooks does not know what a BAI2 record is — it expects OFX SGML wrapped in a
.qbo file. A BAI2 statement is a sequence of coded lines: 01/02
headers, 03 account identifiers with balances, 16 transaction detail records,
and 88 continuation lines, with amounts stored in cents and direction implied by a three
digit type code (100–399 credit, 400–699 debit). None of that means anything to QuickBooks's import
screen, which is why banks that only offer BAI2 downloads leave QuickBooks users stuck.
This converter parses the BAI2 file the same way the Excel version does — decoding type codes like
195 (Incoming Money Transfer) and 475 (Check Paid), joining 88 continuation text back onto
its transaction, and converting cents to decimal amounts — then builds a proper OFX <STMTTRN>
block per transaction with a mapped TRNTYPE and a unique FITID.
What QuickBooks Web Connect needs
FITID deduplication — every transaction needs a unique financial institution transaction ID, or QuickBooks silently drops it as a repeat. FITIDs here are built from the BAI2 bank reference or customer reference, falling back to date+amount when neither is present.
TRNTYPE mapping — BAI type codes and descriptions are mapped to OFX types (CHECK, XFER, DIRECTDEBIT, DEP, FEE, INT) so QuickBooks categorizes transactions sensibly instead of dumping everything as generic debits/credits.
<INTU.BID> caveat — QuickBooks Desktop only accepts a .qbo file when INTU.BID matches a financial institution it recognizes. If you don't have your bank's value, use the .ofx download instead, which has no such requirement and imports into Quicken, Xero, Wave, MoneyMoney and most accounting tools.
Fields carried into the OFX file
Amounts as real numbersCents are converted to decimal values and debits are written as negative, matching QuickBooks's expected sign convention.
Type codes decodedCodes like 175, 195, 475 and 451 become both a human-readable memo and a mapped OFX TRNTYPE.
Multi-account files splitEach BAI2 account becomes its own <STMTTRNRS> block, so a file covering several accounts imports cleanly.
Balances includedThe closing ledger balance from the 03 record is written into <LEDGERBAL> so QuickBooks can flag mismatches.
Frequently asked questions
Is my bank statement uploaded to a server?
No. Parsing and OFX/QBO generation both happen in your browser. There is no upload endpoint
— check your browser's network tab during a conversion and you will see no requests.
What if QuickBooks rejects my .qbo file?
This is almost always the <INTU.BID> value. QuickBooks Desktop validates it against a
list of known financial institutions. Download the .ofx file instead — it uses the same transaction data
but skips the INTU.BID check entirely and QuickBooks Online, Quicken and most other software accept it.
Will I get duplicate transactions if I re-import?
No, as long as the underlying BAI2 file has a bank reference or customer reference on each
transaction — the FITID is derived from it, so QuickBooks recognizes a re-import as the same transactions
and skips them rather than duplicating.
Can I still get Excel or CSV from this same file?
Yes — the Excel, CSV and semicolon CSV buttons above use the same parsed data, so you can
download whichever format you need without re-uploading anything.
Related converters
Convert BAI2 to ExcelCents converted to decimals, type codes decoded into readable columns.
Convert BAI2 to CSVComma or semicolon CSV with a UTF-8 BOM, ready for Excel or accounting import.