Build a transaction-code crosswalk between BAI2 type codes and ISO 20022 camt.053 Bank Transaction Codes for unified reconciliation, given that no single official standard mapping exists
domain: iso20022.org · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Parse each BAI2 transaction detail record's three-digit numeric type code from the statement file, using your bank's specific BAI2 code list since implementations vary
Parse each camt.053 entry's BkTxCd element into its Domain, Family, and Sub-Family components, referencing the ISO 20022 external code sets (ExternalBankTransactionFamily1Code, ExternalBankTransactionSubFamily1Code) that define the valid values
Build your own crosswalk table mapping each BAI2 code your bank actually sends to the corresponding camt.053 Domain/Family/Sub-Family combination, validated against real sample files from that specific bank rather than a generic mapping
Treat the newer ASC X9 BTRS standard, the eventual successor to BAI2, as a useful reference for cross-associating codes to ISO 20022/camt/SWIFT MT, but confirm your bank has actually adopted it before relying on its mappings
Version your crosswalk table per bank connection, since two banks can use the same BAI2 code for meaningfully different transaction types
Known gotchas
There is no single official, universally accepted crosswalk between BAI2 codes and ISO 20022 camt.053 Bank Transaction Codes; banks publish their own proprietary mapping tables, and coverage and accuracy vary between them
The same BAI2 numeric code can mean different things at different banks in practice, so a crosswalk built from one bank's sample files will not necessarily transfer correctly to another bank's BAI2 feed
camt.053's Domain/Family/Sub-Family external code sets are versioned and can be updated by ISO 20022's maintenance process, so a crosswalk built against an older code-set snapshot can drift out of sync with the values a bank starts sending after a code-set update
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?