MT103 fields to check first
| Field | What is checked |
|---|---|
:20: | Transaction reference exists and does not exceed the built-in 16-character check. |
:23B: | Bank operation code is present for the payment instruction. |
:32A: | YYMMDD value date, three-letter currency and comma-decimal positive amount. |
:50A/F/K: and :59: | Ordering customer and beneficiary, with applicable basic address and identifier checks. |
:71A: | Charges field is present. |
Common MT103 format errors
- Missing application header: a body-only fragment cannot be identified as MT103. Include
{2:I103...}or{2:O103...}. - Missing or misplaced tags: use a new line for each field, such as
:32A:. - Invalid amount/date: check the six-digit date and comma decimal in field
:32A:. - Incomplete block 4: FIN text block should finish with
-}.
See how :32A: maps to ISO 20022
Need the XML equivalent? Read the MT103 vs pacs.008 mapping guide or convert a supported MT103 to a reviewable pacs.008 draft.
Not a SWIFT network certification. The checker performs FinMessage's built-in structural rules. It does not replace complete FIN validation, network releases, CBPR+ rules or bank-specific requirements.
Data handling
Use authorized or redacted payment data only. Successful message actions and their source are saved to account or anonymous history, which can be reviewed or deleted in the workspace.