SWIFT MT103 Required Fields Parser
Parse normalized bounded MT103 block-four tags/continuations and required tag-group presence, extracting exact currency/amount text without floating conversion; wrappers, full FIN field grammar, date-century validity and transfer authenticity are not certified.
Description
An MT103 customer-transfer message block-four parser reads tags and continuation lines from one normalized message.
An MT103 customer-transfer message block-four parser reads tags and continuation lines from one normalized message. Required-group presence is distinct from full FIN validity or payment authenticity.1
The returned values include Observed tag names, Missing required tag groups, Required tag groups present, Transaction reference, Value date y y m m d d, Currency code, Amount decimal text. The How section below explains the calculation, input rules and interpretation.
When to use SWIFT MT103 Required Fields Parser
Use SWIFT MT103 Required Fields Parser when you need to evaluate the supplied records under the calculation and evidence rules below. No full field grammar, real value date, currency precision, wrapper parsing or transfer authenticity is certified.
Prepare observed financial records and verified caller terms. Use one currency for integer minor-unit money and preserve leading zeros in identifier text. One basis point is 0.01 percentage points. Resolve dates, local clocks, counting rules and evidence flags as specified.
How to use SWIFT MT103 Required Fields Parser and understand its results
- Prepare observed financial records and verified caller terms. Use one currency for integer minor-unit money and preserve leading zeros in identifier text. One basis point is 0.01 percentage points. Resolve dates, local clocks, counting rules and evidence flags as specified.
- Enter normalizedMt103BlockFour using the field table and calculation rules, then run the tool.
- Read observedTagNames, missingRequiredTagGroups, requiredTagGroupsPresent, transactionReference, valueDateYYMMDD, currencyCode, amountDecimalText. The explanation below defines the units, signs, ordering and any flags or placeholder values.
- If the tool reports an input issue, correct the values and run it again. Apply the stated assumptions when interpreting a successfully returned result.
| Input field | Meaning | Value type; see rules below | Requirement |
|---|---|---|---|
| normalizedMt103BlockFour | Normalized mt103 block four | string | Required |
Enter block-four text at most 16384 UTF-16 units, without FIN wrappers. Normalize CRLF to LF, reject remaining CR, empty lines, continuation before a tag, duplicate tags and coexistence of required option tags. Tags match two digits plus optional uppercase letter. Nonempty continuation lines append to the current value. Required groups need nonblank values. If 32A occurs, require six date digits, three uppercase currency letters and a comma-decimal amount at most 15 characters (1–14 whole digits, 0–13 fractional digits). Return insertion-ordered tag names, missing group names and presence flag, reference text, date/currency and exact decimal amount text; absent 32A yields empty extracted strings. Preserve trailing fractional zeros and convert comma to a dot, removing a terminal comma.
required groups:20;23B;32A;50A/50F/50K;59/59A/59F;71A Units, indexing, boundary conditions and exceptional cases are defined in the calculation rules above.
| Output field | Meaning | Value type |
|---|---|---|
| observedTagNames | Observed tag names | list of string |
| missingRequiredTagGroups | Missing required tag groups | list of string |
| requiredTagGroupsPresent | Required tag groups present | boolean |
| transactionReference | Transaction reference | string |
| valueDateYYMMDD | Value date y y m m d d | string |
| currencyCode | Currency code | string |
| amountDecimalText | Amount decimal text | string |
{
"input": {
"normalizedMt103BlockFour": ":20:TESTREF\n:23B:CRED\n:32A:250101USD100,00\n:50K:TEST SENDER\n:59:TEST RECEIVER"
},
"output": {
"observedTagNames": [
"20",
"23B",
"32A",
"50K",
"59"
],
"missingRequiredTagGroups": [
"71A"
],
"requiredTagGroupsPresent": false,
"transactionReference": "TESTREF",
"valueDateYYMMDD": "250101",
"currencyCode": "USD",
"amountDecimalText": "100.00"
}
} Limitations and assumptions
No full field grammar, real value date, currency precision, wrapper parsing or transfer authenticity is certified.
Numeric inputs, where present, must be finite. Follow the calculation-specific rules for overflow, underflow and exceptional cases. Extremely large text inputs are rejected. Missing required fields, extra fields, wrong value types and violations of the calculation rules are input errors. A successfully returned false flag is an evaluated outcome; its meaning is explained above.
Alternative or Complementary methods
Use BIC SWIFT Code Structure Validator: A BIC parser separates institution, country, location and optional branch text. A syntactic match does not establish assignment or reachability. For a complementary task, use MICR Line Routing Account Parser: Normalized MICR notation separates routing, account and check serial text. Explicit delimiters preserve leading zeros without guessing an OCR layout.
References
-
SWIFT MT103 Required Fields Parser — tool.io
Similar or alternative tools
- BIC SWIFT Code Structure Validator
A BIC parser separates institution, country, location and optional branch text. A syntactic match does not establish assignment or reachability.
- MICR Line Routing Account Parser
Normalized MICR notation separates routing, account and check serial text. Explicit delimiters preserve leading zeros without guessing an OCR layout.