Direct answer
BAI2 is a specified cash-management file with headers, type codes, availability, and control-total trailers. CSV is a table without that specification. You convert BAI2 to CSV so Excel can filter. You should not throw the BAI2 away until the control totals have been checked, because the CSV may have already dropped a continuation record or mangled an account number. F20 FinanceOps writes CSV or Excel and keeps the tie-out as a visible issue. Excel cannot do that by 'opening' the .bai file.
The search 'convert BAI2 to CSV' is usually typed by someone who has just watched Excel put the entire file in column A. They are not asking for a lecture on BAI record 03. They still need to know that CSV is a lossy view of BAI2, in the same way a trial balance is a lossy view of the GL.
Lossy is acceptable when you know what you lost. It is not acceptable when the import into the ERP is successful and the money is short. If you cannot point at the BAI2 trailer that justified the CSV total, you are reconciling a rumour. Keep the source file until the period is signed. Do not skip that archive.
What BAI2 has that CSV does not
A mandatory nesting of file, group, account. Trailers that say what the sums should be. Funds-type / availability buckets. Type codes that are the transaction's meaning, not a description a human typed.
CSV has columns if the converter invented them well. It has no standard. One converter's 'Amount' is signed. Another's is absolute with a debit/credit flag. F20's download is a view. Re-read the issues before you treat it as the bank.
What CSV has that BAI2 does not
Pivot tables. Filters. A junior analyst can use it. Import wizards. That is why conversion exists. The job is not 'kill BAI2'. The job is 'make a checkable table'.
Comparison
Keep both until the recon signs.
| Need | Keep BAI2 | CSV is enough |
|---|---|---|
| Prove the bank's control totals | Yes | Only if the converter checked them |
| Sort by description | Painful | Yes |
| Re-parse later with a better tool | Yes | Maybe not |
| Email to a colleague who only has Excel | They will hate you | Yes, after you strip accounts if policy requires |
Workflow
Convert on F20. If control totals fail, stop and look at issues before anyone loads the CSV into NetSuite. If they pass, download, set account columns to text in Excel, then reconcile.
Pricing and privacy
F20 conversion is free and not stored. Do not paste BAI2 into an anonymous web form you have not read.
Limitations
F20's CSV is not a NACHA file, not OFX, not QBO. If the destination is QuickBooks Desktop, see BankXLSX's QBO claims, not this page.
A bad import, narrated
The converter wrote CSV. Excel opened it and turned account 000123 into 123. The ERP import 'succeeded' with a different account. The recon is out by the entire population of that account, and everyone blames the bank. The bank's BAI2 was fine. The grid was not.
The converter dropped 88 continuation text. Payments from the same counterparty now share a truncated narrative. Fuzzy matching later collapses two wires into one. The original BAI2 still had the full addenda. Nobody kept it.
Those two stories are why this page exists. CSV is the working copy. BAI2 is the source. F20's issue list is the bridge. Delete the source only after the period is signed, if policy even allows that. A shared drive folder named BAI2_archive is not glamorous. It is how you rerun last month when the CSV you emailed has already been 'cleaned'.
Methodology
Engine and catalog. BankXLSX BAI page as a second official description of why BAI2 is painful in Excel.
Where F20 FinanceOps is a better fit
- You need BAI2 turned into CSV/Excel with the control-total check still attached as an issue list.
- You will recon those rows next, on F20 or in the GL.
Where another option is a better fit
- The bank already delivers a trustworthy CSV and you do not need type codes or availability: skip BAI2.
- You need QBO: not F20's CSV.
- You need a desktop explorer of the BAI tree: BAI2 File Explorer as they describe it.
- You already receive a bank CSV that preserves account numbers as text and you have checked it against the portal totals: you may not need BAI2 this period, though you should still keep one tagged file as evidence.
FAQ
CSV is a projection. Accuracy is whether the projection preserved amounts, signs, accounts and population. The BAI2 remains the bank's file.
Excel. Import as text. The converter did not necessarily destroy them; the spreadsheet did.
F20 does not. You would be inventing trailers. Do not do that for a bank.
Unknown codes should be kept, not dropped. If a row looks missing, read issues rather than assuming the type code was ignored. A type code you do not recognise is still a transaction. Mapping it to 'other' in a spreadsheet and then deleting the BAI2 is how the unknown becomes unrecoverable.
/samples/bai2
Sources
- F20 FinanceOps policies — F20 FinanceOps. Verified. Uploaded files are processed in memory and dropped when the response is sent. There is no charge to run a tool. Output is not professional advice.
- BAI to Excel Converter: Convert BAI2 Files to CSV — BankXLSX. Vendor claim. BankXLSX states the BAI2 parse runs in the browser and reconciles 49, 98 and 99 control totals. The same page also mentions encryption in transit and deleting uploaded files, so the privacy path is not independently settled here.
Convert BAI2 to CSV — Read the control-total issues before you trust the download. Import account numbers as text in Excel so leading zeros survive, and keep the original BAI2 until the recon is signed.