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

  1. 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.
  2. Enter normalizedMt103BlockFour using the field table and calculation rules, then run the tool.
  3. Read observedTagNames, missingRequiredTagGroups, requiredTagGroupsPresent, transactionReference, valueDateYYMMDD, currencyCode, amountDecimalText. The explanation below defines the units, signs, ordering and any flags or placeholder values.
  4. 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 fieldMeaningValue type; see rules belowRequirement
normalizedMt103BlockFourNormalized mt103 block fourstringRequired

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 fieldMeaningValue type
observedTagNamesObserved tag nameslist of string
missingRequiredTagGroupsMissing required tag groupslist of string
requiredTagGroupsPresentRequired tag groups presentboolean
transactionReferenceTransaction referencestring
valueDateYYMMDDValue date y y m m d dstring
currencyCodeCurrency codestring
amountDecimalTextAmount decimal textstring
json
{
  "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

  1. 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.

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies