Welcome to Zuora Product Documentation

Explore our rich library of product information

BAI2 TRUIST

Describes how Truist BAI2 files are identified, how records are parsed, and how fund type and currency handling differ from the Citibank BAI2 variant.

How to identify this file: First line ends with 2/. Currency does not appear in the bank header — it must be set at the account level (03, record, token[2]) or fall back to the configured default.

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

Fund type handling

  • Identical to BAI2 (Citibank variant)

  • Covers:

    • Standard (Z, 0, 1, 2, blank)

    • Value date (V)

    • Scheduled (S)

Currency handling

Truist uses a hardcoded static currency-to-decimal-places map (not the Java platform Currency class). The map covers most ISO 4217 currencies. If the currency code is not in the map, decimal places default to 0, meaning the amount will be treated as a whole number — this can cause incorrect amounts for unknown currencies.

Key difference vs Citibank

Truist's bank header (02) does not include a file-level currency. Currency always comes from the 03 account header or the configured default.

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 Citibank BAI2

What is not parsed: Currency from bank header, FX rates, bank charges, original amounts

If your Truist file uses a currency code that is not in the static map, the amount decimal will be wrong. Citibank and Wells Fargo use the Java platform currency map which stays current with ISO 4217 updates; Truist does not.