BAI2 Wells Fargo
Describes how Wells Fargo BAI2 files are identified, parsed, and configured, including record structure, currency handling, continuation record differences, and supported configuration parameters.
How to identify this file: First line ends with 2/. Structurally identical to Truist BAI2 — currency is not in the bank header.
Record parsing
02 – Bank Header
Bank ID, as-of date → [2], [4] (no currency)
03 – Account Header
Account number, currency, sign → [1], [2], [4]
16 – Transaction Detail
Type code, amount, fund type, bank ref, customer ref → [1]–[5] (varies)
88 – Continuation
Narrative text → full line
Currency handling
Uses the Java platform Currency class (same as Citibank). Correctly handles all standard ISO 4217 currencies. No hardcoded map.
Minor difference vs Citibank and Truist in continuation record handling
When stripping the trailing / from a continuation line, Citibank and Truist strip the last 2 characters; Wells Fargo strips only the last 1 character. This matters when a continuation line ends exactly at the / with no trailing space.
Configuration parameters
allowed_detail_type_codes: Process only specified transaction types
remove_preceding_zeroes_from_bank_account_no: Strip leading zeros from account number
detail_type_code_to_mode_map: Map detail type codes to payment modes (e.g., wire, ACH)
What is parsed: Same fields as Truist BAI2
What is not parsed: Currency from bank header, FX rates, bank charges