SWIFT_VALIDATION_RULES_ptiv.pdf

223
Part IV Message Syntax and Semantic Validations

Transcript of SWIFT_VALIDATION_RULES_ptiv.pdf

Page 1: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV Message Syntax and Semantic Validations

Page 2: SWIFT_VALIDATION_RULES_ptiv.pdf
Page 3: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 1-1

Chapter 1 Introduction

In this part:

♦ Chapter 2 describes the conditional semantic validation rules which are applied to the components of a number of SWIFT messages. Refer to Part V Message formats, columns “Semantic Checking” and “CR”.

♦ Chapter 3 lists the text syntactic validation error codes (Txx).

♦ Chapter 4 lists the MUG (Message User Group) validation error codes (Gxx).

♦ Chapter 5 lists the VAS (Value Added Services) validation error codes (Bxx).

Page 4: SWIFT_VALIDATION_RULES_ptiv.pdf
Page 5: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 2-1

Chapter 2 Conditional Semantic Validations and Conditional Statements

This chapter describes the various semantic validation rules which are applied to the components of a number of SWIFT messages.

These semantic validation rules are defined by two kinds of description expressions:

♦ A natural language expression describes the general meaning of the rule (*).

♦ A logical expression is used to clarify some ambiguous semantic checking or conditional statements in the natural language expression by using Boolean expressions and ‘pseudo-code constructs’ in order to provide an easy way to program the ad-hoc rule.

(*) where a natural language expression would be too difficult to synthesize, or too long (verbose), hence prone to be misunderstood, a matrix is provided. The rows headers and columns headers identify the elements that are involved in the relational expressions (Field Tags, Letter options, Sequence id., code words, etc.). A matrix must be read from the left to the right, and from the top to the bottom, the following abreviations may be used in the frame of each particular matrix and according to the specific relational expressions that must be applied to fields and sequences:

M = Mandatory (must be present, i.e. is required),

O = Optional (may be present, but is not required),

U = Unauthorized (must not be present),

Y = Yes (is present),

N = No (is not present),

”xxx” = where xxx represents the exact code word , field or subfield value.

The following paragraphs provide:

♦ the meaning of some notations used in natural language expressions

♦ the description of the syntax and the grammar of logical language expressions

♦ the list of all the semantic validation rules with their two expressions.

Page 6: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2.1 Notations Used in Natural Language Expressions

A field followed by ’( )’, or ‘a’, indicates that the semantic rule applies to all valid letter options of the field in the related message type(s), as well as “no letter option” when the field may be used without letter option in the related message type(s), e.g. rule #81: “If field 56( ) is present, field 57( ) must be present.’ means that in the MT103_not_STP for example if field 56A, or 56Cor 56D is used, then the field 57A or 57B or 57C or 57D must also be present.

Other example, rule 206, MT103_not_STP:

“If field 55a is present, then both fields 53a and 54a must also be present.”means if field 55 is present with any letter option A, or B or D, then the fields 53 and 54 must both be present, with any one of the letter option A, or B, or D.

The following example documents the case where a field may be used with “no letter option”, e.g. rule 6 in MT210:

Either field 50a or field 52a, but not both, must be present in a repetitive sequence.

IF <message’210’> THEN FOR <sequence’21-56*’>

IF <field’50*’>XOR<field’52*’> THEN <continue> ELSE <error:’C06’>

ENDIF ENDFOR

ENDIF

The same validation would be performed if the pseudo code was written as follow:

IF <message’210’> THEN FOR <sequence’21-56*’>

IF ((field50 OR field50C OR field50F) is present) AND ((field52A OR field52D) is present) THEN <error:’C06’> ELSE IF ((field50 OR field50C OR field50F) is not present) AND ((field52A OR field52D) is not present)

THEN <error:’C06’> ELSE <continue> ENDIF

ENDIF ENDFOR

ENDIF

A field followed by parentheses containing a letter range means all of the valid letter options within that range, and only those letter options, e.g., 37(A-F) means 37A or 37B... or 37F, but not 37G or 37M, etc...

2-2

February 2007

Page 7: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 2-3

2.2 Syntax of Logical Expressions

The elements used in the validation procedures described here are noted <element>. Elements are defined in a hierarchy, e.g., <constructs> may contain <statements> and <procedures> in their definition, while <statements> are built up from <single statements>, which in turn may refer to message <components>.

<constructs>

<statements>

<single statements>

<procedures>

<components> <function> <value>

The description of the elements used in the validation procedure follows:

2.2.1 Constructs

The IF THEN construct indicates the conditional procedure to be carried out if the given statement is true. The procedure can be replaced by another construct. Format:

IF <statement> THEN <procedure>|<construct>

ENDIF

The IF THEN ELSE construct indicates the conditional procedure or alternate procedure to be carried out depending on the logical value of the statement, true or false. The procedures can be replaced by another construct. Format:

IF <statement> THEN <procedure>|<construct> ELSE <procedure>|<construct>

ENDIF

The FOR construct indicates the iterative procedure to be carried out for each occurrence of a given statement. The procedure can be replaced by a construct. This construct is also used in conjunction with the ‘TOTAL_OF’ function (see section 2.2.5 Functions).

If the statement used in the FOR construct is an index statement (see section 2.2.3 Statements), the index variable is incremented by 1 at the end of the construct (ENDFOR).

FOR <statement> <procedure>|<construct>

ENDFOR

Page 8: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-4 0

2.2.2 Procedures

The validation process uses the following procedures:

<error: ‘id’>

end validation procedure and output an error message of error code ‘id’.

<exit>

end validation procedure, no error detected

<continue>

continue with validation procedure until completed, or <exit>, <error: ‘id’> procedures encountered.

2.2.3 Statements

A statement can be a single statement, or made up from existing statements (composed statements)

2.2.3.1 Single Statements

The following symbols are used as single statements:

<component>

‘component is present’

<component1:component2:component3:...>

‘the specified component within the hierarchy of components is present’

1<component>

‘at least one component is present’ (for repetitive components) n<component> ’at least n components are present’ (for repetitive components) 1!<component> ‘one and only one component is present’ (for repetitive components) <component>={<component1>,<component2>,...} ‘component is made out of listed [sub]components’ <component>⊃<component1>[,<component2>,...] ‘component contains listed [sub]components’ <component1>NOT= <value>|<component2> ‘content of numeric component1 is equal/not equal to content of component2’ <component1>>|< <value>|<component2> ‘content of numeric component1 is greater/lesser than content of numeric component2’ <component>NOT= <value>|<function> ‘content of component is equal/not equal to given value or function’ <index> = <value1>,<value2> ‘content of index variable is comprised into two given values (value1 being the minimum value, value2 being the maximum value)’

February 2007

Page 9: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 2-5

2.2.3.2 Compound Statements

A compound statement is obtained by applying logical operators NOT, OR/XOR, AND to existing statements, using the production rules.

<statement>::=[NOT]<statement>

<statement>::=<statement>OR|XOR<statement>

<statement>::=<statement>AND<statement>

Parentheses must be used to remove any ambiguous interpretation of complex statements and to ease readibility of a statement.

e.g., (<field’32B’>OR<field’33B’>) AND <field’34B’>

2.2.4 Components

The following symbols are used to define message components:

<component’id’>

defines a component with identifier ’id’

<component’id1|id2|...’>

specifies any component with identifier ’id’ or ’id2’...

<component’id’(index)>

identifies the location of a component with identifier ’id’ inside a repetitive sequence, index representing the number of the occurrence

Four component hierarchies are considered, i.e. message, sequence of fields or sequence, fields and subfields.

The following notations are used:

<message ’430’>

identifies a message type ’430’

<sequence ’A’>

identifies a sequence identified by ’A’ in this book

<sequence ’10-30’>

identifies a sequence of fields, with first field having field tag 10 and last field having tag 30

<field ’30’>

identifies a field with field tag 30

<field’30A|B’>

identifies 2 permissible letter options for given field

Page 10: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-6 0

<field’30*’>

identifies all permissible letter options for given field

<subf n>

identifies the nth subfield, within given field

<AMOUNT>, <CUR>...

defines various subfields as defined in this book

To remove any ambiguity on components, components must be described with their hierarchy.

<sequence’A’:field’33B’:CUR>

defines the currency code in field 33B of sequence ’A’

2.2.5 Functions

The following functions are defined:

2.2.5.1 The Total Function

The total function accumulates given numeric value or content of numeric component. This function can also be used in conjunction with the FOR construct.

Format:

Total_of <component>

Total obtained by accumulating content of component for each occurrence of the component.

Total_of <value>|<component> FOR <statement>

Total obtained by accumulating content of component or value each time the statement is true.

The <value> is very useful to count the occurrence of a repetitive component, e.g., Total of 1 FOR <sequence’C’> counts the number of times sequence ’C’ is present in the message.

2.2.5.2 The Substring Function

The substring function is used to extract a string of characters from a given alphanumeric/character component of another string.

Format:

Substring_of <string>|<component>, <value1> <value2>

where <value1> is the position of the first character to extract <value2> is the position of the last character to extract

February 2007

Page 11: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 2-7

2.2.5.3 The Multiply Function

The multiply function is used to calculate the product of two numerical components.

Format:

MUL_OF <component1>, <component2>

2.2.6 Values

Two types of values are used, numeric and string.

2.2.6.1 Numeric Values

Numeric values are used in single statements to allow comparison between the content of a numeric component and a numeric constant, e.g., <field’32A’:AMOUNT>=0. Numeric values can be either signed or unsigned.

2.2.6.2 String

A string is a chain of characters, e.g., ’SWIFT’, ’SETTLE’.

Strings appear in single statements, typically comparisons such as <field’23’>=’INT’.

The comparison between a string and a component is always to be made in considering the length AND the content. It means that both elements are declared equal, first of all if they have the same length, and then if their contents are identical.

Let’s take some examples:

Example 1: <field ’22’:subf 1> = ’SETTLE’

means comparison between the content of the first subfield of field 22 and the string ’SETTLE’ (6 characters.).

The format of the first subfield of field 22 is 8a (variable length).

If its content is ’SETTLEe’ (7 characters), the result of the comparison is FALSE, since lengths are different.

If its content is ’SETTLEX’ (7 characters), the result of the comparison is FALSE, since lengths are different.

If its content is ’SETTLE’ (6 characters), the result of the comparison is TRUE.

Example 2: <field ’22’:subf 1> = ’AMEND/FINRESET/RESET’

means comparison between the content of the first subfield of field 22 and one of the strings ’AMEND’ (5 characters), ’FINRESET’ (8 characters) and ’RESET’ (5 characters).

The format of the first subfield of field 22 is 8a (variable length code word).

If its content is ’AMENDeee’ (8 characters), the comparison is made with string ’FINRESET’ (the only one having the same length), and the result is declared FALSE, since contents are different.

If its content is ’AMEND’ (5 characters), comparisons are made with strings ’AMEND’ and ’RESET’ (the result of the first comparison is TRUE).

Page 12: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-8 RULE 0 (C00) 0

If the content is ’ASSIGNEE’ (8 characters), the comparison is made with string ’FINRESET’ and the result is declared FALSE, since contents are different.

2.3 List of the Semantic Validation Rules

Refer to Part V, Chapters 1 to 10, column ’Semantic Checking’, for the message format and field tags where these semantic rules apply.

RULE 0 (C00)

Not used.

RULE 1 (C01)

MTs 201, 203, 204, and 559.

The amount in field 19 must equal the sum of the amounts in all occurrences of field 32B or 34A.

IF <message’201|203|204|559’> THEN IF NOT (<field’19’:AMOUNT> =

TOTAL_of <field’32B|34A’:AMOUNT>) THEN <error:’C01’>

ENDIF ENDIF

MTs 820, 821, 823 and 824.

Field 19 at the completion of each outer repetitive sequence must equal the sum of the products of subfields 1 and 3 in all occurrences of field 68A from its respective inner repetitive sequence(s).

IF <message’820|821|823|824’> THEN FOR <sequence ’68A-19’>

IF NOT (<field ’19’:AMOUNT> = TOTAL_OF (MUL_OF <field ’68A’ :subf 1>, <field ’68A’ :subf 3>))

THEN <error:’C01’> ELSE <continue>

ENDIF ENDFOR

ENDIF

MT 102_not_STP, 102_STP, 104, 107.

If field 19 is present in sequence C then it must be equal to the sum of the amounts in all occurrences of field 32B in sequence B.

IF <message’102_not_STP' | '102_STP' | '104’ | ’107’> THEN IF <field ’19’>

THEN IF NOT (<field ’19’: AMOUNT> = Total_of <field ’32B’: AMOUNT>) THEN <error:’C01’> ENDIF

ENDIF ENDIF

MT 256

February 2007

Page 13: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 2 (C02) 2-9

If field 19 is present in sequence C then it must be equal to the sum of the amounts in all occurrences of field 32J in sequence B.

IF <message’256’> THEN IF <field ’19’>

THEN IF NOT (<field ’19’: AMOUNT> = Total_of <field ’32J’: AMOUNT>) THEN <error:’C01’> ENDIF

ENDIF ENDIF

RULE 2 (C02)

"WHERE USED" of RULE 2: Please refer to Part V Message Type formats, column "Semantic checking"-Legacy- and column "Conditional" -ISO15022-.

The currency code must be the same for all occurrences of indicated fields in the entire message.

MT 102_not_STP, 102_STP

The currency code in the fields 71G, 32B and 32A must be the same for all occurrences of these fields in the message.

MT 103_not_STP, 103_STP

If field 71G is present, the currency code in the fields 71G and 32A must be the same.

MT 104, 107

The currency code in fields 32B and 71G in Sequences B and C must be the same for all occurrences of these fields in the message.

The currency code in field 71F (in sequences B and C) must be the same for all occurrences of this field in the message .

MT 207

The currency code in field 32B must be the same for all occurrences of this field in the message.

MT 321

The currency code in the amount fields (fields 19A in Seq. B) must be the same for all occurrences of this field in the message (Error code : C02).

RULE 3 (C03)

"WHERE USED" of RULE 3:

Please refer to Part V Message Type formats, column "Semantic checking"-Legacy- and column "Conditional" -ISO15022-.

The number of decimal digits in the amount component is checked against the maximum allowed for the corresponding currency.

This check is mostly applied to fields containing both the amount and the currency code components, ex (the following list is not exhaustive) :

♦ field 32B in MT207 sequence B.

♦ field 32A in MT103, or in MT256 sequence C.

♦ field 32B in MT104 and 107 sequence B, and sequence C,

Page 14: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-10 RULE 4 (C04) February 2007

♦ field 33B in MT103, or in MT104 and 107 sequence B,

♦ field 71F in MT103, or in MT104 and 107 sequence B, and sequence C,

♦ field 71G in MT103, or in MT104 and 107 sequence B, and sequence C,

♦ field 72 Reject/Return in MT103, or in MT104 and 107 sequence A.

This check is also applied to :

♦ field 19 in MTs 102_not_STP, 102_STP, 104, 107 201, 203, 204, and 559 where the corresponding currency is the one used in field 32B or 34A,

♦ field 19 in MT 405 where the corresponding currency is the one used in field 32a,

♦ field 19 in MTs 820, 821, 823, and 824 where the corresponding currency is the one used in corresponding occurrences of field 68A,

The check is also applied in MT206 to field 32J in sequence B, and to field 19 in sequence C, where the corresponding currency is the one used in field 32A, if field 32A is not present then the Rule 3 is not applied.

The check is also applied in MT256 to field 32J in sequence B, and to field 19 in sequence C, where the corresponding currency is the one used in field 32A.

Note: CO3 should only be applied to field 68A in MTs 820, 821, 823, and 824 if subfield 5 is present.

RULE 4 (C04)

MT 503, 504, 506

In sequence B, if field :19B::TEXA is not present, then field :19B::TCRL is mandatory, otherwise field :19B::TCRL is optional (Error Code C04).

Sequence B

if field :19B::TEXA is …

Sequence B

then field :19B::TCRL is …

Not Present Mandatory

Present Optional

RULE 5 (C05)

MTs <see matrix below>

The BIC must NOT be a BEI, i.e. must not be of subtype BEID or TRCO or TESP or MCCO or SMDP or CORP (Error code C05)

note: this validation rule applies to all types of BICs referenced in a FIN message: SWIFTBIC, NON-SWIFTBIC, Master, Synonym, LIVE destination, T&T destination.

IF <BIC_Subtype> = ("BEID" | "TRCO" | “TESP” | “MCCO” | “SMDP” | “CORP”) THEN <error:’C05’> ENDIF

Page 15: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 5 (C05) 2-11

"Legacy" and "ISO 15022" MTs where Rule 5 is applied:

♦ Legacy: MT/sequence/field/letter_option

♦ ISO 15022: MT/sequence/field/letter_option /qualifier.

note: Rule 5 is the opposite of Rule 257

MT Seq. Field

101 A B B B

52A 52A 56A 57A

102 A B B C C

52A 52A 57A 53A 54A

same validation for 102 generic (no tag 119), and for 102_STP

103 52A 53A 54A 55A 56A 57A

same validation for 103 generic (no tag 119), and other 'flavors', i.e. 103_REMIT, 103_STP

104 A B B

C (*)

52A 52A 57A 53A

same validation for 104 generic (no tag 119), and. 104_RFDD

(*) ref RULE 96, 104_RFDD Seq. C not present

107 A B B C

52A 52A 57A 53A

110 53A 54A 52A

111 52A

112 52A

200 56A 57A

201 56A 57A

202 52A 53A 54A 56A 57A 58A

203 52A 53A

Page 16: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-12 RULE 5 (C05) February 2007

54A 56A 57A 58A

204 A A B

57A 58A 53A

205 52A 53A 56A 57A 58A

206 A B B C

52A 58A 52A 57A

207 A A A B B B

51A 52G 52A 56A 57A 58A

210 52A 56A

256 C 57A

300 B1 B1 B1 B2 B2 B2 D D D

53 A,J 56 A,J 57 A,J 53 A,J 56 A,J 57 A,J 53 A,J 56 A,J 57 A,J

303 D1 D1 D1 D2 D2 D2 D3 D3 D3

53 A,J 56 A,J 57 A,J 53 A,J 56 A,J 57 A,J 53 A,J 56 A,J 57 A,J

304 B B B B B B E

53 A,J 56 A,J 57 A,J 53 A,J 56 A,J 57 A,J 53 A,J

Page 17: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 5 (C05) 2-13

E E

56 A,J 57 A,J

305 53A 56A 57A

306 B C C C C E E E E

84 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J

320 C C C C D D D D E E E E F F F F

53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J

330 C C C C D D D D E E E E F F F F

53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J 56 A,J 57 A,J

340 C C C C D D

53 A,J 86 A,J 56 A,J 57 A,J 53 A,J 86 A,J

Page 18: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-14 RULE 5 (C05) February 2007

D D

56 A,J 57 A,J

341 C C C C

53 A,J 86 A,J 56 A,J 57 A,J

350 C C C C

53 A,J 86 A,J 56 A,J 57 A,J

360 D D D D G G G G L L L L M M M M

53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A

361 D D D D G G G G J J J J K K K K L L L L M M M M

53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A

Page 19: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 5 (C05) 2-15

362 C C C C E E E E

53A 56A 86A 57A 53A 56A 86A 57A

364 L L L L M M M M

53A 56A 86A 57A 53A 56A 86A 57A

365 J J J J K K K K L L L L M M M M

53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A 53A 56A 86A 57A

MT Seq. Field Qualifier

307 B3a 95P CDEA INTE ACCW

D1 95P CDEA INTE ACCW

308 B4b 95P CDEA INTE ACCW

321 C1 95P CDEA INT2 INTE ACCW

400 52A 53A 54A 57A 58A

405 A B B

B3 B3

52A 52A 57A 56A 53A

Page 20: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-16 RULE 5 (C05) February 2007

C C

56A 53A

416 A 53A

450 52A

455 52A

456 52A

516 B 57A

559 57A

582 B

B

56A

57A

MT Seq. Field Qualifier

502 C2 95P ACCW PAYE

504 C2a1 95P ACCW PAYE

E1 95P ACCW PAYE

505 B2a1 95P ACCW PAYE

D1 95P ACCW PAYE

507 B1b1 95P ACCW PAYE

513 D2 95P ACCW PAYE

514 C2 95P ACCW PAYE

515 D2 95P ACCW PAYE

518 C2 95P ACCW PAYE

528 C2 95P ACCW PAYE

529 C2 95P ACCW PAYE

540 E2 95P ACCW PAYE

541 E2 95P ACCW PAYE

542 E2 95P ACCW PAYE

543 E2 95P ACCW PAYE

544 E2 95P ACCW PAYE

545 E2 95P ACCW PAYE

546 E2 95P ACCW PAYE

547 E2 95P ACCW PAYE

566 D2a 95P ACCW

578 E2 95P ACCW PAYE

586 B5b 95P ACCW PAYE

588 E1 95P ACCW

Page 21: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 5 (C05) 2-17

600 B B B B B C C C C

86A 87A 53A 56A 57A 86A 87A 56A 57A

601 53A 56A 57A

604 82A 86A 87A 88A

605 82A 87A 88A

606 82A 87A 88A

607 82A 87A

643 B C

57A 57A

644 B 57A

645 C 57A

646 C 57A

700 51A 41A 42A 53A 57A

705 41A 57A

707 52A

710 52A 51A 41A 42A 53A 57A

Page 22: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-18 RULE 5 (C05) February 2007

720 52A 41A 42A 57A

730 57A

734 57A

740 58A 41A 42A

742 52A 57A 58A

750 57A

752 53A 54A

754 53A 57A 58A

756 53A 54A

768 57A

769 57A

800 51A 52A 53A 54A

801 51A

802 52A 53A 54A

810 51A 57A

812 57A

813 51A 57A

820 51A

821 51A

822 51A

823 51A 52A

824 51A

Page 23: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 6 (C06) 2-19

900 52A

910 52A 56A

985 57A

n90 52A

n91 52A 57A

RULE 6 (C06)

MT 210.

Either field 50a or field 52a, but not both, must be present in a repetitive sequence.

IF <message’210’> THEN FOR <sequence’21-56*’>

IF ((field50 OR field50C OR field50F) is present) AND ((field52A OR field52D) is present) THEN <error:’C06’> ELSE IF ((field50 OR field50C OR field50F) is not present) AND ((field52A OR field52D) is not present)

THEN <error:’C06’> ELSE <continue> ENDIF

ENDIF ENDFOR

ENDIF

IF <message’210’> THEN FOR <sequence’21-56*’>

IF <field’50*’>XOR<field’52*’> THEN <continue> ELSE <error:’C06’>

ENDIF ENDFOR

ENDIF

MT 710, 720

Either field 52a “Issuing Bank” or field 50B “Non-Bank Issuer”, but not both, must be present.

If field 52a

is … Then field 50B

is … Present Not allowed

Not present Mandatory

Page 24: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-20 RULE 7 (C07) February 2007

MT 910.

Either field 50a or field 52a, but not both, must be present.

IF <message’910’> THEN IF <field’50*’>XOR<field’52*’>

THEN <continue> ELSE <error:’C06’>

ENDIF ENDIF

RULE 7 (C07)

MT 516.

Either field 35A or 35N must be present.

IF <message ’516’> THEN IF NOT (<field ’35A’> OR <field ’35N’>)

THEN <error: ’C07’> ENDIF

ENDIF

RULE 8 (C08)

Available.

RULE 9 (C09)

MT 430.

In each occurrence of sequence A, if field 33a is present then field 32a must be present.

IF <message’430’> THEN FOR <sequence’A’>

IF <field’33*’> THEN IF NOT<field’32*’>THEN<error:’C09’> ENDIF

ENDIF ENDFOR

ENDIF

RULE 10 (C10)

MT 422.

At least one of the fields 72, 75 or 76 must be present.

IF <message’422’> THEN IF NOT (<field’72’>OR<field’75’>OR<field’76’>)

THEN <error:’C10’> ENDIF

ENDIF

RULE 11 (C11)

MT 400.

If field 57( ) is present, fields 53( ) and 54( ) must be present.

Page 25: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 12 (C12) 2-21

IF <message’400’> THEN IF <field’57*’> THEN

IF NOT (<field’53*’>AND<field’54*’>) THEN <error:’C11’>

ENDIF ENDIF

ENDIF

RULE 12 (C12)

MTs 707 and 747.

When field 32B or 33B is present, field 34B must be present.

Conversely, when field 34B is present, either field 32B or 33B must be present.

IF <message’707|747’> THEN IF <field’32B’>OR<field’33B’>OR<field’34B’>

THEN IF NOT ((<field’32B’>OR<field’33B’>)AND<field’34B’>) THEN <error:’C12’>

ENDIF ENDIF

ENDIF

RULE 13 (C13)

MT 750.

If any of fields 33B, 71B or 73 is present, field 34B must be present.

IF <message’750’> THEN IF <field’33B’>OR<field’71B’>OR<field’73’> THEN

IF NOT <field’34B’> THEN <error:’C13’> ENDIF

ENDIF ENDIF

RULE 14 (C14)

MTs 559, 582, and 754.

Either field 53( ) or 57( ), but not both, may be present.

IF <message’559|582|754’> THEN IF<field’53*’>AND<field’57*’>THEN <error:’C14’> ENDIF

ENDIF

RULE 15 (C15)

MT 747.

At least one of the fields 31E, 32B, 33B, 34B, 39A, 39B, 39C, 72 or 77A must be present.

Page 26: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-22 RULE 16 (C16) February 2007

IF <message’747’> THEN IF NOT (<field’31E’>OR<field’32B’>OR<field’33B’>OR <field’34B’>OR<field’39A’>OR<field’39B’>OR <field ’39C’>OR<field’72’>OR<field’77A’>)

THEN <error:’C15’> ENDIF

ENDIF

RULE 16 (C16)

MT 707.

If field 23 is present, field 52( ) must be present.

IF <message’707’> THEN IF<field’23’> THEN

IF NOT<field’52*’> THEN <error:’C16’> ENDIF

ENDIF ENDIF

RULE 17 (C17)

MT 734.

If field 73 is present, field 33( ) must be present.

IF <message’734’> THEN IF<field’73’> THEN

IF NOT <field’33*’> THEN <error:’C17’> ENDIF

ENDIF ENDIF

RULE 18 (C18)

MT 752.

If fields 32B and 71B are present, field 33( ) must be present.

IF <message’752’> THEN IF<field’32B’>AND<field’71B’> THEN

IF NOT<field’33*’> THEN <error:’C18’> ENDIF

ENDIF ENDIF

RULE 19 (C19)

MT 754.

Either field 72 or 77A, but not both, may be present.

IF <message’754’> THEN IF<field’72’>AND<field’77A’> THEN <error:’C19’> ENDIF

ENDIF

Page 27: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 20 (C20) 2-23

RULE 20 (C20)

MTs 305 andMT 601.

Field 53 ( ) may only be present if field 34P is used.

IF <message’305|601’> THEN IF<field’53*’>THEN

IF NOT<field’34P’> THEN <error:’C20’> ENDIF

ENDIF ENDIF

RULE 21 (C21)

Available.

RULE 22 (C22)

MT 920.

If field 12 consists of ’942’, field 34F must be present in the same repetitive sequence.

IF <message’920’> THEN FOR <sequence’12-34F’>

IF <field’12’>=’942’ THEN IF NOT 1<field’34F’> THEN <error:’C22’> ENDIF

ENDIF ENDFOR

ENDIF

RULE 23 (C23)

MTs 920 and 942.

When only one field 34F is present, the second subfield must not be used. When both fields 34F are present, the second subfield of the first 34F must consist of ’D’, and the second subfield of the second 34F must consist of ’C’.

In MT 920, this applies to each repetitive sequence.

RULE 24 (C24)

MT 940.

If field 86 is present in any occurrence of the repetitive sequence, it must be preceded by a field 61.

IF <message’940’> THEN FOR <sequence’61-86’>

IF <field’86’> THEN IF NOT <field’61’>

THEN <error:’C24’> ELSE <continue>

ENDIF ENDIF

ENDFOR ENDIF

Page 28: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-24 RULE 25 (C25) February 2007

RULE 25 (C25)

MT n92.

At a minimum, either field 79 or a ’copy of any field(s) of the original message to which this message relates' (*) must be present.

IF <message’n92’> THEN IF NOT (<field’79’>OR<original message:any field(s)>)

THEN <error:’C25’> ENDIF

ENDIF

Field 79 is then copy of any field(s) of original message is

Present Optional

Not Present Mandatory (i.e. minimum one field)

(*) SWIFT does not validate the relationship between the copied fields and the original message, hence, any valid field(s) different than 79 is(are) valid.

RULE 26 (C26)

MT 430.

At least one of the optional fields 32a or 74 must be present.

IF <message’430’> THEN IF NOT (1<field’32*’> OR <field’74’>) THEN <error:’C26’>

ENDIF ENDIF

RULE 27 (C27)

MTs 940, 941, 942, 950, 970, and 972.

The first two characters of the three character currency code in fields 60F and M, 62F and M, 64, 65 and 90D and C, in MT 940, 941, 942, 950, 970, 972 and field 34F in MT 942 must be the same for all occurrences of these fields.

Page 29: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 27 (C27) 2-25

IF <message’942’> THEN IF <optional field’34F’> THEN

IF substr_of <optional field’34F’:CUR>,1,2 NOT=

substr_of <mandatory field’34F’:CUR>,1,2 THEN <error:’C27’>

ENDIF ENDIF IF <field’90C’> THEN

IF substr_of <field’90C’:CUR>,1,2 NOT= substr_of

<mandatory field’34F’:CUR>,1,2 THEN <error:’C27’>

ENDIF ENDIF IF <field’90D’> THEN

IF substr_of <field’90D’:CUR>,1,2 NOT= substr_of

<mandatory field’34F’:CUR>,1,2 THEN <error:’C27’>

ENDIF ENDIF

ENDIF

Page 30: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-26 RULE 28 (C28) February 2007

IF <message’940|941|950|970|972’> THEN FOR <field’62F|M’> THEN

IF substr_of <field’62F|M’:CUR>,1,2 NOT= substr_of <field’60F|M’:CUR>,1,2

THEN <error:’C27’> ENDIF

ENDFOR IF <field’64’> THEN

IF substr_of <field’64’:CUR>,1,2 NOT= substr_of <field’60F|M’:CUR>,1,2

THEN <error:’C27’> ENDIF

ENDIF IF <field’65’> THEN

IF substr_of <field’65’:CUR>,1,2 NOT= substr_of <field’60F|M’:CUR>,1,2

THEN <error:’C27’> ENDIF

ENDIF IF <message ’941’> THEN

IF <field ’90D’> THEN IF substr_of <field ’90D’:CUR>1,2 NOT= substr_of <field ’60F|M’:CUR>1,2

THEN <error: ’C27’> ENDIF

ENDIF IF <field ’90C’> THEN

IF substr_of <field ’90C’:CUR>1,2 NOT= substr_of <field ’60F|M’:CUR>1,2

THEN <error: ’C27’> ENDIF

ENDIF ENDIF

ENDIF

RULE 28 (C28)

Available

RULE 29 (C29)

MT 645.

Either field 71B in sequence A or field 71C in sequence C must be present, if sequence B is not present.

IF <message’645’> THEN IF NOT <sequence’B’> THEN

IF NOT (<sequence’A’:field’71B’>OR <sequence’C’:field’71C’>)

THEN <error:’C29’> ENDIF

ENDIF ENDIF

Page 31: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 30 (C30) 2-27

RULE 30 (C30)

MT 707.

At least one of the fields 31E, 32B, 33B, 34B, 39A, 39B, 39C, 44A, 44E, 44F, 44B, 44C, 44D, 79 or 72 must be present.

IF <message’707’> THEN IF NOT

(<field’31E’>OR<field’32B’>OR<field’33B’>OR<field’34B’>OR <field’39A’>OR<field’39B’>OR<field’39C’>OR<field’44A’>OR <field’44B’>OR<field’44C’>OR<field’44D’>OR<field’79’>OR <field’72’>)

THEN <error:’C30’> ENDIF

ENDIF

RULE 31 (C31)

MTs n95 and n96.

Either field 79 or a ’copy of any field(s) of the original message to which this message relates’ (*), but not both, may be present.

IF <message’n95|n96’> THEN IF <field’79’>AND<original message:any field(s)>

THEN <error:’C31’> ENDIF

ENDIF

(*) SWIFT does not validate the relationship between the copied fields and the original message, hence, any valid field(s) different than 79 is(are) valid.

RULE 32 (C32)

MTs 300, 303, 304, 306, 320, 330, 340, 350, 360, 361, 362, 364, 365, 405, 582, 600, 643, 645 and 813.

An optional sequence of fields was used. However, a field which is required (i.e. indicated by an ”OR”) or a field which is mandatory (i.e. indicated by ”Mandatory in ...”) within this sequence is missing.

(ref. Part V: Tables of Messages. Fields with ’Status = OR’ or with ’Status = Mandatory in ...’ in a sequence of fields declared as optional)

RULE 33 (C33)

MTs 768 and 769.

If field 71B is present, field 32( ) must be present.

IF <message’768|769’> THEN IF<field’71B’> THEN

IF NOT<field’32*’> THEN <error:’C33’> ENDIF

ENDIF ENDIF

RULE 34 (C34)

MT 308

Page 32: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-28 RULE 35 (C35) February 2007

In each occurrence of Seq. B, either Subsequence B3 Gross Settlement or Subsequence B4

Net Settlement must be present, but not both (Error Code C34).

MT 769.

Either field 33B or field 39C, but not both, must be present.

IF <message’769’> THEN IF NOT (<field’33B’>XOR<field’39C’>)

THEN <error:’C34’> ENDIF

ENDIF

RULE 35 (C35)

MTs 643, 644, 645, 646 and 649.

Either field 21 or 29B must be present.

IF <message’643|644|645|646|649’> THEN IF NOT (<field’21’>OR<field’29B’>)

THEN <error:’C35’> ENDIF

ENDIF

RULE 36 (C36)

MTs 643 and 646.

The second subfield (<DATE2>) of field 31F must be present, in each occurrence of sequence B.

IF <message’643|646’> THEN FOR <sequence’B’>

IF <field’31F’:subf 2> THEN <continue> ELSE <error:’C36’>

ENDIF ENDFOR

ENDIF

RULE 37 (C37)

MT 577.

The second subfield [<DATE2>] of field 67A must not be present.

IF <message’577’> THEN IF <field’67A’:subf 2>

THEN <error:’C37’> ENDIF

ENDIF

RULE 38 (C38)

MT 645.

The third subfield [35x] of field 31F must not be present.

Page 33: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 39 (C39) 2-29

IF <message’645’> THEN IF <field’31F’:subf 3>

THEN <error:’C38’> ENDIF

ENDIF

RULE 39 (C39)

MT 813.

Either sequence A or sequence B must be present.

IF <message’813’> THEN IF NOT (<sequence’A’>OR<sequence’B’>)

THEN <error:’C39’> ENDIF

ENDIF

RULE 40 (C40)

MT 920.

The currency code must be the same for each occurrence of the indicated fields within each repetitive sequence.

IF <message ’920’> THEN FOR <sequence ’12-34F’>

IF total of <field ’34F’> = 2 THEN

IF <field ’34F’ (1):CUR> NOT= <field ’34F’ (2):CUR> THEN <error:’C40’> ELSE <continue>

ENDIF ELSE <continue>

ENDIF ENDFOR

ENDIF

RULE 41 (C41)

MT 813.

If field 34B or field 73 is present, field 32A must be present.

IF <message’813’> THEN IF <field’34B’>OR<field’73’> THEN

IF NOT<field’32A’> THEN <error:’C41’> ENDIF

ENDIF ENDIF

RULE 42 (C42)

MTs 820, 821, 823 and 824.

The currency code in each of the fields 68A of a sequence of fields 68A preceding a field 19 must be the same.

Page 34: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-30 RULE 43 (C43) February 2007

IF <message’820|821|823|824> THEN FOR <sequence ’68A-19’>

FOR i = 1,n IF <field’68A’(i):CUR> NOT= <field’68A’(1):CUR>

THEN <error:’C42’> ENDIF

ENDFOR ENDFOR

ENDIF

RULE 43 (C43)

MT 646.

Either field 32N or field 33N must be present.

IF <message’646’> THEN IF NOT (<field’32N’>OR<field’33N’>)

THEN <error:’C43’> ENDIF

ENDIF

RULE 44 (C44)

MT 646.

If fields 32N and 33N are present in sequence C,field 34( ) must be present in sequence C.

IF <message’646’> THEN IF <field’32N’>AND<field’33N’> THEN

IF NOT<sequence ’C’:field’34*’> THEN <error:’C44’>

ENDIF ENDIF

ENDIF

RULE 45 (C45)

MT 646.

If field 23 consists of the code word ’REPRINC’ or ’PREPRINC’, field 32N must be present in sequence C.

IF <message’646’> THEN IF <field’23’>=’REPRINC’|’PREPRINC’ THEN

IF NOT<field’32N’> THEN <error:’C45’> ENDIF

ENDIF ENDIF

RULE 46 (C46)

MT 646.

If field 23 consists of the code word ’INT’, field 33N must be present in sequence C.

Page 35: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 47 (C47) 2-31

IF <message’646’> THEN IF <field’23’>=’INT’ THEN

IF NOT<field’33N’> THEN <error:’C46’> ENDIF

ENDIF ENDIF

RULE 47 (C47)

MT 643.

If field 23 consists of the code words ’LOAN/DRAWDOWN’ or ’FINARR/DRAWDOWN’, sequence B must not be present.

IF <message’643’> THEN IF <field’23’>=’LOAN/DRAWDOWN’ OR <field’23’>=’FINARR/DRAWDOWN’ THEN

IF <sequence’B’> THEN <error:’C47’> ENDIF

ENDIF ENDIF

RULE 48 (C48)

MT 643.

If field 23 consists of the code words ’LOAN/RENEWAL’ or ’FINARR/RENEWAL’, sequence B must be present.

IF <message’643’> THEN IF <field’23’>=’LOAN/RENEWAL’ OR <field’23’>=’FINARR/RENEWAL’ THEN

IF NOT <sequence’B’> THEN <error:’C48’>

ENDIF ENDIF

ENDIF

RULE 49 (C49)

MT 456.

If field 71B is present, the values in fields 32( ) and 33D must be different.

IF <message’456’> THEN FOR <sequence’20-77D’>

IF <field’71B’> THEN IF <field’32*’:AMOUNT>=<field’33D’:AMOUNT>

THEN <error:’C49’> ELSE <continue>

ENDIF ENDIF

ENDFOR ENDIF

RULE 50 (C50)

MT 540, 541, 542, 543

Page 36: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-32 RULE 51 (C51) February 2007

If field :36B::PAIR is present in minimum one occurrence of sequence A1, then the type of settlement transaction must be a pair-off; ie, sequence E field :22F::SETR//PAIR must be present (Error code(s): C50).

In Seq. A1

if field :36B::PAIR is …

then in Sequence E,

field :22F::SETR/[8c]/4!c must be …

Present PAIR

Not present nNot applicable/a

Note: DSS is optional in field 22F, the presence, or absence, of DSS in field 22F has no impact on the validation rule.

RULE 51 (C51)

MT 643.

If field 23 consists of the code words ’LOAN/DRAWDOWN’ or ’LOAN/RENEWAL’, field 31R must be present.

IF <message’643’> THEN IF <field’23’>=’LOAN/DRAWDOWN’ OR <field’23’>=’LOAN/RENEWAL’ THEN

FOR <sequence’C’> IF NOT <field’31R’>

THEN <error:’C51’> ELSE <continue>

ENDIF ENDFOR

ENDIF ENDIF

RULE 52 (C52)

Available

RULE 53 (C53)

MT 643.

If field 71C is present in any sequence B, field 34( ) must be present in the same sequence.

IF <message’643’> THEN FOR <sequence’B’>

IF <field’71C’> THEN

IF NOT <field’34*’> THEN <error:’C53’>

ENDIF ELSE <continue>

ENDIF ENDFOR

ENDIF

RULE 54 (C54)

MT 644.

Page 37: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 55 (C55) 2-33

Either field 36 or field 37(A-F) must be present in any sequence B.

IF <message’644’> THEN FOR<sequence’B’>

IF <field’36’>OR<field’37A|B|C|D|E|F’> THEN <continue> ELSE <error:’C54’>

ENDIF ENDFOR

ENDIF

RULE 55 (C55)

MT 644.

In any sequence B, the currency code in fields 33B and 34( )must be the same.

IF <message’644’> THEN FOR<sequence’B’>

IF <field’33B’:CUR> NOT= <field’34*’:CUR> THEN <error:’C55’> ELSE <continue>

ENDIF ENDFOR

ENDIF

RULE 56 (C56)

Available

RULE 57 (C57)

MT 646.

If field 34N is present in any sequence B, field 31F in the same sequence B and 33N in sequence C must be present.

IF <message’646’> THEN FOR <sequence’B’>

IF <field’34N’> THEN IF <field’31F’> and <sequence’C’:field’33N’>

THEN <continue> ELSE <error:’C57’>

ENDIF ENDIF

ENDFOR ENDIF

RULE 58 (C58)

MT 300

In sequence A, if field 77D is present and if the first six (6) characters of the first line are equal to /VALD/ then the next eight (8) characters must contain a date expressed as YYYYMMDD and followed by the "end_of_line" code, i.e. “CrLf”(Error code(s): C58)

Note: the <DATE4> validation (as defined in Part II, 4.1 Date) applies to YYYYMMDD; however, any kind of error found on the 1st line after the code /VALD/ returns the error

Page 38: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-34 RULE 58 (C58) February 2007

code “C58”.

Refer rule 59.

MT 304

In sequence C, if field 72 is present and if the first six (6) characters of the first line are equal to /VALD/ then the next eight (8) characters must contain a date expressed as YYYYMMDD and followed by the "end_of_line" code, i.e. “CrLf” (Error code(s): C58)

Note: the <DATE4> validation (as defined in Part II, 4.1 Date) applies to YYYYMMDD; however, any kind of error found on the 1st line after the code /VALD/ returns the error code “C58”.

Refer rule 59.

Page 39: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 59 (C59) 2-35

MT 646.

If field 34N is present in any sequence B, the total amount given in field 33N must equal the total amount of all occurrences of field 34N amounts in sequence B.

IF <message’646’> THEN IF 1 <sequence ’B’:field ’34N’> THEN

IF <sequence ’C’:field’33N’:AMOUNT> NOT= TOTAL_of <sequence’B’:field’34N’:AMOUNT> THEN <error:’C58’>

ENDIF ENDIF

ENDIF

RULE 59 (C59)

MT 300

In sequence A, if field 77D is present and if the first six (6) characters of the first line are equal to /VALD/, then the second line must be present and contain “/SETC/”<CUR>“CrLf” (Error code(s): C59)

Conversely, in sequence A, if field 77D is present, and the second line is present, and the first six (6) characters of the second line are equal to /SETC/, then the first six (6) characters of the first line must be equal to “/VALD/” (Error code(s): C59).

Any kind of error related to the 2nd line (line not present, invalid /SETC/ code, invalid ISO 4217 currency code) returns the error code “C59”.

Rule 58 takes precedence over rule 59.

MT 304

In sequence C, if field 72 is present and if the first six (6) characters of the first line are equal to /VALD/, then the second line must be present and contain “/SETC/”<CUR>“CrLf” (Error code(s): C59)

Conversely, in sequence C, if field 72 is present, and the second line is present, and the first six (6) characters of the second line are equal to /SETC/, then the first six (6) characters of the first line must be equal to “/VALD/” (Error code(s): C59).

Any kind of error related to the 2nd line (line not present, invalid /SETC/ code, invalid ISO 4217 currency code) returns the error code “C59”.

Rule 58 takes precedence over rule 59.

Page 40: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-36 RULE 60 (C60) February 2007

MT 321

In sequence B, the presence of field 19A and of the Next Interest Due Date (field :98A::INTR) depends on the Type of Loan/Deposit Event (field :22H::TLDE) in sequence A as follows (Error Code : C59):

In Sequence A

if field :22H::TLDE Indicator is…

Sequence Bthen field

:98A::INTRis…

Sequence Band field

:19A::SETTis…

Sequence Band field

:19A::RODIis…

Sequence B and field

:19A::CINT is…

Sequence Band field

:19A::NINTis…

CONF Mandatory Not allowed Not allowed Not allowed Mandatory

ROLL Mandatory Mandatory Optional Optional Mandatory

MATU Not allowed Mandatory Not allowed Optional Not allowed

MT 800.

The amounts in fields 34B and 32A must be the same.

IF <message’800’> THEN IF <field’34B’:AMOUNT> NOT= <field’32A’:AMOUNT>

THEN <error:’C59’> ENDIF

ENDIF

RULE 60 (C60)

MT 307

In sequence A, the presence of the Open Indicator (field :22H::APER) and the presence of the Net Settlement Indicator (field :22H::NEGR) depend on the Contract Type (field :22H::CRTR) as follows (Error Code : C60):

In Sequence A

if field :22H::CRTR Indicator is…

Sequence A then field :22H::APER is…

Sequence A and field :22H::NEGR is…

ASET Not allowed Optional

AFWD Mandatory Mandatory

MT 321

In sequence A, the presence of the Number Count (field :99B::) depends on the presence of the Block Trade Indicator (field :22H::BLOC) as follows (Error Code : C60):

In Sequence A

if field :22H::BLOC is … Sequence A

then field :99B:: is … Present Mandatory

Not present Not allowed

MT 643.

In each sequence B, the currency code in fields 32P, 33( ) and 34( ) must be the same.

Page 41: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 61 (C61) 2-37

IF <message’643’> THEN FOR <sequence’B’>

IF <field’32P’:CUR>=<field’33*’:CUR>=<field’34*’:CUR> THEN <continue> ELSE <error:’C60’>

ENDIF ENDFOR

ENDIF

RULE 61 (C61)

MT 307

In sequence A, the presence of the Close Indicator (field :22H::PAFI) depends on the Open Indicator (field :22H::APER) as follows (Error Code : C61):

In Sequence A

if field :22H::APER Indicator is …

Sequence A then field :22H::PAFI

is … OPEF Not allowed

NOPE Mandatory

Field :22H::APER not present Not allowed

MT 321

In sequence B, the presence of the Last Day of the First Interest Period (field :98A::LDFP), depends on the value of the Indicator of Type of Loan/Deposit Event (field :22H::TLDE) as follows (Error Code : C61):

In Sequence A

if field :22H::TLDE Indicator is …

Sequence B then field :98A::LDFP

is … MATU Not allowed

Not MATU Optional

MT 643.

In each sequence C, the currency code in fields 32B and 33B must be the same.

IF <message’643’> THEN FOR <sequence’C’>

IF <field’32B’:CUR> NOT= <field’33B’:CUR> THEN <error:’C61’> ELSE <continue>

ENDIF ENDFOR

ENDIF

RULE 62 (C62)

MT 307

The presence of sequence C depends on the Open Indicator (field :22H::APER) as follows (Error Code : C62):

Page 42: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-38 RULE 63 (C63) February 2007

In Sequence A

if field :22H::APER Indicator is …

Then Sequence C

is … OPEF Not allowed

NOPE Mandatory

Field :22H::APER not present Not allowed

MT 321

In sequence B, the presence of the Number of Days Accrued (field :99B::DAAC) depends on the presence of the Last Day of the First Interest Period (field :98A::LDFP) as follows (Error Code : C62):

In Sequence B

if field :98A::LDFP is …

Sequence B then field :99B::DAAC

is… Present Mandatory

Not present Not allowed

MT 813.

If field 21 consists of the code word ’NONREF’, field 59 must be present.

IF <message’813’> THEN IF <field’21’>=’NONREF’ THEN

IF NOT<field’59’> THEN <error:’C62’> ENDIF

ENDIF ENDIF

RULE 63 (C63)

MT 307

In sequence A, the presence of the qualifier UNKN in the Net Settlement Indicator (field :22H::NEGR//UNKN) depends on the content of the Contract Type (field :22H::CRTR), of the Open Indicator (field :22H::APER) and of the Close Indicator (field :22H::PAFI) as follows (Error Code : C63):

In Sequence A if field :22H::

is …

Then field :22H::NEGR//UNKN is …

CRTR//ASET Not allowed

CRTR//AFWD and APER//OPEF Optional

CRTR//AFWD and APER//NOPE and PAFI//PAIN

Optional

CRTR//AFWD and APER//NOPE and PAFI//FINA

Not allowed

MT 321

Page 43: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 64 (C64) 2-39

In sequence A, if field 99B is present, then all qualifiers must be present (Error Code : C63):

RULE 64 (C64)

MT 307

The presence of sequence D depends on the value of field 22H Indicator as follows (Error Code : C64):

In Sequence A

if field :22H::CRTR

is …

and field :22H::APER

is …

and field :22H::PAFI

is …

and field :22H::NEGR

is …

then

Sequence D is …

ASET n/a Not applicable per

rule 60

n/a Not applicable per

rule 61

NETC Optional

ASET n/a Not applicable per

rule 60

n/a Not applicable per

rule 61

GRSC Not allowed

ASET n/a Not applicable per

rule 60

n/a Not applicable per

rule 61

Not present Not allowed

AFWD OPEF n/a Not applicable per

rule 61

NETC or GRSC or UNKN

Not allowed

AFWD NOPE PAIN NETC or GRSC or UNKN

Not allowed

AFWD NOPE FINA NETC Mandatory

AFWD NOPE FINA GRSC Not allowed

RULE 65 (C65)

Available

RULE 66 (C66)

MT 643.

The number of occurrences of sequence C must be equal to or greater than the number of occurrences of sequence B.

IF <message’643’> THEN IF TOTAL_of_1 for <sequence’C’> < TOTAL_of_1 for <sequence’B’>

THEN <error:’C66’> ENDIF

ENDIF

RULE 67 (C67)

MT 516 (sequence A)

In sequence A of MT 516, either field 83( ) or 87( ), but not both, may be present.

Page 44: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-40 RULE 68 (C68) February 2007

IF <message ’516’> THEN IF <field ’83*’> AND <sequence ’A’:field ’87*’>

THEN <error: ’C67’> ENDIF

ENDIF

RULE 68 (C68)

Available.

RULE 69 (C69)

MT 507

In each occurrence of sequence B (if present), if subsequence B1 is present, the presence of subsequences B1a and B1b depends on the value of field :22H::COLL in sequence B as follows (Error Code C69):

In each occurrence of sequence B

if subsequence B1

is …

and in sequence B, field :22H::COLL//

Status is …

then subsequence B1a is …

and subsequence B1b

is …

present CCOL Not allowed Mandatory

SCOL Mandatory Not allowed

BCOL (N/ANot applicable, see

rule 70)

Not applicableN/A Not applicableN/A

not present N/A Not applicable Not applicableN/A Not applicableN/A

Note: Rule 70 takes precedence over rule 69.

Page 45: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 70 (C70) 2-41

RULE 70 (C70)

MT 507

In each occurrence of sequence B, the presence of subsequence B1 depends on the value of field :25D::COLL//<Status> and :22H::COLL//<Indicator> as follows (Error Code C70):

In each occurrence of sequence B

If for field :25D::COLL/[8c]/4!c Data Source Scheme

[8c] is …

and field :25D::COLL/[8c]/4!c

is …

and field :22H::COLL//4!c

is …

then subsequence B1

is …

not present :25D::COLL//ACCT BCOL Not allowed

:25D::COLL//ACCT CCOL Mandatory (*)

:25D::COLL//ACCT SCOL Mandatory (*)

:25D::COLL//REJT N/A Not applicable Not allowed

present Not applicableN/A CCOL SCOL Optional (*)

BCOL Not allowed

(*) see rule 69 for additional checks. Rule 70 takes precedence over rule 69.

RULE 71 (C71)

MT 528, 529

In sequence. B, field 36B::SETT cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).

Sequence B

if field :36B::SETT is…

Then one occurrence of

:36B::SETT must be…

And the other occurrence of

:36B::SETT must be…

Repeated :36B::SETT//FAMT :36B::SETT//AMOR

Not Repeated Not applicable Not applicable

MT 535

In each occurrence of Subseq. B1, field 93B::AGGR cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).

Subsequence B1

if field :93B::AGGR is…

Then one occurrence of

:93B::AGGR must be…

And the other occurrence of

:93B::AGGR must be…

Repeated :93B::AGGR//FAMT :93B::AGGR//AMOR

Not Repeated Not applicable Not applicable

MT 536

In each occurrence of Subseq. B1a2, field 36B::PSTA is not allowed to be repeated more

Page 46: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-42 RULE 71 (C71) February 2007

than once cannot appear more than twice (i.e. maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).

Sequence B1a2

if field :36B::PSTA is…

Then one occurrence of

:36B::PSTA must be…

And the other occurrence of

:36B::PSTA must be…

Repeated :36B::PSTA//FAMT :36B::PSTA//AMOR

Not Repeated Not applicableN.A. Not applicableN.A.

MT 537

In each occurrence of Subseq. B2b, field 36B::PSTA is not allowed to be repeated more than once cannot appear more than twice (i.e. maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71)

Subsequence B2b

if field :36B::PSTA is…

Then one occurrence of

:36B::PSTA must be…

And the other occurrence of

:36B::PSTA must be…

Repeated :36B::PSTA//FAMT :36B::PSTA//AMOR

Not Repeated Not applicableN.A. Not applicableN.A.

MT 540, 541, 542, 543

In each occurrence of sequence. C, field 36B::SETT cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).

Sequence C

if field :36B::SETT is…

Then one occurrence of

:36B::SETT must be…

And the other occurrence of

:36B::SETT must be…

Repeated :36B::SETT//FAMT :36B::SETT//AMOR

Not Repeated Not applicable Not applicable

MT 544, 545, 546, 547

In each occurrence of sequence. C, field 36B::ESTT cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).

Sequence C

if field :36B::ESTT is…

Then one occurrence of

:36B::ESTT must be…

And the other occurrence of

:36B::ESTT must be…

Repeated :36B::ESTT//FAMT :36B::ESTT//AMOR

Not Repeated Not applicable Not applicable

MT 548

In sequence. B, field 36B::SETT cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other

Page 47: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 71 (C71) 2-43

occurrence must have Quantity Type Code AMOR (Error code(s): C71).

Sequence B

if field :36B::SETT is…

Then one occurrence of

:36B::SETT must be…

And the other occurrence of

:36B::SETT must be…

Repeated :36B::SETT//FAMT :36B::SETT//AMOR

Not Repeated Not applicable Not applicable

MT 564, 565

In each occurrence of Subsequence. B2, field 93B::ELIG cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).

Subsequence B2

if field :93B::ELIG is…

Then one occurrence of

:93B::ELIG must be…

And the other occurrence of

:93B::ELIG must be…

Repeated :93B::ELIG//FAMT :93B::ELIG//AMOR

Not Repeated Not applicable Not applicable

MT 566

In Sequence. B, field 93B::ELIG cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).

Subsequence B

if field :93B::ELIG is…

Then one occurrence of

:93B::ELIG must be…

And the other occurrence of

:93B::ELIG must be…

Repeated :93B::ELIG//FAMT :93B::ELIG//AMOR

Not Repeated Not applicable Not applicable

MT 567

In sequence. B, field 36B::STAQ OR QREC cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).

Sequence B

if field :36B::STAQ or QREC

is…

Then one occurrence of

:36B::STAQ or QREC

must be…

Andd the other occurrence of

:36B::STAQ or QREC must

be…

Repeated :36B::STAQ//FAMT or :36B::STAQ//AMOR

:36B::QREC//FAMT :36B::QREC//AMOR

Not Repeated Not applicable Not applicable

MT 568

In Sequence. B, field 93B::ELIG cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).

Page 48: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-44 RULE 72 (C72) February 2007

Subsequence B

if field :93B::ELIG is…

Then one occurrence of

:93B::ELIG must be…

And the other occurrence of

:93B::ELIG must be…

Repeated :93B::ELIG//FAMT :93B::ELIG//AMOR

Not Repeated Not applicable Not applicable

MT 584

In each occurrence of Subseq. B2b, field 36B::TRAD cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C71).

Subsequence B2b

if field :36B::TRAD is…

Then one occurrence of

:36B::TRAD must be…

And the other occurrence of

:36B::TRAD must be…

Repeated :36B::TRAD//FAMT :36B::TRAD//AMOR

Not Repeated Not applicable Not applicable

RULE 72 (C72)

MT 537.

In each occurrence of Subseq. C2, field 36B::PSTA is not allowed to be repeated more than once cannot appear more than twice (i.e. maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C72).

Subsequence C2

if field :36B::PSTA is…

Then one occurrence of

:36B::PSTA must be…

And the other occurrence of

:36B::PSTA must be…

Repeated :36B::PSTA//FAMT :36B::PSTA//AMOR

Not Repeated Not applicableN.A. Not applicableN.A.

MT 564

In each occurrence of Subsequence. E1, field 36B::ENTL cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C72).

Subsequence E1

if field :36B::ENTL is…

Then one occurrence of

:36B::ENTL must be…

And the other occurrence of

:36B::ENTL must be…

Repeated :36B::ENTL//FAMT :36B::ENTL//AMOR

Not Repeated Not applicable Not applicable

MT 565

In sequence. D, field 36B::QINS or QREC cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR. When used with format

Page 49: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 73 (C73) 2-45

option C, the qualifiers QINS and QREC cannot be repeated (Error code(s): C72).

Sequence D

if field :36B::QINS or QREC

is…

Then one occurrence of

:36B::QINS or QREC must be…

And the other occurrence of

:36B::QINS or QREC must be…

:36B::QINS//FAMT :36B::QINS//AMOR Repeated

:36B::QREC//FAMT :36B::QREC//AMOR

Not Repeated Not applicable Not applicable

Note: therefore the only valid repetitions are:

:36B::QINS//FAMT

:36B::QINS//AMOR

or

:36B::QREC//FAMT

:36B::QREC//AMOR

MT 566

In each occurrence of Subseq. D1, field 36B::PSTA cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C72).

Subsequence D1

if field :36B::PSTA is…

Then one occurrence of

:36B::PSTA must be…

And the other occurrence of

:36B::PSTA must be…

Repeated :36B::PSTA//FAMT :36B::PSTA//AMOR

Not Repeated Not applicable Not applicable

MT 584

In each occurrence of Subseq. C1c, field 36B::TRAD cannot appear more than twice (maximum 2 occurrences). When repeated, one occurrence must have Quantity Type Code FAMT and the other occurrence must have Quantity Type Code AMOR (Error code(s): C72).

Subsequence C1c

if field :36B::TRAD is…

Then one occurrence of

:36B::TRAD must be…

And the other occurrence of

:36B::TRAD must be…

Repeated :36B::TRAD//FAMT :36B::TRAD//AMOR

Not Repeated Not applicable Not applicable

RULE 73 (C73)

MT 536

A reference to the previously received message must be specified for each transaction reported, i.e. in each occurrence of Subseq. B1a Transaction, field 20C::RELA must be present in one and only one occurrence of Subseq. B1a1 Linkages; field 20C::RELA is not

Page 50: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-46 RULE 74 (C74) February 2007

allowed in all other occurrences of Subseq. B1a1 (Error code(s): C73).

MT 537

A reference to the previously received message must be specified for each transaction reported, i.e. in each occurrence of Subseq. B2 Transaction, field 20C::RELA must be present in one and only one occurrence of Subseq. B2a Linkages; field 20C::RELA is not allowed in all other occurrences of Subseq. B2a (Error code(s): C73).

MT 544, 545, 546, 547, 548

A reference to the previously received message must be specified, i.e. field 20C::RELA must be present in one and only one occurrence of Subseq. A1 Linkages; field 20C::RELA is not allowed in all other occurrences of Subseq. A1 (Error code(s): C73).

RULE 74 (C74)

MT 537

A reference to the previously received message must be specified for each transaction reported, i.e. in each occurrence of Seq. C Transaction, field 20C::RELA must be present in one and only one occurrence of Subseq. C1 Linkages; field 20C::RELA is not allowed in all other occurrences of Subseq. C1 (Error code(s): C74).

RULE 75 (C75)

MT104

If field 23E is present in sequence A and contains RFDD then field 23E must be present in all occurrences of sequence B. If field 23E is present in sequence A and does not contain RFDD then field 23E must not be present in any occurrence of sequence B. If field 23E is not present in sequence A then field 23E must be present in all occurrences of sequence B.

Sequence A

if field 23E is ... Sequence B

then field 23E is ...

Present and = RFDD Mandatory in all occurrences

Present and NOT= RFDD Not allowed

Not present Mandatory in all occurrences

see rules 94 and 96

RULE 76 (C76)

MT104

Field 50a (option A or K), must be present in either sequence A (index 8) or in each occurrence of sequence B (index 21), but must never be present in both sequences, nor be absent from both sequences.

Sequence A if field 50a (option A or K)

is ...

In every occurrence of Sequence B then field 50a (option A or K)

is ...

Page 51: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 77 (C77) 2-47

Present Not allowed

Not present Mandatory

RULE 77 (C77)

MTs 730, 768 and 769.

Either field 25 or field 57( ), but not both, may be present.

IF <message’730|768|769’> THEN IF <field’25’>AND<field’57*’>THEN <error:’C77’> ENDIF

ENDIF

RULE 78 (C78)

MTs 730, 768 and 769.

Either field 32D or field 57( ), but not both, may be present.

IF <message’730|768|769’> THEN IF <field’32D’>AND<field’57*’>THEN <error:’C78’> ENDIF

ENDIF

RULE 79 (C79)

MTs 305 and 601.

Field 31C may only be present if the third subfield of field 23 consists of ’A’.

IF <message’305|601’> THEN IF <field’31C’> THEN

IF NOT <field’23’:subf 3>=’A’ THEN <error:’C79’> ENDIF

ENDIF ENDIF

RULE 80 (C80)

MT 608.

The metal code must be the same for all occurrences of the indicated fields in the entire message.

Page 52: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-48 RULE 81 (C81) February 2007

IF <message’608’> THEN IF <field ’62*’: subf3> NOT= <field ’60*’: subf3>

THEN <error: ’C80’> ENDIF IF <field’64’> THEN

IF <field’64’:subf 3> NOT= <field’60*’:subf 3> THEN <error:’C80’>

ENDIF ENDIF FOR <field’65’>

IF <field’65’:subf 3> NOT= <field’60*’:subf 3> THEN <error:’C80’> ELSE <continue>

ENDIF ENDFOR

ENDIF

RULE 81 (C81)

MTs 103_not_STP, 103_STP, 202, 203, 205, and 582.

If field 56( ) is present, field 57( ) must be present.

IF <message’103_not_STP|103_STP|202|203|205|582’> THEN IF <field ’56*’> THEN

IF NOT <field ’57*’> THEN <error:’C81’> ENDIF

ENDIF ENDIF IF <message ’203’> THEN

FOR <sequence ’20-72’> IF <field ’56*> THEN

IF NOT <field ’57*’> THEN <error: ’C81> ELSE <continue>

ENDIF ENDIF

ENDFOR ENDIF

RULE 82 (C82)

MT 104, 107

In sequence A, if field 23E is present and contains RTND then field 72 must be present, in all other cases (i.e. field 23E not present, or field 23E does not contain RTND) field 72 is not allowed.

Page 53: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 83 (C83) 2-49

Sequence A if field 23E is ...

Sequence A then field 72 is ...

present and = RTND Mandatory

present and NOT= RTND Not allowed

Not present Not allowed

RULE 83 (C83)

MT 935.

Either field 23 or 25, but not both, must be present in any repetitive sequence.

IF <message’935’> THEN FOR <sequence’23-37H’>

IF <field’23’>XOR<field’25’>THEN <continue> ELSE <error:’C83’>

ENDIF ENDFOR

ENDIF

RULE 84 (C84)

MT 303

In Sequence A, the presence of field 21 depends on field 22A as follows :

Sequence A if field 22A is ... Sequence A then field 21 is ...

AMNA Mandatory

AMND Mandatory

CANC Mandatory

DUPL Optional

NEWT Optional

RULE 85 (C85)

MT 609.

Field 68B must be present when the immediately preceding field 23 consists of one of the code words ’SPOTS’ or ’FORWARDS’.

IF <message’609’> THEN FOR <sequence’23-72’>

IF <field’23’>=’SPOTS’|’FORWARDS’ THEN IF <field’68C’>THEN <error:’C85’> ENDIF

ENDIF ENDFOR

ENDIF

Page 54: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-50 RULE 86 (C86) February 2007

RULE 86 (C86)

MT 609.

Field 68C must be present when the immediately preceding field 23 consists of the code word ’OPTIONS’.

IF <message’609’> THEN FOR <sequence’23-72’>

IF <field’23’>=’OPTIONS’ THEN IF <field’68B’>THEN <error:’C86’> ENDIF

ENDIF ENDFOR

ENDIF

RULE 87 (C87)

MTs 601, 605 thru 609.

The first subfield of field 26C must not be present.

IF <message’601|605|606|607|608|609’> THEN IF <field’26C’:subf 1> THEN <error:’C87’> ENDIF

ENDIF

RULE 88 (C88)

MT 305.

The currency code in the fourth subfield of field 23 must be the same as the currency code in field 32B.

IF <message’305’> THEN IF <field’23’:subf 4> NOT= <field’32B’:CUR>

THEN <error:’C88’> ENDIF

ENDIF

RULE 89 (C89)

MTs 600, 601, 604 thru 609.

A maximum of 6 decimal digits is permitted in the following: Field 32F in MTs 600, 601, 604, 605, 606 and 607; Fields 60F; 60M, 61, 62F, 62M, 64 and 65 in MT 608; and the sixth subfield of fields 68B and 68C in MT 609.

RULE 90 (C90)

MTs 700, 710, 720 and 740.

If field 42( ) is used, the only combinations which are allowed are field 42M (on its own) or field 42P (on its own) or both fields 42C and 42(A or D).

Page 55: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 91 (C91) 2-51

IF <message ’700|710|720|740’> THEN IF < field ’42C’> THEN

IF <field ’42M’>OR<field ’42P’>OR NOT<field ’42A|D’>

THEN <error:’C90’> ELSE <exit>

ENDIF ENDIF IF <field ’42A|D’>

THEN <error: ’C90’> ENDIF IF <field ’42M’> THEN

IF <field ’42P’> THEN <error: ’C90’>

ENDIF ENDIF

ENDIF

RULE 91 (C91)

MT 608.

The fourth subfield of field 61 must not be present.

IF <message’608’> THEN IF <field’61’:subf 4> THEN <error:’C91’> ENDIF

ENDIF

RULE 92 (C92)

MT 303

Sequences B and C are mutually exclusive. Field 94A in Sequence A specifies which type of transaction is allocated and thus which one of the two sequences must be present:

Sequence A if field 94A is ...

then Sequence B is ...

then Sequence C is ...

FORX Mandatory Not allowed

FXOP Not allowed Mandatory

RULE 93 (C93)

MT 600.

Either sequence B or sequence C, but not both, must be present.

IF <message’600’> THEN IF NOT (<sequence’B’>XOR<sequence’C’>)

THEN <error:’C93’> ENDIF

ENDIF

RULE 94 (C94)

MT104

Page 56: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-52 RULE 95 (C95) February 2007

If field 23E in sequence A is present and contains RFDD, then field 119 of User Header must be present and contain RFDD. If field 23E in sequence A is not present or does not contain RFDD, then field 119 of User header must not be present.

note: this rule takes precedence over rules 75 and 96.

Sequence A if field 23E is ...

User Header then field 119

is...

present and = RFDD Mandatory and must contain RFDD

present and Not= RFDD Not allowed

Not present Not allowed

MT 503, 504, 505, 506, 507

The User Header of the message (block 3) is mandatory and must contain a valid 4 alphanumeric characters (fixed length) code in the Validation Flag field 119 ( {3:{119:xxxx}} ). This code must be identical to the code contained in field :22a::COLA//xxxx (Exposure Type Indicator) in sequence A of the message content (text block 4) (Error Code C94).

note: the rule 94 must be applied even if the DSS is present in field :22F::COLA

RULE 95 (C95)

MT 303

In Sequence C, the presence of field 30X depends on field 23B as follows:

Sequence C if field 23B is... Sequence C then field 30X is ...

CLAM or PTAM Mandatory

CLEU or PTEU Not allowed

RULE 96 (C96)

MT104

In sequence A, if field 23E is present and contains RFDD, then:

• in sequence A field 21R is optional,

• and in sequence B the fields 21E, 50a (option A or K), 52a, 71F and 71G must not be present,

• and sequence C must not be present.

Otherwise, i.e. in sequence A, field 23E does not contain RFDD or Field 23E is not present:

• in sequence A field 21R must not be present,

• and in sequence B the fields 21E, 50a (option A or K), 52a, 71F and 71G are optional,

• and sequence C must be present.

Sequence A if field 23E

Sequence A then field 21R

Sequence B and fields 21E, 50a

and sequence C is ...

Page 57: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 97 (C97) 2-53

is ... is ... (option A or K), 52a, 71F and 71G are

...

present and = RFDD Optional Not allowed Not allowed

present and Not= RFDD

Not allowed Optional Mandatory

Not present Not allowed Optional Mandatory

see rules 75, 94 and 180 (rule 96 takes precedence over rule 180).

RULE 97 (C97)

MT 303

The presence of Sequence D depends on the value of field 22A in Sequence A as follows:

Sequence A if field 22A is... then Sequence D is ...

AMNA or AMND or DUPL or NEWT Mandatory

CANC Optional

MT504

Sequence D is mandatory when in any occurence of sequence C the subsequence C1 is present and the subsequence C1a is not present (Error Code C97):

In sequence(s) C then sequence D is …

IF in one (or more) occurrence(s) of sequence C :

subsequence C1 is present and an internal subsequence C1a is not present

Mandatory

see rule 149

MT505

Sequence C is mandatory when in any occurence of sequence B the subsequence B1 is present and the subsequence B1a is not present (Error Code C97):

In sequence(s) B then sequence C is …

IF in one (or more) occurrence(s) of sequence B :

subsequence B1 is present and an internal subsequence B1a is not present

Mandatory

see rule 149

Page 58: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-54 RULE 98 (C98) February 2007

RULE 98 (C98)

MT 306

In sequence I, field 15I may not be the only field. In other words, if field 15I is present then at least one of the other fields of sequence I must be present.

MT 320, 330

In sequence H, field 15H may not be the only field, i.e. if field 15H is present, then at least one of the other fields of sequence H must be present (Error code C98).

MT 340

In sequence E, field 15E may not be the only field, i.e. if field 15E is present, then at least one of the other fields of sequence E must be present (Error code C98).

RULE 99 (C99)

MT 303

In each occurrence of Sequence D, the presence of Subsequent Subsequence ’D3’ depends on field 94A of Sequence A as follows :

Sequence A if field 94A is... Subsequence ’D3’ is ...

FORX Not allowed

FXOP Mandatory

MT504

Sequence E is mandatory when in any occurence of sequence C the subsequence C2 is present and the subsequence C2a is not present (Error Code C99):

In sequence(s) C then sequence E is …

IF in one (or more) occurrence(s) of sequence C :

subsequence C2 is present and an internal subsequence C2a is not present

Mandatory

see rule 150

MT505

Sequence D is mandatory when in any occurence of sequence B the subsequence B2 is present and the subsequence B2a is not present (Error Code C99):

In sequence(s) B then sequence D is …

IF in one (or more) occurrence(s) of sequence B :

subsequence B2 is present and an internal subsequence B2a is not present

Mandatory

see rule 150

Page 59: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 100 (D00) 2-55

RULE 100 (D00)

Not used.

RULE 101 (D01)

MT 303

If subfield 1 of field 39P consists of ’CURR’, the number of decimal digits in subfield 3 is checked against the maximum allowed for the corresponding currency in subfield 2.

RULE 102 (D02)

MT 304, 360, 361, 362, 364, 365

In Sequence A, the presence of field 21 depends on field 22A as follows :

Sequence A if field 22A is... Sequence A then field 21 is ...

AMND Mandatory

CANC Mandatory

DUPL Optional

NEWT Optional

MT 306, 340 In sequence A, the presence of field 21 depends on the value of field 22A as follows.

Sequence A if field 22A is... Sequence A then field 21 is ...

AMND Mandatory

CANC Mandatory

NEWT Optional

MT 341 In sequence A, the presence of field 21 depends on the value of field 22A as follows.

Sequence A if field 22A is... Sequence A then field 21 is ...

AMND Mandatory

CANC Mandatory

SETT Optional

MT 350

In sequence A, if field 22A contains ADVC then field 21 is optional, otherwise field 21 is mandatory (Error Code D02).

Sequence A if field 22A is... Sequence A then field 21 is ...

ADVC Optional

Not= ADVC Mandatory

Page 60: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-56 RULE 103 (D03) February 2007

RULE 103 (D03)

MT 304

In Sequence A, the presence of fields 17O and 17N depends on field 94A as follows:

Sequence A if field 94A is ...

Sequence A then field 17O is ...

Sequence A then field 17N is ...

ASET Not allowed Not allowed

AFWD Mandatory Mandatory

(see also RULE 104 and 129)

MT 535

If field :94a:: is present in Sequence B, then fields :93B::AGGR and :94a::SAFE are not allowed in any occurrence of Subsequence B1b (Error code(s): D03).

Sequence B if field :94a: is…

then in any occurrence(s) of Subseq. B1b, field :93B::AGGR and field :94a::SAFE are…

Present Not allowed

Not present Optional

RULE 104 (D04)

MT 304

In Sequence A, the presence of field 17F depends on field 17O as follows :

Sequence A if field 17O is... Sequence A then field 17F is ...

Y Not allowed

N Mandatory

Not present Not allowed

(see also RULE 103 and 129)

MT 535

If field :93B::AGGR is present in Subsequence B1b, then :field 94a::SAFE must be present in the same Subsequence B1b (Error code(s): D04).

Subsequence B1b if field :93B::AGGR is…

then in same Subseq. B1b, field :94a::SAFE is…

Present Mandatory

Not present Optional

RULE 105 (D05)

MT 535

In each occurrence of Subsequence B1b, if field :93B::AVAI or/and :93B::NAVL is/are present, then :field :93B::AGGR must be present in the same occurrence of Subsequence B1b (Error code(s): D05)

Page 61: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 106 (D06) 2-57

MTs 700, 705, 707, 710, 720, 740, and 747.

Either field 39A or field 39B, but not both, may be present.

IF <message ’700|705|707|710|720|740|747’> THEN IF <field ’39A’> AND <field ’39B’>

THEN <error : ’D05’> ENDIF

ENDIF

RULE 106 (D06)

MTs 700, 705, 707, 710, and 720.

Either field 44C or field 44D but not both, may be present.

IF <message ’700|705|707|710|720’> THEN IF <field ’44C’> AND <field ’44D’>

THEN <error : ’D06’> ENDIF

ENDIF

RULE 107 (D07)

Available

RULE 108 (D08)

Available

RULE 109 (D09)

Available

RULE 110 (D10)

Available.

RULE 111 (D11)

Available

RULE 112 (D12)

Available

RULE 113 (D13)

MT 503, 504, 506

In subsequence B1, fields 16R and 16S may not be the only fields present. If both fields 16R and 16S are present, then at least one of the other fields of the same subsequence must be present (Error Code D13).

RULE 114 (D14)

Available.

RULE 115 (D15)

Available

Page 62: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-58 RULE 116 (D16) February 2007

RULE 116 (D16)

Available.MT 306

The presence of subsequence B1 and of sequence C depends on the values of Type of Event (subfield 1 of field 22K) in sequence A as follows (Error code(s): D16).

Sequence A

if subfield 1 of field 22K is …

then subsequence B1 is …

and sequence C is …

CLST Optional Optional

CONF Mandatory Mandatory

KNIN Not allowed Not allowed

KNOT Not allowed Not allowed

OTHR Optional Optional

TRIG Not allowed Not allowed

RULE 117 (D17)

MT 102_not_STP, 102_STP.

Field 50a must be present either in sequence A or in each occurrence of sequence B, but it must never be present in both sequences, nor be absent from both sequences.

IF <message’102’> THEN FOR <sequence’B’>

IF <sequence’A’:field’50*’> THEN IF <sequence’B’:field’50*’> THEN <error:’D17’> ENDIF ELSE IF NOT (<sequence’B’:field’50*’>) THEN <error:’D17’> ENDIF ENDIF

ENDFOR ENDIF

Page 63: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 118 (D18) 2-59

RULE 118 (D18)

MT 102_not_STP.

If a field 52a, 26T or 77B is present in sequence A, then that field must not be present in any occurrence of sequence B. When a field 52a, 26T or 77B is present in any occurrence of sequence B, that field must not be present in Sequence A.

Sequence A if field 52a is ...

In each occurrence of sequence B then field 52a is ...

Present Not allowed

Not present Optional

Sequence A if field 26T is ...

In each occurrence of sequence B then field 26T is ...

Present Not allowed

Not present Optional

Sequence A if field 77B is ...

In each occurrence of sequence B then field 77B is ...

Present Not allowed

Not present Optional

IF <message’102_not_STP’> THEN FOR <sequence’B’>

IF <sequence’B’:field’52*’>AND <sequence’A’:field’52*’>) THEN <error:’D18’>

ENDIF IF <sequence’B’:field’26T’>AND <sequence’A’:field’26T’>)

THEN <error:’D18’> ENDIF IF <sequence’B’:field’77B’>AND <sequence’A’:field’77B’>)

THEN <error:’D18’> ENDIF

ENDFOR ENDIF

MT 102_STP.

If a field 52A, 26T or 77B is present in sequence A, then that field must not be present in any occurrence of sequence B. When a field 52A, 26T or 77B is present in any occurrence of sequence B, that field must not be present in Sequence A.

Sequence A if field 52A is ...

In each occurrence of sequence B then field 52A is ...

Present Not allowed

Not present Optional

Page 64: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-60 RULE 119 (D19) February 2007

Sequence A if field 26T is ...

In each occurrence of sequence B then field 26T is ...

Present Not allowed

Not present Optional

Sequence A if field 77B is ...

In each occurrence of sequence B then field 77B is ...

Present Not allowed

Not present Optional

IF <message’102_STP’> THEN FOR <sequence’B’>

IF <sequence’B’:field’52A’>AND <sequence’A’:field’52A’>) THEN <error:’D18’>

ENDIF IF <sequence’B’:field’26T’>AND <sequence’A’:field’26T’>)

THEN <error:’D18’> ENDIF IF <sequence’B’:field’77B’>AND <sequence’A’:field’77B’>)

THEN <error:’D18’> ENDIF

ENDFOR ENDIF

RULE 119 (D19)

MT 102_STP

If in the transaction headers the country codes of both the Sender's and Receiver's BIC are present in the list D19_CC (refer note 2), then in each occurrence of Seq.B the following apply:

• If field 57A is not present, then the IBAN format (ISO-13616, refer note 1) is mandatory in subfield_1 Account of field 59a in this occurrence of Seq. B (Error code: D19).

• If field 57A is present and the country code of the BIC in 57A (note) is present in the list D19_CC, then the IBAN format is mandatory in subfield_1 Account of field 59a in this occurrence of Seq. B (Error code: D19).

In all other cases, the presence of the IBAN format is optional and its format is not validated in subfield_1 Account of field 59a.

Note 1: <IBAN> format special validation : refer Part II, Chapter 4, section 4.23

Note 2 : ‘D19_CC’ list of country codes :

AD, AT, BE, BG, BV, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GF, GI, GP, GR, HU, IE, IS, IT, LI, LT, LU, LV, MC, MQ, MT, NL, NO, PL, PM, PT, RE, RO, SE, SI, SJ, SK, SM, TF, VA

Page 65: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 119 (D19) 2-61

In transaction headers, in each occurrence of Seq. B,

If country code of Emitter’s BIC

present in D19_CC

and country code of Receiver's BIC

present in D19_CC

and field 57A present in this occurrence

of Seq.B

and country code in BIC (note) of field

57A is present in

D19_CC

then in this occurrence of Seq.B

in field 59a the <IBAN> format in

subfield_1 Accountis …

Yes Yes No n/aNot applicable Mandatory

Yes No No n/aNot applicable Optional

No Yes No n/aNot applicable Optional

No No No n/aNot applicable Optional

Yes Yes Yes Yes Mandatory

Yes No Yes Yes Optional

No Yes Yes Yes Optional

No No Yes Yes Optional

Yes Yes Yes No Optional

Yes No Yes No Optional

No Yes Yes No Optional

.No No Yes No Optional

IF (Emitter’s BIC Country code belongs to D19_CC) AND (Receiver’s BIC Country code belongs to D19_CC) THEN BEGIN FOR each occurrence of Seq. B: IF field 57A not present THEN IF field 59a does not contain a valid IBAN account THEN <error D19> ELSE continue END_IF ELSE IF Country code of field 57A:BIC (note) belongs to the D19_CC list THEN IF field 59a does not contain a valid IBAN account THEN <error D19> ELSE continue END_IF ELSE continue END_IF END_IF END_FOR END_BEGIN ELSE continue END_IF

Note: this validation rule applies to all types of BICs that are referenced in field 57A: SWIFTBIC, NON-SWIFTBIC, Master, Synonym, LIVE destination, T&T destination.

MT 103_STP

If in the transaction headers the country codes of both the Sender's and Receiver's BIC are present in the list D19_CC (refer note 2), then the following apply:

Page 66: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-62 RULE 119 (D19) February 2007

• If field 57A is not present, then the IBAN format (ISO-13616, refer note 1) is mandatory in subfield_1 Account of field 59a (Error code: D19).

• If field 57A is present and the country code of the BIC in 57A (note) is present in the list D19_CC, then the IBAN format is mandatory in subfield_1 Account of field 59a (Error code: D19).

In all other cases, the presence of the IBAN format is optional and its format is not validated in subfield_1 Account of field 59a.

Note 1: <IBAN> format special validation : refer Part II, section 4.27

Note 2 : ‘D19_CC’ list of country codes :

AD, AT, BE, BG, BV, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GF, GI, GP, GR, HU, IE, IS, IT, LI, LT, LU, LV, MC, MQ, MT, NL, NO, PL, PM, PT, RE, SE, RO, SI, SJ, SK, SM, TF, VA

In transaction headers,

If country code of Emitter’s BIC

present in D19_CC

and country code of Receiver's BIC

present in D19_CC

and field 57A present and country code in BIC (note) of field

57A is present in

D19_CC

Then in field 59a the <IBAN> format

in subfield_1 Account

is …

Yes Yes No n/aNot applicable Mandatory

Yes No No n/aNot applicable Optional

No Yes No n/aNot applicable Optional

No No No n/aNot applicable Optional

Yes Yes Yes Yes Mandatory

Yes No Yes Yes Optional

No Yes Yes Yes Optional

No No Yes Yes Optional

Yes Yes Yes No Optional

Yes No Yes No Optional

No Yes Yes No Optional

No No Yes No Optional

Page 67: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 120 (D20) 2-63

IF (Emitter’s BIC Country code belongs to D19_CC) AND (Receiver’s BIC Country code belongs to D19_CC) THEN BEGIN IF field 57A not present THEN IF field 59a does not contain a valid IBAN account THEN <error D19> ELSE continue END_IF ELSE IF Country code of field 57A:BIC (note) belongs to the D19_CC list THEN IF field 59a does not contain a valid IBAN account THEN <error D19> ELSE continue END_IF ELSE continue END_IF END_IF END_BEGIN ELSE continue END_IF

Note: this validation rule applies to all types of BICs that are referenced in field 57A: SWIFTBIC, NON-SWIFTBIC, Master, Synonym, LIVE destination, T&T destination.

RULE 120 (D20)

MT 102_not_STP, 102_STP.

Field 71A must be present either in sequence A or in each occurrence of sequence B, but it must never be present in both sequences, nor be absent from both sequences.

IF <message’102_not_STP’ | '102_STP'> FOR <sequence’B’>

IF <sequence’A’:field’71A’> THEN IF <sequence’B’:field’71A’> THEN <error:’D20’> ENDIF ELSE IF NOT (<sequence’B’:field’71A’>) THEN <error:’D20’> ENDIF ENDIF

ENDFOR ENDIF

note: rule 120 takes precedence over rules 150, 213 and 215

Page 68: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-64 RULE 121 (D21) February 2007

RULE 121 (D21)

MT 104, 107.

In each occurrence of sequence B : if field 33B is present, then the currency code or the amount, or both, must be different between fields 33B and 32B.

IF <message ’104’ | '107'> THEN FOR <sequence ‘B’> IF <sequence’B’:field’33B’> THEN IF (<sequence’B’:field’33B’:CUR> = <sequence’B’:field’32B’:CUR>)

THEN IF (<sequence’B’:field’33B’:AMOUNT> = <sequence’B’:field’32B’:AMOUNT>)

THEN <error:’D21’> ENDIF

ENDIF ENDIF ENDFOR

ENDIF

RULE 122 (D22)

MT 102_not_STP, 102_STP.

Field 36 (sequence A or sequence B) must be present in the message if there is any sequence B which contains a field 33B with a currency code different from the currency code in field 32B; in all other cases field 36 is not allowed in the message. When a field 36 (sequence A or sequence B) is required, EITHER field 36 must be present in sequence A and not in any sequence B, OR it must be present in every sequence B which contains fields 32B and 33B with different currency codes and must not be present in sequence A or any other sequence B (Error code: D22).

In Seq.A In Sequence B :

If field 36 is

present

Then in minimum one occurrence of Seq.B field 33B must be present, and currency codes

in fields 32B and 33B must be different.

And field 36 is not allowed in any occurrence of Seq. B

In Seq.A In each occurrence of Sequence B

if field 33B is …

And currency codes in fields32B and 33B are …

Then field 36 is …

Equal Not allowed Present

Not equal Mandatory

If field 36

is not

present

Not present n/aNot applicable Not allowed

Page 69: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 123 (D23) 2-65

RULE 123 (D23)

MT 304

The presence of Sequence D depends on field 17O as follows:

Sequence A if field 17O is...

then Sequence D is ...

Y Not allowed

N Mandatory

Not present Not allowed

RULE 124 (D24)

MT 306

In sequence A, if field 12F consists of the code VANI, at least field 17A or field 17F must contain the code Y. Both fields may contain the code Y.

Sequence A

if field 12F is … Sequence A

and field 17A is … Sequence A

and field 17F is … then this

combination of code words is ...

VANI N N NOT allowed

VANI N Y allowed

VANI Y N allowed

VANI Y Y allowed

NOT= VANI Not applicableNA Not applicableNA allowed

RULE 125 (D25)

MT 306

In sequence B, the presence of field 84a depends on the value of fields 12F, 17A and 17F in sequence A as follows:

Sequence A

if field 12F is … Sequence A

and field 17A is … Sequence A

and field 17F is … Sequence B

then field 84a is …

VANI N N Not allowed (note)

VANI N Y Mandatory

VANI Y N Mandatory

VANI Y Y Mandatory

NOT= VANI Not applicable NA Not applicableNA Mandatory

note : the first row (VANI N N) is redundant with RULE 124, that validation will be applicable when RULE 124 will be removed.

Page 70: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-66 RULE 126 (D26) February 2007

RULE 126 (D26)

MT 306

In sequence A, the values allowed for the field 12E depend on the value of field 12F as follows:

Sequence A

if field 12F is … Sequence A

then the allowed values for field 12E are …

BINA AMER, EURO

DIGI EURO

NOTO EURO

VANI AMER, BERM, EURO

In sequence B, the presence of the field 30F depends on the value of fields 12F and 12E in sequence A as follows:

Sequence A

if field 12F is … Sequence A

and field 12E is … Sequence B

then field 30F is …

VANI, DIGI, NOTO any value Mandatory

BINA EURO Mandatory

BINA AMER Not allowed

RULE 127 (D27)

MT 306

In sequence A, the allowed values for Type of Event (subfield 1 of field 22K) depend on the fields 12F and 17A in sequence A as follows:

Sequence A

if field 12F is … Sequence A

and field 17A is … Sequence A

then, the allowed values for Type of Event (subfield 1 of field 22K) are …

VANI N CONF, CLST, OTHR

VANI Y CONF, CLST, KNIN, KNOT, OTHR

NOT= VANI N CONF, CLST, TRIG, OTHR

NOT= VANI Y CONF, CLST, KNIN, KNOT, TRIG, OTHR

Page 71: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 128 (D28) 2-67

RULE 128 (D28)

MT 306

In sequence A, the presence of fields 30U and 29H depend on the value of Type of Event (subfield 1 of field 22K) as follows:

Sequence A

if Type of Event (subfield 1 of field 22K) is …

Sequence A then field 30U is …

Sequence A and field 29H is…

CONF or CLST Not allowed Not allowed

Any other value Mandatory MandatoryOptional

RULE 129 (D29)

MT 304

The presence of Sequence E depends on fields 17F and 17N as follows:

Sequence A if field 17F is ...

Sequence A and field 17N is ...

then Sequence E is ...

Y Y Mandatory

Y N Not allowed

Y Not present Not allowed (this case is already NAK’ed, see rule 103,

104)

N Y or N Not allowed

N Not present Not allowed (this case is already NAK’ed, see rule 103,

104)

Not present Y or N Not allowed

Not present Not present Not allowed.

(see also RULE 103 and 104)

MT 507

The presence of sequence B depends on the value of field :25D::4!c//<Status> in sequence A and the value of field :13A::LINK//<Number Id> in subsequence A2 as follows (Error Code D29):

Page 72: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-68 RULE 129 (D29) February 2007

Sequence A if field

:25D::4!c/[8c]/4!c Qualifier is …

Sequence A and field

:25D::REST/[8c]/4!c Data

Source Scheme [8c] is …

Sequence A and field

:25D::REST/[8c]/4!c is …

Subsequence A2

and field :13A::LINK//

3!c is …

then Sequence

B is ...

REST not present :25D::REST//ACCP 503 Optional

:25D::REST//ACCT 503 Optional

:25D::REST//ACCP 504 Mandatory

:25D::REST//ACCT 504 Mandatory

:25D::REST//ACCP 505 Optional

:25D::REST//ACCT 505 Optional

:25D::REST//SUBR N/A Not applicable

Optional

:25D::REST//REJT Not applicable N/A

Not Allowed

present Not applicable N/A Not applicable N/A

Optional

CPRC Not applicable N/A

Not applicable N/A Not applicable N/A

Not Allowed

IPRC Not applicable N/A

Not applicable N/A Not applicable N/A

Not Allowed

see rule 152 MT 567 If the message is an instruction status or a cancellation request status (:23G:INST or CAST), AND Sequence B is present, AND an instruction has been received (:25D::IPRC//NOIN is NOT present in the message), then sequence B should contain a CA option number and code (:13A::CAON and :22a::CAOP are mandatory). (Error code(s): D29).

In Seq. A

if field :23G:

is…

And Seq. B,

is…

And field

:25D::IPRC//NOIN

(in Subseq. A2) is…

then Seq. B,

field

:13A::CAON

is…

and Seq. B,

field :22a::CAOP

is…

Present Not present in the

message,

or used with a DSS

Mandatory Mandatory

Present at least once in

the message without

DSS (*),

Optional Optional

INST or CAST

Not present n/aNot applicable n/aNot applicable n/aNot applicable

EVST n/aNot applicable n/aNot applicable n/aNot applicable n/aNot applicable (*) note: this condition takes precedence over the condition "Not present in the message, or used with a DSS”.

Page 73: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 130 (D30) 2-69

RULE 130 (D30)

MT 306

The presence of sequence D, and the presence of sequence G, depends on the value of field 12F in sequence A as follows:

Sequence A

if field 12F is … then sequence D is … and sequence G is …

VANI Mandatory Not allowed

NOT= VANI Not allowed Mandatory

RULE 131 (D31)

MT 306

In sequence D, if present, i.e. if field 12F in sequence A contains "VANI" (see also RULE 130), the presence of field 30P and the presence of field 30Q depend on the value of field 12E in sequence A as follows:

Sequence A

if field 12F is … Sequence A

and field 12E is … Sequence D

then field 30P is … Sequence D

and field 30Q is …

VANI AMER Mandatory Not allowed

BERM Not allowed Mandatory (i.e. at least one occurrence

must be present)

EURO Not allowed Not allowed

RULE 132 (D32)

MT 306

The presence of sequence E depends on the values of field 12F and Type of Event (subfield 1 of field 22K) in sequence A as follows:

Sequence A

if field 12F is … Sequence A

and Type of Event (subfield 1 of field 22K) is

then sequence E is …

VANI Any value Not allowed

BINA or DIGI Any value Mandatory

NOTO NOT= TRIG Mandatory

NOTO TRIG Not allowed

RULE 133 (D33)

MT 306

In sequence D, if present, i.e. if field 12F in sequence A contains "VANI" (see also RULE 130), the allowed values for field 26F depend on the value of field 17F in sequence A as follows:

Page 74: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-70 RULE 134 (D34) February 2007

Sequence A if field 12F is …

Sequence A and field 17F is …

Sequence D then, the allowed values for field 26F are

VANI Y NETCASH

N NETCASH, PRINCIPAL

RULE 134 (D34)

MT 306

In sequence E, if present (see also RULE 132), the presence of field 30H depends on the value of Type of Event (subfield 1 of field 22K) and on the Expiration Style (field 12E) in sequence A as follows:

If Sequence E

is ... Sequence A

if and subfield 1 of field 22K

is …

Sequence A and field 12E

is ...

Sequence E then field 30H is …

TRIG AMER Mandatory Present

Not TRIG AMER or BERM or EURO

Not allowed

Not present Not applicable Not applicable Not applicable

RULE 135 (D35)

MTs 360 and 361.

In sequence A, if field 14A consists of code word ’OTHER’, field 77D must be present.

IF <message’360|361’> THEN IF <sequence ’A’ : field’14A’> = ’OTHER’

THEN IF NOT <field ’77D’> THEN <error:’D35’> ENDIF

ENDIF ENDIF

RULE 136 (D36)

MT 340

The presence of sequence E, and the presence of field 72 in sequence E, depend on the value of field 14F in sequence B as follows (Error Code D36):

Sequence B

if field 14F is … then

sequence E is … Sequence E

and field 72 is …

OTHER (*) Mandatory Mandatory

Not= OTHER Optional Optional

(*) note: because field 14F is variable length (1 to 24 char <x>), in order for this condition

Page 75: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 137 (D37) 2-71

to be true, field 14F must be coded :14F:OTHER<CrLf>

in all other situations the condition will not be true, i.e. "Not= OTHER" will apply, ex.: :14F: OTHER<CrLf> (leading blanks) :14F:OTHER <CrLf> (trailing blanks) :14F:OTHERWISE<CrLf>

ref. Chapter 2, section 2.2.6.2

MTs 306, 360 and 361.

In sequence A, if subfield 1 of field 77H consists of code word ’OTHER’, field 77D must be present.

IF <message '306|360|361’> THEN IF <field’77H’: subf1> = ’OTHER’

THEN IF NOT <field ’77D’> THEN <error:’D36’> ENDIF

ENDIF ENDIF

Sequence A

if Type of Agreement (subfield 1 of field 77H) is …

Sequence A then field 77D is …

OTHER Mandatory

NOT= OTHER Optional

RULE 137 (D37)

MT 340

The presence of sequence E, and the presence of field 72 in sequence E, depend on the value of field 14D in subsequence B2 as follows (Error Code D37):

Subsequence B2 if field 14D is …

then sequence E is …

Sequence E and field 72 is …

OTHER Mandatory Mandatory

Not= OTHER Optional Optional

(*) note: because field 14D is variable length (1 to 24 char <x>), in order for this condition to be true, field 14D must be coded :14D:OTHER<CrLf>

in all other situations the condition will not be true, i.e. "Not= OTHER" will apply, ex.: :14D: OTHER<CrLf> (leading blanks) :14D:OTHER <CrLf> (trailing blanks) :14D:OTHERWISE<CrLf>

ref. Chapter 2, section 2.2.6.2

MTs 360 and 361.

In sequence B, C, E and F, if field 14D consists of code word ’OTHER’, field 37N must be present in the respective sequence.

Page 76: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-72 RULE 138 (D38) February 2007

IF <message’360|361’> THEN FOR <sequence ’B’>

IF <sequence ’B’ : field’14D’> = ’OTHER’ THEN IF NOT <sequence ’B’ : field ’37N’>

THEN <error:’D37’> ENDIF

ENDIF ENDFOR FOR <sequence ’C’> IF <sequence ’C’ : field’14D’> = ’OTHER’ THEN IF NOT <sequence ’C’ : field ’37N’>

THEN <error:’D37’> ENDIF

ENDIF ENDFOR FOR <sequence ’E’> IF <sequence ’E’ : field’14D’> = ’OTHER’ THEN IF NOT <sequence ’E’ : field ’37N’>

THEN <error:’D37’> ENDIF

ENDIF ENDFOR FOR <sequence ’F’> IF <sequence ’F’ : field’14D’> = ’OTHER’ THEN IF NOT <sequence ’F’ : field ’37N’>

THEN <error:’D37’> ENDIF

ENDIF ENDFOR

ENDIF

RULE 138 (D38)

MT 360 and 361.

In sequence C and F, if field 14F consists of code word ’OTHER’, field 37N must be present in the respective sequence.

IF <message’360|361’> THEN FOR <sequence ’C’>

IF <sequence ’C’ : field’14F’> = ’OTHER’ THEN IF NOT <sequence ’C’ : field ’37N’>

THEN <error:’D38’> ENDIF

ENDIF ENDFOR FOR <sequence ’F’> IF <sequence ’F’ : field’14F’> = ’OTHER’ THEN IF NOT <sequence ’F’ : field ’37N’>

THEN <error:’D38’> ENDIF

ENDIF ENDFOR

ENDIF

Page 77: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 139 (D39) 2-73

RULE 139 (D39)

MT 360 and 361.

In sequence C and F, if field 14J consists of code word ’OTHER’, field 37N must be present in the respective sequence.

IF <message’360|361’> THEN FOR <sequence ’C’>

IF <sequence ’C’ : field’14J’> = ’OTHER’ THEN IF NOT <sequence ’C’ : field ’37N’>

THEN <error:’D39’> ENDIF

ENDIF ENDFOR FOR <sequence ’F’> IF <sequence ’F’ : field’14J’> = ’OTHER’ THEN IF NOT <sequence ’F’ : field ’37N’>

THEN <error:’D39’> ENDIF

ENDIF ENDFOR

ENDIF

RULE 140 (D40)

MT 360 and 361.

In sequence C and F, if subfield 1 of field 14G consists of code word ’O’, field 37N must be present in the respective sequence.

IF <message’360|361’> THEN FOR <sequence ’C’>

IF <sequence ’C’ : field’14G’: subf1> = ’O’ THEN IF NOT <sequence ’C’ : field ’37N’>

THEN <error:’D40’> ENDIF

ENDIF ENDFOR FOR <sequence ’F’> IF <sequence ’F’ : field’14G’ : subf1> = ’O’ THEN IF NOT <sequence ’F’ : field ’37N’>

THEN <error:’D40’> ENDIF

ENDIF ENDFOR

ENDIF

RULE 141 (D41)

MT 360 and 361.

In sequence C and F, if subfield 2 of field 38E consists of code word ’O’, field 37N must be present in the respective sequence.

Page 78: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-74 RULE 142 (D42) February 2007

IF <message’360|361’> THEN FOR <sequence ’C’>

IF <sequence ’C’ : field’38E’ : subf2> = ’O’ THEN IF NOT <sequence ’C’ : field ’37N’>

THEN <error:’D41’> ENDIF

ENDIF ENDFOR FOR <sequence ’F’> IF <sequence ’F’ : field’38E’ : subf2> = ’O’ THEN IF NOT <sequence ’F’ : field ’37N’>

THEN <error:’D41’> ENDIF

ENDIF ENDFOR

ENDIF

RULE 142 (D42)

MT 340

The presence of sequence E, and the presence of field 72 in sequence E, depend on the value of the second component of the first subfield of field 38G in subsequence B2 as follows (Error Code D42):

Subsequence B2

if second component of subfield 1 of field 38G is …

then sequence E is …

Sequence E and field 72 is …

O Mandatory Mandatory

Not= O Optional Optional

MT 360 and 361.

If a Subsequences C3 or F3 is present, and if subfield 2 or subfield 4 of field 38G or field 38H consist of code word ‘O’, then field 37N must be present in the respective C or F Sequence.

RULE 143 (D43)

MT 306

The presence of sequence F depends on the value of field 17A in sequence A as follows:

Sequence A

if field 17A is … then sequence F is …

Y Mandatory

N Not allowed

Page 79: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 144 (D44) 2-75

RULE 144 (D44)

MT 306

In sequence F (see also RULE 143), the presence of the field 37L depends on the value of field 22G as follows:

Sequence F

if field 22G is … Sequence F

then field 37L is …

SKIN or SKOT Not allowed

DKIN or DKOT Mandatory

RULE 145 (D45)

MT 360 and 361.

If Subsequence B1 is present, the presence of fields 32M (in each occurrence of the internal loop), 17F and 14D, depends on field 37U (from sequence B) as follows :

If in Sequence B

field 37U is...

if Subsequence B1 is present

then in each occurrence of

the internal loop field 32M is

...

if Subsequence B1 is present

then field 17F is ...

if Subsequence B1 is present

then field 14D is ...

Present Not allowed Mandatory Mandatory

Not present Mandatory Not allowed Not allowed

Note : the presence of Subsequence B1 is determined by RULE 241.

RULE 146 (D46)

MT 306

In sequence G (see also RULE 130), the presence of the field 37P depends on the value of field 22J as follows:

Sequence G

if field 22J is … Sequence G

then field 37P is …

SITR Not allowed

DBTR Mandatory

Page 80: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-76 RULE 147 (D47) February 2007

RULE 147 (D47)

MT 306

The presence of sequence H depends on the value of field 17F in sequence A as follows:

Sequence A

if field 17F is … then sequence H is …

Y Mandatory

N Not allowed

RULE 148 (D48)

MT 360, 361.

In sequence L and M, for all occurrences of the fields 53a, 56a and 57a: the following rules apply :

If, in Sequence L or M,

field 57a is...

Then, in the same Sequence,

fields 53a, 56a are

Present Optional

Not present Not allowed

RULE 149 (D49)

MT102_not_STP, 102_STP

If the country codes of both the Sender's and the Receiver's BIC belong to the D49_CC list, then field 33B is mandatory in each occurrence of sequence B, otherwise field 33B is optional (Error Code D49). ‘D49_CC’ list of country codes : AD, AT, BE, BG, BV, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GF, GI, GP, GR, HU, IE, IS, IT, LI, LT, LU, LV, MC, MQ, MT, NL, NO, PL, PM, PT, RE, RO, SE, SI, SJ, SK, SM, TF, VA

If Emitter's BIC country

code present in D49_CC

and Receiver's BIC country code

present in D49_CC

in each occurrence of sequence B, then

field 33B is ...

yes yes Mandatory

yes no Optional

no yes Optional

no no Optional

Note: see rule 151

MT103_not_STP, 103_STP

If the country codes of both the Sender's and the Receiver's BIC belong to the D49_CC list, then field 33B is mandatory, otherwise field 33B is optional (Error Code D49).

Page 81: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 150 (D50) 2-77

If Emitter's BIC country code

present in D49_CC

and Receiver's BIC country code

present in D49_CC

then field 33B

is ...

yes yes Mandatory

yes no Optional

no yes Optional

no no Optional

Note: see rule 151

MT504

Sequence D is not allowed when for all occurrence of sequence C either the subsequence C1 is not present, or C1a is present in all occurrences of C1 (Error Code D49):

IF Seq. D is ...

then in sequence(s) C

present in one (or more) occurrence(s) of sequence C:

subsequence C1 must be present and an internal subsequence C1a must not be present

see rule 97

MT505

Sequence C is not allowed when for all occurrence of sequence B either the subsequence B1 is not present, or B1a is present in all occurrences of B1 (Error Code D49):

IF Seq. C is ...

then in sequence(s) B

present in one (or more) occurrence(s) of sequence B:

subsequence B1 must be present and an internal subsequence B1a must not be present

see rule 97

RULE 150 (D50)

MT 102_not_STP, 102_STP

If field 71A in sequence A contains SHA, then fields 71F are optional and field 71G is not allowed in any occurrence of sequence B (Error Code D50).

in sequence A in each occurrence of sequence B

If field 71A is ... then field(s) 71F is(are) ... and field 71G is ...

SHA Optional Not allowed

If field 71A in sequence B contains SHA, then fields 71F are optional and field 71G is not allowed in the same occurrence of sequence B (Error Code D50).

Page 82: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-78 RULE 151 (D51) February 2007

in sequence B in the same occurrence of sequence B

If field 71A is ... then field(s) 71F is(are) ... and field 71G is ...

SHA Optional Not allowed

see rules 120, 213 and 215 (rule 120 takes precedence over rules 150, 213 and 215)

MT 103_not_STP, 103_STP

If field 71A contains SHA, then field(s) 71F is(are) optional and field 71G is not allowed (Error Code D50).

If field 71A is ... then field(s) 71F is(are) ... and field 71G is ...

SHA Optional Not allowed

see rules 213 and 215

MT504

Sequence E is not allowed when for all occurrence of sequence C either the subsequence C2 is not present, or C2a is present in all occurrences of C2 (Error Code D50):

IF Seq. E is ...

then in sequence(s) C

present in one (or more) occurrence(s) of sequence C:

subsequence C2 must be present and an internal subsequence C2a must not be present

see rule 99

MT505

Sequence D is not allowed when for all occurrence of sequence B either the subsequence B2 is not present, or B2a is present in all occurrences of B2 (Error Code D50):

IF Seq. D is ...

then in sequence(s) B

present in one (or more) occurrence(s) of sequence B:

subsequence B2 must be present and an internal subsequence B2a must not be present

see rule 99

RULE 151 (D51)

MT 102_not_STP, 102_STP

If either field 71F (at least one occurrence) or field 71G are present in an occurrence of sequence B, then field 33B is mandatory in the same occurrence of sequence B (Error Code D51)

Page 83: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 152 (D52) 2-79

In each occurrence of sequence B

If field 71F is ...

and field 71G is ...

then field 33B is ...

Present Present Rejected (*)

Present Not present Mandatory

Not present Present Mandatory

Not present Not present Optional

(*) both fields 71F and 71G present is not a valid combination, see rules 150, 213, 215

MT 103_not_STP, 103_STP

If either field 71F (at least one occurrence) or field 71G is present, then field 33B is mandatory, otherwise field 33B is optional (Error Code D51)

If field 71F is ...

and field 71G is ...

then field 33B is ...

Present Present Rejected (*)

Present Not present Mandatory

Not present Present Mandatory

Not present Not present Optional

(*) both fields 71F and 71G present is not a valid combination, see rules 150, 213, 215

RULE 152 (D52)

MT 507

Field :13a::LINK must be present in one and only one occurrence of subsequence A2 (Error Code D52).

Note: See also Network Validated Rule 153.

RULE 153 (D53)

MT 507

Field:20C::RELA must be present in the same occurrence of subsequence A2 where field :13a::LINK is present (Error Code D53).

RULE 154 (D54)

MT 101

If field 36 is present, then field 21F must be present

Sequence B if field 36 is ... Sequence B then field 21F is ...

Present Mandatory

Not present Optional

Page 84: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-80 RULE 155 (D55) February 2007

RULE 155 (D55)

MT 360 and 361.

In Sequence B, C, E and F, if field 14A consists of code word ’OTHER’, field 37N must be present in the respective Sequence.

IF <message’360|361’> THEN FOR <sequence ’B’>

IF <sequence ’B’ : field’14A’> = ’OTHER’ THEN IF NOT <sequence ’B’ : field ’37N’>

THEN <error:’D55’> ENDIF

ENDIF ENDFOR FOR <sequence ’C’> IF <sequence ’C’ : field’14A’> = ’OTHER’ THEN IF NOT <sequence ’C’ : field ’37N’>

THEN <error:’D55’> ENDIF

ENDIF ENDFOR FOR <sequence ’E’> IF <sequence ’E’ : field’14A’> = ’OTHER’ THEN IF NOT <sequence ’E’ : field ’37N’>

THEN <error:’D55’> ENDIF

ENDIF ENDFOR FOR <sequence ’F’> IF <sequence ’F’ : field’14A’> = ’OTHER’ THEN IF NOT <sequence ’F’ : field ’37N’>

THEN <error:’D55’> ENDIF

ENDIF ENDFOR

ENDIF

RULE 156 (D56)

MT 320

In sequence B, the presence of fields 32H and 30X depends on the value of field 22B in sequence A as follows (Error Code D56):

Sequence A

if field 22B is … Sequence B

then field 32H is … Sequence B

and field 30X is …

CONF Not allowed Mandatory

MATU Mandatory Not allowed

ROLL Mandatory Mandatory

Page 85: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 157 (D57) 2-81

MT 330

In sequence B, the presence of fields 32B, 32H and 30X depends on the value of field 22B in sequence A as follows (Error Code D56):

Sequence A if field 22B

is …

Sequence B then field 32B

is …

Sequence B and field 32H

is …

Sequence B and field 30X

is …

CHNG Mandatory Mandatory Optional

CINT Mandatory Mandatory Optional

CONF Mandatory Not allowed Not allowed

SETT Not allowed Mandatory Mandatory

RULE 157 (D57)

MT 102_not_STP, 102_STP, 104, 107

In sequence C, in field 71G, Amount must not equal ‘0’ (Error Code D57):

MT 103_not_STP, 103_STP

In field 71G, Amount must not equal ‘0’ (Error Code D57):

MT 320

In sequence B, the values allowed for field 32H depend on the values of fields 22B in sequence A and 17R in sequence B as follows (Error Code D57):

Sequence A

if field 22B is … Sequence B

and field 17R is … Sequence B

then field 32H Amount must be …

MATU L Negative or zero (*)

MATU B Positive or zero (*)

Not= MATU Not applicable Not applicable

note: see Rule 156, IF 22B contains “MATU” then field 32H is Mandatory

MT 330

In sequence B, the values allowed for field 32H depend on the values of fields 22B in sequence A and 17R in sequence B as follows (Error Code D57):

Sequence A

if field 22B is … Sequence B

and field 17R is … Sequence B

then field 32H Amount must be …

SETT L Negative or zero (*)

SETT B Positive or zero (*)

Not= SETT Not applicable Not applicable

note: see Rule 156, IF 22B contains “SETT” then field 32H is Mandatory

(*) The presence of the letter N (Sign) in subfield 1 of field 32H specifies a negative

Page 86: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-82 RULE 158 (D58) February 2007

amount.

The absence of the letter N (Sign) in subfield 1 of field 32H specifies a positive amount.

If subfield 3 (Amount) of field 32H = 0 (i.e. zero value), then the letter N (Sign) in subfield 1 of field 32H is not allowed (Error Code T14).

RULE 158 (D58)

MT 360.

Depending on the code word value in Sequence A, field 23A subfield 1, only the following combinations of the optional Sequences B, C, E and F are allowed :

Sequence A

if subfield 1 of

field 23A =

then Sequence B

is ...

then Sequence C

is ...

then Sequence E

is ...

then Sequence F

is ...

FIXEDFIXED Mandatory Not allowed Mandatory Not allowed

FLOATFLOAT Not allowed Mandatory Not allowed Mandatory

FLOATFIXED Mandatory Not allowed Not allowed Mandatory

FIXEDFLOAT Not allowed Mandatory Mandatory Not allowed

CAPBUYER Not allowed Mandatory Not allowed Not allowed

CAPSELLER Not allowed Not allowed Not allowed Mandatory

FLOORBUYER Not allowed Mandatory Not allowed Not allowed

FLOORSLLER Not allowed Not allowed Not allowed Mandatory

COLLARBYER Not allowed Mandatory Not allowed Mandatory

COLLARSLLR Not allowed Mandatory Not allowed Mandatory

Note : see RULES 241, 242 for additional subsequence(s) and field(s) semantic checks.

RULE 159 (D59)

MT 360 and 361.

If Subsequence E1 is present, the presence of fields 32M (in each occurrence of the internal loop), 17F and 14D depends on field 37U (from sequence E) as follows :

If in Sequence E

field 37U is ...

if Subsequence E1 is present

then in each occurrence of the internal loop

field 32M is ...

if Subsequence E1 is present

then field 17F is ...

if Subsequence E1 is present

then field 14D is ...

Present Not allowed Mandatory Mandatory

Not present Mandatory Not allowed Not allowed

Note : the presence of Subsequence E1 is determined by RULE 241.

Page 87: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 160 (D60) 2-83

RULE 160 (D60)

MT 101

In each occurrence of Sequence B, if Iffield 33B is present and 'amount' in field 32B is not equal to zero, then field 36 must be present, otherwise field 36 is not allowed (Error code(s): D60).

field 36 is present then field 33B must be present, and vice-versa.

(or: Fields 36 and 33B must be either both present, or both absent)

Sequence B

if field 33B is ...

Sequence B

then field 36 is ...

Present Mandatory

Not present Not allowed

In each occurrence of Sequence B

Sequence B If field 33B

is …

Sequence B and amount in field 32B

is …

Sequence B then field 36

is …

Present Equal zero Not allowed

Not Equal zero Mandatory

Not present Not applicable Not allowed

MT 320, 330 In sequence B, if field 30F is present then field 38J in sequence B is mandatory, otherwise field 38J is not allowed (Error Code D60).

Sequence B if field 30F is ...

Sequence B then field 38J is ...

Present Mandatory

Not present Not allowed

MT 341

In sequence B, if field 30V is present then field 38D in sequence B is mandatory, otherwise field 38D is not allowed (Error Code D60).

Sequence B if field 30V is ...

Sequence B then field 38D is ...

Present Mandatory

Not present Not allowed

RULE 161 (D61)

MT 101

If there is only one debit account, the ordering customer must be identified in field 50a index 5 (option F, G or H) in sequence A. Conversely, if multiple debit accounts are used, they must be identified for every transaction in field 50a index 15 (option F, G or H) of sequence B.

Page 88: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-84 RULE 162 (D62) February 2007

Consequently, field 50a (option F, G or H), must be present in either sequence A (index 5) or in each occurrence of sequence B (index 15), but must never be present in both sequences, nor be absent from both sequences.

Sequence A if field 50a index 5 (option F, G or H)

is ...

In every occurrence of Sequence B then field 50a index 15 (option F, G or H)

is ...

Present Not allowed

Not present Mandatory

RULE 162 (D62)

MT 101

Field 50a (option C or L), may be present in either sequence A (index 4), or in each occurrence of sequence B (index 14), but must not be present in both sequences A and B.

Sequence A if field 50a (option C or L) is ...

Sequence B then field 50a (option C or L) is ...

Present Not allowed

Not present Optional in any occurrence

RULE 163 (D63)

MTs 101, 102_not_STP, 103_not_STP, 104, 107, 405, 416

Field 51A is only valid in FileAct. (This special error code is required to indicate to FileAct users that they have included in a FIN message a field that is reserved for FileAct).

RULE 164 (D64)

MT 101, 206.

Field 52() must not be present in both sequences A and B {Error Code D64}.

Sequence A if field 52() is ... Sequence B then field 52() is ...

Present Not allowed

Not present Optional

RULE 165 (D65)

MT 101, 207

In each occurence of Sequence B: IF field 56a is present then field 57a must be present {Error Code D65}.

if field 56a is ... then field 57a is ...

Present Mandatory

Not present Optional

Page 89: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 166 (D66) 2-85

RULE 166 (D66)

MT 101

Subfield 2 of field 23E is only allowed when subfield 1 of this field consists of 'CMTO', ’PHON’, ’OTHR’ or ‘REPA’.

MT 207

Subfield 2 of field 23E is only allowed when subfield 1 of this field consists of 'CMTO', ’PHON’ or ’OTHR’.

RULE 167 (D67)

MT 101

In each occurence of Sequence B: when field 23E is used more than once, the following combinations are not allowed {Error Code D67}:

CHQB with CMSW

CHQB with CMTO

CHQB with CMZB

CHQB with CORT

CHQB with URGP

CHQB with REPA

CHQB with RTGS

CHQB with NETS

CHQB with PHON

CMSW with CMTO

CMSW with CMZB

CMTO with CMZB

CORT with CMSW

CORT with CMTO

CORT with CMZB

CORT with REPA

EQUI with CMSW

EQUI with CMTO

EQUI with CMZB

NETS with RTGS

For example:

Valid Invalid

:23E:CMSW :23E:CHQB

:23E:CORT :23E:URGP

:23E::PHON :23E:NETS

:23E::NETS :23E:RTGS

Page 90: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-86 RULE 167 (D67) February 2007

MT 103_STP

When field 23E is used more than once, the following combination is not allowed {Error Code D67}:

REPA with CORT

see also rule 198 and 246 for other restrictions

rule 167 takes precedence over rules 246 and 198

MT 103_not_STP

When field 23E is used more than once, the following combinations are not allowed {Error Code D67}:

SDVA with HOLD

SDVA with CHQB

INTC with HOLD

INTC with CHQB

REPA with HOLD

REPA with CHQB

REPA with CORT

CORT with HOLD

CORT with CHQB

HOLD with CHQB

PHOB with TELB

PHON with TELE

PHOI with TELI

see also rule 198 and 246 for other restrictions

rule 167 takes precedence over rules 246 and 198

MT 207

In each occurrence of Sequence B: when field 23E is used more than once, the following combinations are not allowed {Error Code D67}:

CMSW with CMTO

CMSW with CMZB

CMTO with CMZB

CORT with CMSW

CORT with CMTO

CORT with CMZB

NETS with RTGS

Page 91: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 168 (D68) 2-87

RULE 168 (D68)

MT 101

For each occurrence of Sequence B, if field 33B is present in sequence B, its currency code must be different from the currency code in field 32B of the same occurrence of sequence B {Error Code D68}

Examples :

Valid Invalid

:32B:USD1000, :32B:USD1000,00

:33B:CHF1000, :33B:USD1000,

. .

. .

. .

:32B:CHF1200, :32B:CHF1200,

:33B:USD1000, :33B:CHF1000,00

RULE 169 (D69)

MT 320

In sequence A, if field 22B contains MATU, then field 30F in sequence B is not allowed, otherwise field 30F is optional (Error Code D69).

Sequence A

if field 22B is … Sequence B

then field 30F is …

MATU Not allowed

Not= MATU Optional

MT 330

In sequence A, if field 22B contains SETT, then field 30F in sequence B is not allowed, otherwise field 30F is optional (Error Code D69).

Sequence A

if field 22B is … Sequence B

then field 30F is …

SETT Not allowed

Not= SETT Optional

Page 92: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-88 RULE 170 (D70) February 2007

MT 340

In subsequence B2, if at least one occurrence of field 22B contains the code OTHR, then sequence E and field 72 in sequence E are mandatory, otherwise (i.e. if no occurrence of field 22B contains the code OTHR), field 72 in sequence E is optional (Error Code D69):

Subsequence B2 if at least one field 22B is …

then sequence E is …

Sequence E and field 72 is …

= OTHR Mandatory Mandatory

otherwise (i.e. no occurrence of field 22B contains the code word OTHR)

Optional Optional

IF <message’340’> THEN FOR <subsequence’B2’>

IF 1<field’22B’>=’OTHR’ THEN IF NOT <sequence’E’:field’72’> THEN <error:’D69’> ENDIF

ENDIF ENDFOR

ENDIF

RULE 170 (D70)

MT 300

In Sequence A, the presence of field 21 depends on field 22A as follows:

Sequence A if field 22A is ...

Sequence A then field 21 is ...

AMND Mandatory

CANC Mandatory

DUPL Optional

EXOP Optional

NEWT Optional

MT 320, 330

In sequence A, the presence of field 21 depends on the value of fields 22B and 22A as follows (Error code D70):

Sequence A

if field 22B is … Sequence A

and if field 22A is … Sequence A

then field 21 is …

CONF NEWT Optional

CONF Not= NEWT Mandatory

Not= CONF any value Mandatory

Page 93: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 171 (D71) 2-89

RULE 171 (D71) MT 502, 514, 518

If field :22F::DBNM//VEND is present in sequence C, then it is mandatory to specify a vendor: i.e. one occurrence of sequence D Other Parties must contain a party field :95a::VEND (Error code: D71)

If Seq.C

is … And in Seq.C

if field :22F::DBNM//VEND

is … (*)

then Seq.D is …

and in one occurrence of Seq.D

field :95a::VEND is …

present present Mandatory i.e. Seq.D must be present minimum once

Mandatory note: :95a::VEND Mandatory in only one occurrence of Seq.D ref. Rule 284

not present Optional Optional

not present n/aNot applicable Optional Optional

(*) if the Data Source Scheme is present in field :22F::DBNM//VEND then the conditional rule does not apply.

Mt 513, 515

If field :22F::DBNM//VEND is present in sequence D, then it is mandatory to specify a vendor: i.e. one occurrence of sequence E Other Parties must contain a party field :95a::VEND (Error code: D71)

If Seq.D is … (*)

And in Seq.D if field

:22F::DBNM//VEND is … (*)

then Seq.E is …

and in one occurrence of Seq.E

field :95a::VEND is …

present present Mandatory i.e. Seq.E must be present minimum once

Mandatory note: :95a::VEND Mandatory in only one occurrence of Seq.E ref. Rule 284

not present Optional Optional

not present n/aNot applicable Optional Optional

(*) if the Data Source Scheme is present in field :22F::DBNM//VEND then the conditional rule does not apply.

Page 94: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-90 RULE 172 (D72) February 2007

MT 528, 529

If field :22F::DBNM//VEND is present in sequence C, then it is mandatory to specify a vendor: i.e. one occurrence of sequence D Other Parties must contain a party field :95a::VEND (Error code: D71)

In Seq.C if field

:22F::DBNM//VEND is … (*)

then Seq.D is …

and in one occurrence of Seq.D

field :95a::VEND is …

present Mandatory i.e. Seq.D must be present minimum once

Mandatory note: :95a::VEND Mandatory in only one occurrence of Seq.D ref. Rule 284

not present Optional Optional

(*) if the Data Source Scheme is present in field :22F::DBNM//VEND then the conditional rule does not apply.

MT 540, 541, 542, 543

If field :22F::DBNM//VEND is present in sequence E, then it is mandatory to specify a vendor: i.e. one occurrence of sequence F Other Parties must contain a party field :95a::VEND (Error code: D71)

In Seq.E if field

:22F::DBNM//VEND is …

then Seq.F is …

and in one occurrence of Seq.F

field :95a::VEND is …

present (*) Mandatory i.e. Seq.F must be present minimum once

Mandatory note: :95a::VEND Mandatory in only one occurrence of Seq.F ref. Rule 284

not present Optional Optional

(*) if the Data Source Scheme is present in field :22F::DBNM//VEND then the conditional rule does not apply.

RULE 172 (D72) MT 320

In sequence A, if field 94A is present and contains AGNT, then field 21N in sequence A is mandatory, otherwise it is optional (Error Code D72).

Sequence A

if field 94A is … Sequence A

then field 21N is …

AGNT Mandatory

BILA Optional

Page 95: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 173 (D73) 2-91

BROK Optional

Not present Optional

MT 330, 350

In sequence A, if field 94A is present and contains AGNT, then field 21N in sequence A is mandatory, otherwise field 21N is optional (Error Code D72).

Sequence A

if field 94A is … Sequence A

then field 21N is …

AGNT Mandatory

BILA Optional

Not present Optional

RULE 173 (D73)

MT 104, 107

When present in Sequence A, fields 21E, 26T, 77B, 71A, 52a, and field 50a (option C or L) must, independently of each other, not be present in any occurrence of Sequence B. When present in one or more occurrences of Sequence B, fields 21E, 26T, 77B, 71A, 52a, and field 50a (option C or L) must not be present in Sequence A {Error Code D73}.

Sequence A if field 26T is ...

Sequence B then field 26T is ...

Sequence A if field 77B is ...

Sequence B then field 77B is ...

Present Not allowed Present Not allowed

Not present Optional Not present Optional

Sequence A if field 71A is ...

Sequence B then field 71A is ...

Sequence A if field 52a is ...

Sequence B then field 52a is ...

Present Not allowed Present Not allowed

Not present Optional Not present Optional

Sequence A if field 21E is ...

Sequence B then field 21E is ...

Sequence A

if field 50a (option C

or L) is ...

Sequence B

then field 50a (option

C or L) is ...

Present Not allowed Present Not allowed

Not present Optional Not present Optional

Page 96: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-92 RULE 174 (D74) February 2007

RULE 174 (D74)

MT 300

The presence of Sequence C and fields 88a and 71F depend on field 94A as follows:

Sequence A if field 94A is ...

Then Sequence C is ...

Sequence C and field 88a is ....

Sequence C and field 71F is ...

Not present Optional Optional Not allowed

AGNT Optional Optional Not allowed

BILA Optional Optional Not allowed

BROK Mandatory Mandatory Optional

MT 306

The presence of sequence I, and the presence of fields 88a and 71F in sequence I, depend on the value of field 94A in sequence A as follows:

Sequence A if field 94A is ...

Then Sequence I is ...

Sequence I and field 88a is ....

Sequence I and field 71F is ...

Not present Optional Optional Not allowed

BROK Mandatory Mandatory Optional

Not= BROK Optional Optional Not allowed

MT 320

The presence of sequence H, and the presence of fields 88a and 71F in sequence H, depend on the value of field 94A in sequence A as follows (Error code D74):

Sequence A if field 94A is ...

then Sequence H

is ...

Sequence H and field 88a is ....

Sequence H and field 71F is ...

Not present Optional Optional Not allowed

AGNT Optional Optional Not allowed

BILA Optional Optional Not allowed

BROK Mandatory Mandatory Optional

MT 340

The presence of sequence E, and the presence of fields 88a and 71F in sequence E, depend on the value of field 94A in sequence A as follows (Error code D74):

Sequence A if field 94A is ...

then sequence E

is ...

Sequence E and field 88a is ....

Sequence E and field 71F is ...

Not present Optional Optional Not allowed

BROK Mandatory Mandatory Optional

Not= BROK Optional Optional Not allowed

Page 97: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 175 (D75) 2-93

MT 360, 361

The presence of fields 88a and 71F in Sequence N and therefore, the presence of Sequence N itself, depend on field 94A in Sequence A as follows :

Sequence A if field 94A is ...

Then Sequence N is ...

Sequence N with field 88a ...

Sequence N with field 71F...

Not present Optional Optional Not allowed

AGNT Optional Optional Not allowed

BILA Optional Optional Not allowed

BROK Mandatory Mandatory Optional

RULE 175 (D75)

MT 103_not_STP, 103_STP

If field 33B is present and the currency code is different from the currency code in field 32A, field 36 must be present, otherwise field 36 is not allowed (Error Code D75).

If field 33B is ...

and currency code in field 33B ...

then field 36

is ...

Present NOT= currency code in field 32A

Mandatory

= currency code in field 32A

Not allowed

Not present Not applicableNA Not allowed

MT 104, 107

In any occurrence of Sequence B, if field 33B is present and the currency codes in fields 32B and 33B are different, then field 36 must be present.

Otherwise, field 36 must not be present. {Error Code D75}

Sequence B if field 33B is ... Sequence B then field 36 is ...

Not present Not allowed

Present, AND <field 32B currency code> NOT

= <field 33B currency code>

Mandatory

Present, AND <field 32B currency code> = <field 33B currency code>

Not allowed

Page 98: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-94 RULE 176 (D76) February 2007

RULE 176 (D76)

MT 300

The presence of Sequence D depends on field 17U in Sequence A as follows:

Sequence A if field 17U is ...

then Sequence D is ...

Not present Not allowed

Y Mandatory

N Not allowed

RULE 177 (D77)

MT 104

If field 21E is present in Sequence A, then field 50a (option A or K) must also be present in Sequence A. In each occurrence of Sequence B, if field 21E is present then field 50a (option A or K) must also be present in the same occurrence {Error Code D77}:

Sequence A if field 21E is ...

Sequence A then field 50a

(option A or K) is ...

Sequence B if field 21E is ...

Sequence B then field 50a

(option A or K) is ...

Present Mandatory Present Mandatory

Not present Optional (See 76) Not present Optional (See 76, 96)

MT 107

If field 21E is present in Sequence A, then field 50a (option A or K) must also be present in Sequence A. In each occurrence of Sequence B, if field 21E is present then field 50a (option A or K) must also be present in the same occurrence {Error Code D77}:

Sequence A if field 21E is ...

Sequence A then field 50a

(option A or K) is ...

Sequence B if field 21E is ...

Sequence B then field 50a

(option A or K) is ...

Present Mandatory Present Mandatory

Not present Optional (See 186) Not present Optional (See 186)

Page 99: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 178 (D78) 2-95

RULE 178 (D78)

MT 416

Field 23E must be present either in Sequence A or in each occurrence of Sequence B but not in both.

Sequence A if field 23E is

...

Sequence B then field 23E is ...

Present Not allowed

Not present Mandatory in each occurrence of Seq. B

RULE 179 (D79)

MT 102_not_STP, 102_STP

If field 71G is present in an occurrence of sequence B, then field 71G is mandatory in the sequence C (Error Code D79)

if in any occurrence of Sequence B field 71G is ...

Sequence C then field 71G is ...

Present Mandatory

MT 104, 107

If field 71F is present in one or more occurrence of Sequence B, then it must also be present in Sequence C, and vice-versa {Error Code D79}:

If field 71G is present in one or more occurrence of Sequence B, then it must also be present in Sequence C, and vice-versa {Error Code D79}:

Sequence B if field 71F is ...

Sequence C then field 71F is ...

Sequence B if field 71G is ...

Sequence C then field 71G is ...

Present Mandatory Present Mandatory

Not present Not allowed Not present Not allowed

RULE 180 (D80)

MT 104

If sequence C is present, and if the amount in field 32B of sequence C is equal to the sum of the amounts of the fields 32B of sequence B then field 19 must not be present; otherwise, field 19 must be present. {Error Code D80}.

Page 100: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-96 RULE 181 (D81) February 2007

IF <message ’104’> AND <sequence ’C’> THEN IF TOTAL_of <sequence ’B’ : field ’32B’.AMOUNT>

= <sequence ’C’ : field ’32B’.AMOUNT> THEN IF <sequence ’C’ : field ’19’>

THEN <error: ’D80’> ENDIF

ELSE IF NOT <sequence ’C’ : field ’19’> THEN <error: ’D80’> ENDIF

ENDIF ENDIF see rule 96

MT 107

If the amount in field 32B of sequence C is equal to the sum of the amounts of the fields 32B of sequence B then field 19 must not be present; otherwise, field 19 must be present. {Error Code D80}.

IF <message ’107’> THEN IF TOTAL_of <sequence ’B’ : field ’32B’.AMOUNT>

= <sequence ’C’ : field ’32B’.AMOUNT> THEN IF <sequence ’C’ : field ’19’>

THEN <error: ’D80’> ENDIF

ELSE IF NOT <sequence ’C’ : field ’19’> THEN <error: ’D80’> ENDIF

ENDIF ENDIF

MT 256

If the amount in field 32A of sequence C is equal to the sum of the amounts of fields 32J of sequence B, then field 19 must not be present; otherwise (i.e. the amount in field 32A of sequence C is not equal to the sum of the amounts of fields 32J of sequence B) field 19 must be present.

RULE 181 (D81)

MT 104, 107, 206, 256, 416

Subfield 2 of field 23E is only allowed when subfield 1 of this field consists of ’OTHR’.

MT 306

Subfield 2 of field 22K, i.e. "/"35x, is mandatory when subfield 1 of this field consists of ’OTHR’, otherwise it is not allowed.

MT 405.

Subfield 2 of field 23C is only allowed when subfield 1 of this field consists of ’OTHR’.

Subfield 2 of field 23E is only allowed when subfield 1 of this field consists of ’OTHR’.

Subfield 2 of field 23F is only allowed when subfield 1 of this field consists of ’OTHR’.

Page 101: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 182 (D82) 2-97

MT 700, 710, 720

Subfield 2 of field 40E, i.e. "/"35x, is only allowed when subfield 1 of this field consists of ’OTHR’.

MT 760

Subfield 2 of field 40C, i.e. "/"35x, is only allowed when subfield 1 of this field consists of ’OTHR’.

RULE 182 (D82)

MT 104, 107, 207

The first component in line 1 of field 72 must consist of either ’/RETN/’ or ’/REJT/’.

RULE 183 (D83)

MT 416

When present in Sequence A, fields 71F and 77A must, independently of each other, not be present in any occurrence of Sequence B. Conversely, when not present in Sequence A, fields 71F and 77A are, independently of each other, optional in any occurrence of Sequence B.

in Sequence A, if field 71F is ...

then in each occurrence of

Sequence B, field 71F is ...

in Sequence A if field 77A is ...

then in each occurrence of

Sequence B, field 77A is ...

Present Not allowed Present Not allowed

Not present Optional Not present Optional

RULE 184 (D84)

MT 740

Either field 58a or 59, but not both, may be present.

if field 58a is ... then field 59

is ...

Present Not allowed

Not present Optional

Page 102: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-98 RULE 185 (D85) February 2007

RULE 185 (D85)

MT 330

In sequence B, if field 30X is present, then field 34E in sequence B is mandatory, otherwise field 34E is not allowed (Error Code D85).

Sequence B if field 30X is …

Sequence B then field 34E is …

Present Mandatory

Not present Not allowed

RULE 186 (D86)

MT 107

Fields 23E and 50a (option A or K) must, independently of each other, be present either in Sequence A or in each occurrence of Sequence B but not in both (Error Code D86).

Sequence A if field 23E is ...

In each occurrence of Sequence B

then field 23E is ...

Sequence A if field 50a (option

A or K) is ...

In each occurrence of Sequence B then field 50a

(option A or K) is ...

Present Not allowed Present Not allowed

Not present Mandatory Not present Mandatory

MT 405

Fields 23E Collection Type and 50D Principal must, independently of each other, be present either in Sequence A or in each occurrence of Sequence B but not in both.

Sequence A if field 23E is ...

In each occurrence of Sequence B

then field 23E is ...

Sequence A if field 50D is ...

In each occurrence of Sequence B

then field 50D is ...

Present Not allowed Present Not allowed

Not present Mandatory Not present Mandatory

Page 103: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 187 (D87) 2-99

RULE 187 (D87)

MT 405

When present in Sequence A, fields 26T Transaction Type Code, 77B Regulatory Reporting, 71A Details of Charges, 50L Instructing Party and 52a Remitting Bank must, independently of each other, not be present in any occurrence of Sequence B. Conversely, when not present in Sequence A, fields 26T Transaction Type Code, 77B Regulatory Reporting, 71A Details of Charges, 50L Instructing Party and 52a Remitting Bank are, independently of each other, optional in any occurrence of Sequence B.

in Sequence A, if field 26T is ...

then in each occurrence of

Sequence B, field 26T is ...

in Sequence A, if field 77B is ...

then in each occurrence of

Sequence B, field 77B is ...

Present Not allowed Present Not allowed

Not present Optional Not present Optional

in Sequence A, if field 71A is ...

then in each occurrence of

Sequence B, field 71A is ...

in Sequence A, if field 52a is ...

then in each occurrence of

Sequence B, field 52a is ...

Present Not allowed Present Not allowed

Not present Optional Not present Optional

in Sequence A, if field 50L is ...

then in each occurrence of

Sequence B, field 50L is ...

Present Not allowed

Not present Optional

RULE 188 (D88)

MT 405

Independently of each other, if fields 71F and 71G are present in one or more occurrence of Sequence B, then they must also be present in Sequence C. Conversely, if fields 71F and 71G are not present in any occurrence of Sequence B, then they must not be present in Sequence C.

IF (in Sequence B) field 71F is ...

and Sequence C

is ...

then in Sequence C, field 71F is ...

Present in one or more

occurrences of Seq. B present Mandatory

not present N.A.

Not Present in any

occurrence of Seq. B present Not Allowed

not present N.A.

Page 104: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-100 RULE 189 (D89) February 2007

IF (in Sequence B) field 71G is ...

and Sequence C

is ...

then in Sequence C, field 71G is ...

Present in one or more

occurrences of Seq. B present Mandatory

not present N.A.

Not Present in any

occurrence of Seq. B present Not Allowed

not present N.A.

RULE 189 (D89)

MT 405

If Sequence C is present and the sum of the fields 32a Face Amount of Financial Document in Sequence B equals the amount indicated in field 32a Proceeds to be Remitted in Sequence C, then field 19 Sum of Face Amounts of Financial Documents must not be present in Sequence C.

If Sequence C is present and the sum of the fields 32a Face Amount of Financial Document in Sequence B does not equal the amount indicated in field 32a Proceeds to be Remitted in Sequence C, then field 19 Sum of Face Amounts of Financial Documents must be present in Sequence C and must equal the sum of all the fields 32a Face Amount of Financial Document in Sequences B.

RULE 190 (D90)

MT 405

The presence of Subsequences A1 and B1 Avalisation Details is dependent on the presence and the content of subfield 1 of field 23E Collection Type in the same Sequence A and B respectively.

Sequence A if field 23E contains

...

Subsequence A1 is ...

Sequence B if field 23E contains

...

Subsequence B1 is ...

BACC Not allowed BACC Not allowed

BAAV Mandatory BAAV Mandatory

BNAC Not allowed BNAC Not allowed

RCPT Not allowed RCPT Not allowed

PRNO Not allowed PRNO Not allowed

OTHR Not allowed OTHR Not allowed

23E not present Not allowed 23E not present Not allowed

RULE 191 (D91)

MT 405

If field 71A Details of Charges contains either the code word ‘SHA’ or ‘BEN’, field 17A Charges Indicator must be used.

If field 71A Details of Charges contains the code word ‘OUR’, field 17A Charges Indicator must not be used.

Page 105: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 192 (D92) 2-101

If field 71A Details of Charges is not present, field 17A Charges Indicator is optional.

Sequence A if field 71A is ...

Sequence A then field 17A is ...

Sequence B if field 71A is ...

Sequence B then field 17A is ...

SHA Mandatory SHA Mandatory

BEN Mandatory BEN Mandatory

OUR Not allowed OUR Not allowed

Not present Optional Not present Optional

RULE 192 (D92)

MT 530

In each occurrence of Sequence B, all Orders of field 20C are Optional, but at least one Order (any one) must be present.

MT 568

All Orders of field 70a are Optional, but at least one Order (any one) must be present.

RULE 193 (D93)

MT 102_not_STP

If field 23 contains the code “CHQB” then subfield 1 (account number line) must not be present in field 59a. In all other cases, it is mandatory {Error Code D93}.

IF <message ’102_not_STP’> FOR <sequence ’B’> IF <field ’23’> = ’CHQB’ THEN IF <field ’59*’ : subf 1>

THEN <error: ’D93’> ENDIF

ELSE IF NOT <field ’59*’ : subf 1> THEN <error: ’D93’> ENDIF

ENDIF ENDFOR

ENDIF

MT 530

In each occurrence of Sequence B, all Orders of field 22F are Optional, but at least one Order (any one) must be present.

Page 106: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-102 RULE 194 (D94) February 2007

RULE 194 (D94)

MT 405

The presence of fields 22D and 22E is dependent on the presence and the content of subfield 1 of field 23E.

Sequence A if field 23E contains ...

Sequence A then field 22D is ...

Sequence A then field 22E is ...

BACC Mandatory Optional

BAAV Mandatory Optional

BNAC Mandatory Optional

RCPT Not allowed Optional

PRNO Not allowed Optional

OTHR Optional Optional

23E not present Not allowed Not allowed

Sequence B if field 23E contains ...

Sequence B then field 22D is ...

Sequence B then field 22E is ...

BACC Mandatory Optional

BAAV Mandatory Optional

BNAC Mandatory Optional

RCPT Not allowed Optional

PRNO Not allowed Optional

OTHR Optional Optional

23E not present Not allowed Not allowed

RULE 195 (D95)

MT 405

In Sequence A and in Sequence B, depending on the code word used in the field 23E, only the following code words combinations may be used in the fields 22D and 22E :

Sequence A field 23E

Sequence A field 22D

Sequence A field 22E

BACC CPAY PNPY

BAAV CPAY PNPY

BNAC CACC PNAC

BNAC CACP PNAP

BNAC CACP PNPY

BNAC CPAY PNPY

RCPT field not allowed any valid code word

PRNO field not allowed any valid code word

OTHR any valid code word any valid code word

Page 107: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 196 (D96) 2-103

Sequence B field 23E

Sequence B field 22D

Sequence B field 22E

BACC CPAY PNPY

BAAV CPAY PNPY

BNAC CACC PNAC

BNAC CACP PNAP

BNAC CACP PNPY

BNAC CPAY PNPY

RCPT field not allowed any valid code word

PRNO field not allowed any valid code word

OTHR any valid code word any valid code word

RULE 196 (D96)

MT 300

If sequence D is present, then Field 16A must be equal to the number of internal repetitions in sequence D (i.e. block of fields : 17A - 58a).

MT 340, 360, 361, 362

Field 18A must be equal to the number of repetitions that immediately follows.

RULE 197 (D97)

MT 103_not_STP

Subfield 2 of field 23E is only allowed when subfield 1 consists of : 'PHON', 'PHOB', 'PHOI', 'TELE', 'TELB', 'TELI', 'HOLD' or ‘REPA’.

103_STP

Subfield 2 of field 23E is only allowed when subfield 1 consists of : ‘REPA’.

RULE 198 (D98)

MT101

If field 21R is present in sequence A, then in each occurrence of sequence B, the currency code in fields 32B must be the same (Error code D98).

MT 103_not_STP

If field 23E is repeated, the codes must appear in the following order (Error code D98)

SDVA

INTC

REPA

CORT

Page 108: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-104 RULE 199 (D99) February 2007

HOLD

CHQB

PHOB

TELB

PHON

TELE

PHOI

TELI

note: the first code does not need to be SDVA, there may be gaps.

see also rule 167 and 246 for other restrictions

rule 167 takes precedence over rules 246 and 198

MT 103_STP

If field 23E is repeated, the codes must appear in the following order (Error code D98)

SDVA

INTC

REPA

CORT

note: the first code does not need to be SDVA, there may be gaps.

see also rule 167 and 246 for other restrictions

rule 167 takes precedence over rules 246 and 198

RULE 199 (D99)

MT101

In each occurrence of sequence B, if 'amount' in field 32B is equal to zero, then fields 21F, 33B and 36 are not allowed. (Error D99).

In each occurrence of sequence B,

if amount in field 32B is ...

in the same occurrence of sequence B

then fields 21F, 33B and 36 are…

= 0 Not allowed

not= 0 Optional

MT 564

If field :70E::NAME is used in sequence D, then field :22F::CAEV//CHAN must be present in Seq. A, and field :22F::CHAN//NAME must be present in sequence D. (Error code(s): D99).

Page 109: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 200 (E00) 2-105

In Seq. D if field :70E::NAME

is…

then Seq. A field :22F::CAEV//CHAN

is…

and Seq. D field :22F::CHAN//NAME

is…

Present Mandatory, and DSS must not be present

Mandatory, and DSS must not be present

Not present Not applicable n/a Not applicablen/a

MT 566

If field :70E::NAME is used in sequence C, then field :22F::CAEV//CHAN must be present in Seq. A, and field :22F::CHAN//NAME must be present in sequence C. (Error code(s): D99).

In Seq. C if field :70E::NAME

is…

then Seq. A field :22F::CAEV//CHAN

is…

and Seq. C field :22F::CHAN//NAME

is…

Present Mandatory, and DSS must not be present

Mandatory, and DSS must not be present

Not present Not applicablen/a Not applicablen/a

RULE 200 (E00)

Not used.

RULE 201 (E01)

MT 103_not_STP

If field 23B contains the code word ‘SPRI’, field 23E can contain only the code words ‘SDVA’, ‘TELB’, ‘PHOB’, ‘INTC’.

If field 23B is ... then field 23E is ...

“SPRI” Optional. It can contain only “SDVA”, “TELB“, “PHOB” or ”INTC”

NOT= “SPRI” Optional

IF <message ’103_not_STP’> THEN IF <field ’23B’> = ’SPRI’

THEN FOR <field ’23E’> IF <field ’23E’ : subf 1> NOT= (“SDVA” | “TELB“ | “PHOB” | ”INTC”) THEN <error: ’E01’> ENDIF ENDFOR

ENDIF ENDIF

Page 110: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-106 RULE 201 (E01) February 2007

MT 103_STP

If field 23B contains the code word ‘SPRI’, field 23E can contain only the code words ‘SDVA’, ‘INTC’.

If field 23B is ... then field 23E is ...

“SPRI” Optional. It can contain only “SDVA” or ”INTC”

NOT= “SPRI” Optional

IF <message ’103_STP’> THEN IF <field ’23B’> = ’SPRI’

THEN FOR <field ’23E’> IF <field ’23E’ : subf 1> NOT= (“SDVA” | ”INTC”) THEN <error: ’E01’> ENDIF ENDFOR

ENDIF ENDIF

MT 564

In sequence A, if field :22F::CAEV//RHDI is present, then sequence C is not allowed. (Error code E01).

In sequence A, if field :22F::CAEV//RHTS is present, then sequence C is mandatory (Error code E01).

In Seq.A if field :22F::CAEV (*)

is …

then Seq.C is …

:22F::CAEV//RHDI Not allowed

:22F::CAEV//RHTS Mandatory

Other Optional

(*) if the Data Source Scheme is present in field :22F::CAEV then the conditional rule does not apply.

RULE 202 (E02)

MT 103_not_STP, 103_STP

If field 23B contains one of the code words ‘SSTD’ or ‘SPAY’, field 23E must not be used.

If field 23B is ... then field 23E is ...

“SSTD” Not allowed

“SPAY” Not allowed

NOT= “SSTD” and

NOT= “SPAY”

Optional

Page 111: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 203 (E03) 2-107

MT 564

In sequence A, if field :23G:REPE is present, then: when sequence C is present, field :36a::QINT is mandatory (Error code E02).

In Seq.A if field :23G:REPE

is…

And Seq.C is…

then in Seq.C field :36a::QINT

is…

Present Present Mandatory

Not present n/a Not applicable

Not present Optional Optional

RULE 203 (E03)

MT 103_not_STP

If field 23B contains one of the code words ‘SPRI’, ‘SSTD’ or ‘SPAY’, field 53a must not be used with option D.

If field 23B is ... then field 53a ...

“SPRI”, “SSTD” or “SPAY” Must not be used with option D (i.e. only 53A and 53B are Optional)

other code 53a Optional

MT 564

In sequence A, if field :22F::CAEV//OTHR is present, then minimum one of the Sequences D or F must be present, and minimum one occurrence of field :70E::ADTX must be present in the message (i.e. in seq. D, or F, or both) Error Code E03).

Sequence A, if field

:22F::CAEV//OTHR

is... (*)

And Seq. D

is…

And in Sequence D

field :70E::ADTX

is…

Then Sequence F

is...

And in Sequence F

field :70E::ADTX

is…

Present Present Optional Optional

Not Present Mandatory Mandatory

Present

Not present Not applicablen/a Mandatory Mandatory

Not present Not applicable n/a Not applicable n/a n/aNot applicable n/aNot applicable

(*) if the Data Source Scheme is present in field :22F::CAEV//OTHR then the conditional rule does not apply.

RULE 204 (E04)

MT 103_not_STP

If field 23B contains one of the code words ‘SPRI’, ‘SSTD’ or ‘SPAY’ and field 53a is present with option B, Subfield 1 (Party Identifier: [‘/’<DC>][‘/’34x] ‘CRLF’) must be present in field 53B.

MT 103_STP

If field 53a is present with option B, Subfield 1 (Party Identifier: [‘/’<DC>][‘/’34x] ‘CRLF’) must be present in field 53B.

Page 112: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-108 RULE 205 (E05) February 2007

RULE 205 (E05)

MT 103_not_STP

If field 23B contains one of the code words ‘SPRI’, ‘SSTD’ or ‘SPAY’, field 54a can be used with option A only.

If field 23B is ... then field 54a ...

“SPRI”, “SSTD” or “SPAY” 54A Optional (options B and D are not allowed)

other code 54a Optional

RULE 206 (E06)

MT 103_not_STP

If field 55a is present, then both fields 53a and 54a must also be present.

If field 55a is ... then field 53a is ... and field 54a is ...

Present Mandatory Mandatory

Not present Optional Optional

MT 103_STP

If field 55A is present, then both fields 53A and 54A must also be present.

If field 55A is ... then field 53a is ... and field 54A is ...

Present 53A Mandatory Mandatory

Not present 53a Optional Optional

MT 564

If field :22F::CAEV//RHDI is present in sequence A, then field :22F::RHDI must be present in sequence D or in at least one occurrence of sequence E, but not in both D and E. (Error code(s): E06).

Page 113: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 207 (E07) 2-109

In Seq. A

if field :22F::CAEV//RHDI (*) is…

And if Seq. D is…

then Seq E and field :22F::RHDI are…

Present present and :22F::RHDI is present Seq. E is Optional, and field

:22F::RHDI is not allowed in all

occurences of Seq. E

present and :22F::RHDI is not

present

Seq. E is Mandatory (minimum

one occurrence), and field

:22F::RHDI is Mandatory in at

least one occurrence of Seq. E

not Present Seq. E is Mandatory (minimum

one occurrence), and field

:22F::RHDI is Mandatory in at

least one occurrence of Seq. E

Not Present Not applicableN.A. Not applicableN.A.

(*) if the Data Source Scheme is present in field :22F::CAEV then the conditional rule does not apply.

MT 566

If field :22F::CAEV//RHDI is present in sequence A, then Sequence C is Mandatory and field :22F::RHDI must be present in sequence C (Error code(s): E06.

In Seq. A

if field :22F::CAEV//RHDI (*) is…

then Seq. C is…

and in Seq. C field :22F::RHDI is…

Present Mandatory Mandatory

Not Present Optional Optional

(*) if the Data Source Scheme is present in field :22F::CAEV//RHDI then the conditional rule does not apply.

RULE 207 (E07)

MT 103_not_STP

If field 23B contains one of the code words ‘SPRI’, ‘SSTD’ or ‘SPAY’, field 55a can be used with option A only.

If field 23B is ... then field 55a ...

“SPRI”, “SSTD” or “SPAY” 55A Optional (options B and D are not allowed)

other code 55a Optional

Page 114: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-110 RULE 208 (E08) February 2007

RULE 208 (E08)

MT 381

If the message is a cancellation (i.e. if the Function of the Message -field 23G- is CANC), then subsequence A1 Linkages must be present at least once, and a reference to the previous message must be specified in the Linkage section (i.e. field :20C::PREV must be present minimum once in that message).

Sequence A

if field :23G: is ...

Then subsequence A1 is ... and in minimum one occurrence of subsequence A1 field :20C::PREV is ...

CANC Mandatory, i.e. minimum one occurrence of A1

Mandatory

(note: it does not need to be present in all occurrences of

A1)

not CANC Optional Optional

MT 500, 513, 514, 518, 519, 528, 529, 535, 536, 537, 538, 549, 565, , 575, 576, 584, 586, 587

If the message is a cancellation, ie, Function of the Message (field 23G) is CANC, then subsequence A1 (Linkages) must be present at least once in the message, and in one and only in one occurrence of A1, field :20C::PREV must be present; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08).

Sequence A

if field :23G: is ...

Then subsequence A1 is ...

and field :20C::PREV is ...

CANC Mandatory (minimum one occurrence of A1 must be

present)

Mandatory in one occurrence of Subseq.A1, and not allowed

in all other ocurrences of Subseq.A1

NEWM Optional Not applicableN.A.

MT 502

If the message is a cancellation or a replacement, ie, Function of the Message (field 23G) is CANC or REPL, then subsequence A1 (Linkages) must be present at least once in the message, and in one and only in one occurrence of A1, field :20C::PREV must be present; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08).

Sequence A

if field :23G: is ...

Then subsequence A1 is ...

and field :20C::PREV is ...

CANC or REPL Mandatory (minimum one occurrence of A1 must be

present)

Mandatory in one occurrence of Subseq.A1, and not allowed

in all other ocurrences of Subseq.A1

NEWM Optional Not applicableN.A.

Page 115: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 208 (E08) 2-111

MT 503, 504, 505, 506, 569

If the message is a cancellation, ie, Function of the Message (field 23G) is CANC, then subsequence A2 (Linkages) must be present at least once in the message, and in one and only in one occurrence of A2, field :20C::PREV must be present; consequently, in all other occurrences of A2, field :20C::PREV is not allowed (Error Code E08).

Sequence A

if field :23G: is ...

Then subsequence A2 is ...

and field :20C::PREV is ...

CANC Mandatory (minimum one occurrence of A2 must be

present)

Mandatory in one occurrence of Subseq.A2, and not allowed

in all other ocurrences of Subseq.A2

NEWM Optional N.A. Not applicable

MT 508, 524

If the message is a cancellation, ie, Function of the Message (field 23G) is CANC, then subsequence A1 (Linkages) must be present in the message, and field :20C::PREV must be present in A1 (Error code(s): E08).

Sequence A

if field :23G: is ...

Then subsequence A1 is ... and field :20C::PREV is ...

CANC Mandatory Mandatory

NEWM Optional N.A. Not applicable

MT 501, 515, 517

If the message is a cancellation, ie, Function of the Message (field 23G) is CANC, then field :20C::PREV must be present in one and only one occurrence of A1; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08).

Sequence A if field :23G: is ...

then field :20C::PREV is ...

CANC Mandatory in one occurrence of Subseq.A1, and not allowed in all other ocurrences of Subseq.A1

NEWM N.A. Not applicable

Page 116: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-112 RULE 208 (E08) February 2007

MT 527

In sequence A, if the value of field :23G:<Function> subfield 1 is REPL, then sequence B is not allowed otherwise it is mandatory (Error Code E08).

Sequence A

if value of field :23G:4!c[/4!c] subfield 1 is …

then sequence B is …

REPL Not allowed

NEWM Mandatory

CANC Mandatory

MT 540, 541, 542, 543

If the message is a cancellation, ie, Function of the Message (field 23G) is CANC, then subsequence A1 (Linkages) must be present at least once in the message, and in one and only in one occurrence of A1, field :20C::PREV must be present; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08).

Sequence A

if field :23G: is ...

Then subsequence A1 is ...

and field :20C::PREV is ...

CANC Mandatory (minimum one occurrence of A1 must be

present)

Mandatory in one occurrence of Subseq.A1, and not allowed

in all other ocurrences of Subseq.A1

NEWM or PREA Optional N.A. Not applicable

MT 544, 545, 546, 547

If the message is a cancellation or a reversal, ie, Function of the Message (field 23G) is CANC or RVSL, then field :20C::PREV must be present in one and only one occurrence of Subseq. A1; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08).

Sequence A

if field :23G: is ...

Then field :20C::PREV is ...

CANC or RVSL Mandatory in one occurrence of Subseq.A1, and not allowed in all other ocurrences of Subseq.A1

NEWM N.A. Not applicable

Page 117: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 208 (E08) 2-113

MT 558

In sequence A, the presence of fields :25D:: and :24B:: depends on the value of field :23G:<Function> subfield 1 as follows (Error Code E08):

Sequence A

if value of field :23G: 4!c[/4!c]

subfield 1 is ...

then field :25D:: is ...

and field :24B:: is ...

ADVD Not allowed Not allowed

Not ADVD Mandatory Optional

MT 564, 568

If the message is a cancellation, a replacement, an eligible balance notification, a withdrawal or a reminder, ie, Function of the Message (field 23G) is CANC, REPL, REPE, WITH or RMDR, then subsequence A1 (Linkages) must be present at least once in the message, and in one and only in one occurrence of A1, field :20C::PREV must be present; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08).

Sequence A

if field :23G: is ...

Then subsequence A1 is ...

and field :20C::PREV is ...

CANC, REPL, REPE, WITH or RMDR

Mandatory (minimum one occurrence of A1 must be

present)

Mandatory in one occurrence of Subseq.A1, and not allowed

in all other ocurrences of Subseq.A1

NEWM Optional N.A. Not applicable

MT 566, 588

If the message is a reversal, ie, Function of the Message (field 23G) is REVR, then subsequence A1 (Linkages) must be present at least once in the message, and in one and only in one occurrence of A1, field :20C::PREV must be present; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08).

Sequence A

if field :23G: is ...

Then subsequence A1 is ...

and field :20C::PREV is ...

REVR Mandatory (minimum one occurrence of A1 must be

present)

Mandatory in one occurrence of Subseq.A1, and not allowed

in all other ocurrences of Subseq.A1

NEWM Optional N.A. Not applicable

Page 118: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-114 RULE 209 (E09) February 2007

MT 578

If the message is a cancellation or a removal, ie, Function of the Message (field 23G) is CANC or REMO, then subsequence A1 (Linkages) must be present at least once in the message, and in one and only in one occurrence of A1, field :20C::PREV must be present; consequently, in all other occurrences of A1, field :20C::PREV is not allowed (Error code(s): E08).

Sequence A

if field :23G: is ...

Then subsequence A1 is ...

and field :20C::PREV is ...

CANC or REMO Mandatory (minimum one occurrence of A1 must be

present)

Mandatory in one occurrence of Subseq.A1, and not allowed

in all other ocurrences of Subseq.A1

NEWM Optional N.A. Not applicable

RULE 209 (E09)

MT 103_not_STP

If field 23B contains one of the code words ‘SPRI’, ‘SSTD’ or ‘SPAY’, field 57a can be used with option A, option C or option D. In addition, in option D, Subfield 1 (Party Identifier: [‘/’<DC>][‘/’34x] ‘CRLF’) must be present.

If field 23B is ... then field 57a is ...

“SPRI”, “SSTD” or “SPAY” Allowed only with options A, C or D (in option D : Party Identifier [‘/’<DC>][‘/’34x] ‘CRLF’ is

mandatory)

other code 57a Optional

RULE 210 (E10)

MT 103_not_STP

If field 23B contains one of the code words ‘SPRI’, ‘SSTD’ or ‘SPAY’, Subfield 1 (Account) in field 59a (Beneficiary Customer) is mandatory (Error Code E10).

MT 102_STP , 103_STP

Subfield 1 (Account) in field 59a (Beneficiary Customer) is mandatory (Error Code E10).

note: rule 210 takes precedence over rule 119

MT 104, 107

Subfield 1 (Account) in field 59a (Debtor) is mandatory (Error Code E10).

Page 119: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 211 (E11) 2-115

RULE 211 (E11)

MT 206

In Seq. A, if field 23E contains ‘TRAV’, then in each occurence of seq. B either field 21D, or field 29a must be present, but not both.

RULE 212 (E12)

MT 103_not_STP

Either field 70 or 77T, but not both, may be present.

if Field 70 is

...

then Field 77T is

...

Present Not allowed

Not present Optional

RULE 213 (E13)

MT 102_not_STP, 102_STP

If field 71A in sequence A contains OUR, then field 71F is not allowed and field 71G is optional in any occurrence of sequence B (Error Code E13).

in sequence A in each occurrence of sequence B

If field 71A is ... then field(s) 71F is(are) ... and field 71G is ...

OUR Not allowed Optional

If field 71A in sequence B contains OUR, then field 71F is not allowed and field 71G is optional in the same occurrence of sequence B (Error Code E13).

in sequence B in the same occurrence of sequence B

If field 71A is ... then field(s) 71F is(are) ... and field 71G is ...

OUR Not allowed Optional

see rules 120, 150 and 215 (rule 120 takes precedence over rules 150, 213 and 215)

MT 103_not_STP, 103_STP

If field 71A contains OUR, then field 71F is not allowed and field 71G is optional (Error Code E13).

If field 71A is ... then field 71F is ... and field 71G is ...

“OUR” Not allowed Optional

see rules 150 and 215

Page 120: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-116 RULE 214 (E14) February 2007

RULE 214 (E14)

MT 528, 529

If field :22F::FXCX//FXNO or FXYE is present in sequence C, then the message must be a cancellation, ie, Function of the Message in sequence A (field 23G) is CANC.

If field :22F::FXCX//SINO is present in sequence C, then the message must be new, ie, Function of the Message in sequence A (field 23G) is NEWM . (Error code(s): E14).

Sequence C if field :22F::FXCX is … (*)

In sequence A then field :23G:4!c is…

FXNO CANC

FXYE CANC

SINO NEWM

Not present NANot applicable

(*) if the Data Source Scheme is present in field :22F::FXCX// then the conditional rule does not apply.

MT 540, 541, 542, 543

If field :22F::FXCX//FXNO or FXYE is present in sequence E, then the message must be a cancellation, ie, Function of the Message in sequence A (field 23G) is CANC.

If field :22F::FXCX//SINO is present in sequence E, then the message must be new, ie, Function of the Message in sequence A (field 23G) is NEWM. (Error code E14).

Sequence E if field :22F::FXCX (*)

In sequence A then field :23G:4!c is…

FXNO CANC

FXYE CANC

SINO NEWM

Not present NANot applicable

(*) if the Data Source Scheme is present in field :22F::FXCX// then the conditional rule does not apply. (NA).

RULE 215 (E15)

MT 102_not_STP, 102_STP

If field 71A in sequence A contains BEN, then at least one occurrence of field 71F is mandatory in each occurrence of sequence B and field 71G is not allowed (Error Code E15).

in sequence A in each occurrence of sequence B

If field 71A is ... then field(s) 71F is(are) ... and field 71G is ...

BEN Mandatory Not allowed

Page 121: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 216 (E16) 2-117

If field 71A in sequence B contains BEN, then at least one occurrence of field 71F is mandatory in the same occurrence of sequence B and field 71G is not allowed (Error Code E15).

in sequence B in the same occurrence of sequence B

If field 71A is ... then field(s) 71F is(are) ... and field 71G is ...

BEN Mandatory Not allowed

see rules 120, 150 and 213 (rule 120 takes precedence over rules 150, 213 and 215)

MT 103_not_STP, 103_STP

If field 71A contains BEN, then at least one occurrence of field 71F is mandatory and field 71G is not allowed (Error Code E15).

If field 71A is ... then field 71F is ... and field 71G is ...

“BEN” Mandatory (at least one occurrence) Not allowed

see rules 150 and 213

RULE 216 (E16)

MT 103_not_STP, 103_STP

If field 23B contains the code word ‘SPRI’, field 56a must not be used.

If field 23B is ... then field 56a is ...

“SPRI” Not allowed

RULE 217 (E17)

MT 103_not_STP

If field 23B contains one of the code words ‘SSTD’ or ‘SPAY’, field 56a can be used with either option A or option C. If option C is used, it must contain a clearing code.

If field 23B is ... then Field 56D is ... Field 56A is ...

Field 56C is ...

“SSTD” or “SPAY” Not allowed Optional Optional, but: If 56C is present then the first 2 char of the first line must be “//”,

i.e. the format must be: 56C:”//”33x

Note; there is only one Field 56a defined in the MT 103_not_STP per the MT format (ref. Part V), the letter option must be A, C, or D; in addition, when the code word used in Field 23B is SSTD or SPAY then the letter option is validated by rule 217. If another (valid)

Page 122: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-118 RULE 218 (E18) February 2007

code word is used then the rule 217 is not applicable see also rule 216 for other restrictions

RULE 218 (E18)

MT 103_not_STP

If any field 23E contains the code word ‘CHQB’, Subfield 1 (Account) in field 59a (Beneficiary Customer) is not allowed (Error Code E18).

RULE 219 (E19)

MT 206

If field 23E contains ‘GENC’ or ‘OTHR’, then in each occurrence of sequence B, if field 29a is not present, then the fields 21D, 58a and 25 are all mandatory in that occurrence.

Sequence A field 23E contains ‘GENC’ or

‘OTHR’ and in Sequence B

if 29a is ...

Sequence B then 21D, is

...

Sequence B then 58a, is

...

Sequence B then 25, is

...

Not present Mandatory Mandatory Mandatory

RULE 220 (E20)

MT 206

If field 23E contains ‘GENC’ or ‘OTHR’, then in each occurrence of sequence B, if field 29a is present, then the fields 21D and 58a are not allowed in that occurrence.

Sequence A field 23E contains ‘GENC’ or

‘OTHR’ and in sequence B, if 29a

is ...

Sequence B then 21D, is

...

Sequence B then 58a, is

...

Present Not allowed Not allowed

RULE 221 (E21)

MT 206

Field 32A must only be present if field 28E contains the code word ‘LAST’ or ‘ONLY’

Sequence A if 28E contains ...

Sequence C then 32A is ...

LAST Mandatory

MORE Not allowed

ONLY Mandatory

Page 123: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 222 (E22) 2-119

RULE 222 (E22)

MT 206

Field 19 must only be present if field 28E contains the code word ‘MORE’ or ‘LAST’.

Sequence A if 28E contains ...

Sequence C then 19 is ...

LAST Mandatory

MORE Mandatory

ONLY Not allowed

RULE 223 (E23)

MT 206

When field 28E contains ‘ONLY’, then the amount specified in field 32A must be equal to the sum of all occurrences of field 32J in sequence B.

RULE 224 (E24)

MT 206

When field 28E contains ‘MORE’ or ‘LAST’, then field 19 must be equal to the sum of all occurrences of field 32J in sequence B.

RULE 225 (E25)

MT 256

If field 37J is present, then field 71G must also be present.

Sequence B if field 37J is ...

Sequence B then field 71G is ...

Present Mandatory

Not present Optional

RULE 226 (E26)

MT 256

If field 71L is present in sequence C, then the amount specified in field 71L must be equal to the sum of all occurrences of field 71F in sequence B.

RULE 227 (E27)

MT 256

If field 71J is present in sequence C, then the amount specified in field 71J must be equal to the sum of all occurrences of field 71G in sequence B.

Page 124: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-120 RULE 228 (E28) February 2007

RULE 228 (E28)

MT 256

Field 21 must be present either in Sequence A or in each occurrence of Sequence B but not in both.

Sequence A if field 21 is

...

Sequence B then field 21, is ...

Present Not allowed

Not present Mandatory in each occurrence of Seq. B

RULE 229 (E29)

MT 256

If field 71F is present in any occurrence of sequence B, then field 71L must be present in sequence C, and vice versa if field 71F is absent from all occurrences of sequence B, then field 71L is not allowed in sequence C.

Sequence B if field 71F is ...

Sequence C then field 71L is ...

Present in any occurrence Mandatory

Not present in any occurrence Not allowed

RULE 230 (E30)

MT 256

If field 71G is present in any occurrence of sequence B, then field 71J must be present in sequence C, and vice versa if field 71G is absent from all occurrences of sequence B, then field 71J is not allowed in sequence C.

Sequence B if field 71G is ...

Sequence C then field 71J is ...

Present in any occurrence Mandatory

Not present in any occurrence Not allowed

RULE 231 (E31)

MT 256

If field 71H is present in any occurrence of sequence B, then field 71K must be present in sequence C, and vice versa if field 71H is absent from all occurrences of sequence B, then field 71K is not allowed in sequence C.

Sequence B if field 71H is ...

Sequence C then field 71K is ...

Present in any occurrence Mandatory

Not present in any occurrence Not allowed

Page 125: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 232 (E32) 2-121

RULE 232 (E32)

MT 256

If field 71K is present in sequence C, then the amount specified in field 71K must be equal to the sum of all occurrences of field 71H in sequence B.

RULE 233 (E33)

MT 364

The presence of Sequences B and E depends on subfield 1 of field 23A in Sequence A as follows :

Sequence A and if Subfield 1 of field

23A =

then Sequence B is ... then Sequence E is ...

FIXEDFIXED Mandatory Mandatory

FLOATFLOAT Not allowed Not allowed

FLOATFIXED Mandatory Not allowed

FIXEDFLOAT Not allowed Mandatory

CAPBUYER Not allowed Not allowed

CAPSELLER Not allowed Not allowed

FLOORBUYER Not allowed Not allowed

FLOORSLLER Not allowed Not allowed

COLLARBYER Not allowed Not allowed

COLLARSLLR Not allowed Not allowed

Note : see RULE 234 for additional subsequence(s) and field(s) semantic checks.

MT 365

The presence of Sequences B and E depends on subfield 1 of field 23A in Sequence A as follows :

Sequence A

and if Subfield 1 of

field 23A =

then Sequence B is ... then Sequence E is ...

FIXEDFIXED Mandatory Mandatory

FLOATFLOAT Not allowed Not allowed

FLOATFIXED Mandatory Not allowed

FIXEDFLOAT Not allowed Mandatory

Note : see RULE 234 for additional subsequence(s) and field(s) semantic checks.

RULE 234 (E34)

MT 364

In Sequence A, the presence of fields 32G and 22D and, in Sequences B and E, the presence of field 37P depend on field 22B in Sequence A as follows

Page 126: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-122 RULE 235 (E35) February 2007

Sequence A

if field 22B is ...

Sequence A

then field 32G is ...

Sequence A

then field 22D is ...

if Sequence B is present

then field 37P is ...

if Sequence E is present

then field 37P is ...

PTRC Mandatory Mandatory Mandatory Mandatory

PTRM Mandatory Mandatory Not allowed Not allowed

RCPN Not allowed Mandatory Mandatory Mandatory

TERM Not allowed Not allowed Not allowed Not allowed

Note : the presence of Subsequences B and E is determined by RULE 233.

MT 365

In Sequence A, the presence of fields 32G, 33E and 22D and, in Sequences B and E, the presence of field 37P, depend on field 22B in Sequence A as follows:

Sequence A

if field 22B is ...

Sequence A

then field 32G is ...

Sequence A

then field 33E is ...

Sequence A

then field 22D is ...

if Sequence B is present

then field 37P is ...

if Sequence E is present

then field 37P is ...

PTRC Mandatory Mandatory Mandatory Mandatory Mandatory

PTRM Mandatory Mandatory Mandatory Not allowed Not allowed

RCPN Not allowed Not allowed Mandatory Mandatory Mandatory

TERM Not allowed Not allowed Not allowed Not allowed Not allowed

Note : the presence of Subsequences B and E is determined by RULE 233.

RULE 235 (E35)

MT 306

In sequences C and E (if present -see RULE 132-), if field 56a is not present, then field 86a in the same sequence C or E is not allowed, otherwise field 86a is optional (Error Code E35).

Sequence C if field 56a is...

Sequence C then field 86a is

Not present Not allowed

Present Optional

Sequence E if field 56a is...

Sequence E then field 86a is

Not present Not allowed

Present Optional

Page 127: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 235 (E35) 2-123

MT 320, 330

In sequences C, D, E (if present) and F (if present), if field 56a is not present, then field 86a in the same sequence C, D, E or F is not allowed, otherwise field 86a is optional (Error Code E35).

Sequence C if field 56a is...

Sequence C then field 86a is

Sequence D if field 56a is

Sequence D then field 86a is

Not present Not allowed Not present Not allowed

Present Optional Present Optional

Sequence E if field 56a is...

Sequence E then field 86a is

Sequence F if field 56a is

Sequence F then field 86a is

Not present Not allowed Not present Not allowed

Present Optional Present Optional

MT 340

In sequences C and D, if field 56a is not present, then field 86a in the same sequence C or D is not allowed, otherwise field 86a is optional (Error Code E35).

Sequence C if field 56a is...

Sequence C then field 86a is

Not present Not allowed

Present Optional

Sequence D if field 56a is...

Sequence D then field 86a is

Not present Not allowed

Present Optional

MT 341, 350

In sequence C, if field 56a is not present, then field 86a in sequence C is not allowed, otherwise field 86a is optional (Error Code E35).

Sequence C if field 56a is...

Sequence C then field 86a is

Not present Not allowed

Present Optional

MT 360, 361, 362, 364, 365

Page 128: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-124 RULE 236 (E36) February 2007

Within a specific sequence, or within an internal loop, the presence of field 86a depends on field 56a as follows:

If,

in a Sequence, or internal loop,

field 56a is...

then,

in the same Sequence, or same internal loop,

field 86a is

Present Optional

Not present Not allowed

RULE 236 (E36)

MT 364, 365

In Sequence A, if field 22D consists of code word 'OTHR', field 37N must be present.

RULE 237 (E37)

MT 509

Within each occurrence of subsequence A2a Reason, the qualifier in field 24B must be the same as the code word (Status Code) used with the appropriate qualifier in field 25D of its surrounding subsequence A2 Status (Error code E37)

In each occurrence of Subseq.A2 Status :

In each occurrence of Subseq.A2a Reason (if present)

if field :24B:: is …

Then in Subseq.A2 Status field :25D::

must be … (*)

:24B::REJT :25D::CPRC//REJT or

:25D::IPRC//REJT or

:25D::RPRC//REJT

:24B::NMAT :25D::MTCH//NMAT

:24B::NAFI :25D::AFFM//NAFI

:24B::REPR :25D::CPRC//REPR or

:25D::IPRC//REPR or

:25D::RPRC//REPR

(*) if the Data Source Scheme is present in field :25D:: then the conditional rule does not apply.

Page 129: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 237 (E37) 2-125

MT 537

Within each occurrence of subsequence B1 Reason, the qualifier in field 24B must be the same as the code word (Status Code) used with the appropriate qualifier in field 25D of its surrounding sequence B Status (Error code E37)

In each occurrence of Seq.B Status :

In each occurrence of Subseq.B1 Reason (if present)

if field :24B:: is …

Then in Seq.B Status, field :25D::

must be … (*)

:24B::CAND :25D::IPRC//CAND

:24B::CANP :25D::IPRC//CANP

:24B::CGEN :25D::IPRC//CGEN

:24B::PACK :25D::IPRC//PACK

:24B::NMAT :25D::MTCH//NMAT or :25D::INMH//NMAT

:24B::PEND :25D::SETT//PEND

:24B::PENF :25D::SETT//PENF

:24B::REPR :25D::IPRC//REPR

:24B::PPRC :25D::IPRC//PPRC

(*) if the Data Source Scheme is present in field :25D:: then the conditional rule does not apply.

Within each occurrence of subsequence C3a Reason, the qualifier in field 24B must be the same as the code word (Status Code) used with the appropriate qualifier in field 25D of its surrounding Subsequence C3 Status (Error code E37)

In each occurrence of Seq.C3 Status :

In each occurrence of Subseq.C3a Reason (if present)

if field :24B:: is …

Then in Seq.C3 Status, field :25D::

must be … (*)

:24B::CAND :25D::IPRC//CAND

:24B::CANP :25D::IPRC//CANP

:24B::CGEN :25D::IPRC//CGEN

:24B::PACK :25D::IPRC//PACK

:24B::NMAT :25D::MTCH//NMAT or :25D::INMH//NMAT

:24B::PEND :25D::SETT//PEND

:24B::PENF :25D::SETT//PENF

:24B::REPR :25D::IPRC//REPR

:24B::PPRC :25D::IPRC//PPRC

(*) if the Data Source Scheme is present in field :25D:: then the conditional rule does not apply.

Page 130: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-126 RULE 237 (E37) February 2007

MT 548

Within each occurrence of subsequence A2a Reason, the qualifier in field 24B must be the same as the code word (Status Code) used with the appropriate qualifier in field 25D of its surrounding subsequence A2 Status (Error code E37)

In each occurrence of Subseq.A2 Status :

In each occurrence of Subseq.A2a Reason (if present)

if field :24B:: is …

Then in Subseq.A2 Status field :25D::

must be … (*)

:24B::CAND :25D::IPRC//CAND or

:25D::CPRC//CAND

:24B::CANP :25D::IPRC//CANP or

:25D::CPRC//CANP

:24B::CGEN :25D::IPRC//CGEN

:24B::DEND :25D::CPRC//DEND or

:25D::CALL//DEND

:24B::NMAT :25D::MTCH//NMAT or :25D::INMH//NMAT

:24B::PACK :25D::IPRC//PACK or

:25D::CPRC//PACK

:24B::PEND :25D::SETT//PEND

:24B::PENF :25D::SETT//PENF

:24B::REPR :25D::IPRC//REPR

:24B::REJT :25D::IPRC // REJT or

:25D::CPRC // REJT or

:25D::SPRC // REJT

:24B::CACK :25D::CALL//CACK

:24B::PPRC :25D::IPRC//PPRC

(*) if the Data Source Scheme is present in field :25D:: then the conditional rule does not apply.

MT 549

Within each occurrence of sequence B, the qualifier in field 24B must be the same as the code word (Status Code) used with the appropriate qualifier in field 25D of the same occurrence of sequence B (Error code E37)

In each occurrence of Seq.B :

If field :24B:: is present and is…

then field :25D:: is Mandatory and

must be … (*)

:24B::NMAT :25D::MTCH//NMAT or :25D::INMH//NMAT

:24B::PEND :25D::EPRC//PEND or

Page 131: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 237 (E37) 2-127

:25D::DPRC//PEND or

:25D::SETT//PEND or

:25D::RPRC//PEND

:24B::PENF :25D::SETT//PENF

:24B::REJT :25D::IPRC//REJT or

:25D::CPRC//REJT or

:25D::RPRC//REJT or

:25D::RERC//REJT

:24B::DEND :25D::CPRC//DEND or

:25D::RPRC//DEND or

:25D::CALL//DEND

:24B::CAND :25D::IPRC//CAND or

:25D::CPRC//CAND

:24B::CANP :25D::IPRC//CANP or

:25D::CPRC//CANP

:24B::CGEN :25D::IPRC//CGEN

:24B::DRRE :25D::DPRC//DRRE

:24B::NAFI :25D::AFFM//NAFI

:24B::PACK :25D::IPRC//PACK or

:25D::CPRC//PACK or

:25D::RPRC//PACK or

:25D::RERC//PACK

:24B::CACK :25D::CALL//CACK

:24B::REPR :25D::CPRC//REPR or

:25D::IPRC//REPR or

:25D::RPRC//REPR

:24B::PPRC :25D::IPRC//PPRC

field :24B:: is not present n/aNot applicable

(*) if the Data Source Scheme is present in field :25D:: then the conditional rule does not apply.

Page 132: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-128 RULE 238 (E38) February 2007

MT 567

Within each occurrence of subsequence A2a, the qualifier in field 24B must be the same as the code word (Status Code) used with the appropriate qualifier in field 25D of its surrounding subsequence A2 Status (Error code E37)

In each occurrence of Subseq.A2 Status :

In each occurrence of Subseq.A2a Reason (if present)

if field :24B:: is …

Then in Subseq.A2 Status field :25D::

must be … (*)

:24B::CAND :25D::IPRC//CAND or

:25D::CPRC//CAND

:24B::CANP :25D::CPRC//CANP

:24B::DEND :25D::IPRC//DEND or

:25D::CPRC//DEND

:24B::PACK :25D::IPRC//PACK or

:25D::CPRC//PACK

:24B::PEND :25D::IPRC//PEND or

:25D::EPRC//PEND

:24B::REJT :25D::IPRC//REJT or

:25D::CPRC//REJT

(*) if the Data Source Scheme is present in field :25D:: then the conditional rule does not apply.

MT 584

Within each occurrence of subsequence B2 Status, the qualifier in field 24B must be the same as the code word (Status Code) used with the appropriate qualifier in field 25D of the same occurrence of subsequence B2 (Error code E37)

In each occurrence of Seq.B2 Status

If field :24B:: is…

Then field :25D:: must be … (*)

:24B::NMAT :25D::MTCH//NMAT

:24B::REJT :25D::IPRC//REJT

:24B::NAFI :25D::AFFM//NAFI

not present n/aNot applicable

(*) if the Data Source Scheme is present in field :25D:: then the conditional rule does not apply.

RULE 238 (E38)

MT 362

The currency code of the fields 33F and 32H in Sequence B must be the same. The currency codes of the fields 33F and 32H in Sequence D must be the same.

Page 133: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 239 (E39) 2-129

RULE 239 (E39)

MT 362

In Sequences B and D, the presence of fields 37J and 37L depends on subfield 1 of field 23A in Sequence A as follows :

Note : the presence of Sequences B and D is determined by RULE 247.

Note : if the code word "COLLARBYER" or "COLLARSLLR" is used in the field 23A (Sequence A) then : - in each sequence B and D which is present, a minimum of one field 37J or 37L must be present, - if both sequences B and D are present, and if only one letter option is present in the first sequence (ex. : 37J is the only 37 <letter-option> used in seq.B), then the other letter option must be present in the second sequence (in this case : 37L must be present in seq.D)

"IF SEQUENCES B AND D ARE PRESENT:"

Sequence A

if Subfield 1 of

field 23A =

in Sequence B field 37J must

be ...

in Sequence B field 37L must

be ...

and in Sequence D

field 37J must be ...

and in Sequence D

field 37L must be ...

FIXEDFIXED Not allowed Not allowed Not allowed Not allowed

FLOATFLOAT Optional Optional Optional Optional

FLOATFIXED Not allowed Not allowed Optional Optional

FIXEDFLOAT Optional Optional Not allowed Not allowed

CAPBUYER Mandatory Not allowed Not allowed Not allowed

CAPSELLER Not allowed Not allowed Mandatory Not allowed

FLOORBUYER Not allowed Mandatory Not allowed Not allowed

FLOORSLLER Not allowed Not allowed Not allowed Mandatory

COLLARBYER Present Present either 37J or 37L or both

is (are) Mandatory

Present not present optional Mandatory

not present Present Mandatory optional

COLLARSLLR Present Present either 37J or 37L or both

is (are) Mandatory

Present not present optional Mandatory

not present Present Mandatory optional

Page 134: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-130 RULE 239 (E39) February 2007

"IF SEQUENCE B IS NOT PRESENT:"

Sequence A

if Subfield 1 of

field 23A =

in Sequence D field 37J must

be ...

in Sequence D field 37L must

be ...

FIXEDFIXED Not allowed Not allowed

FLOATFLOAT Optional Optional

FLOATFIXED Optional Optional

FIXEDFLOAT Not allowed Not allowed

CAPBUYER Not allowed Not allowed

CAPSELLER Mandatory Not allowed

FLOORBUYER Not allowed Not allowed

FLOORSLLER Not allowed Mandatory

COLLARBYER either 37J or 37L or both

is (are) Mandatory

COLLARSLLR either 37J or 37L or both

is (are) Mandatory

"IF SEQUENCE D IS NOT PRESENT:"

Sequence A

if Subfield 1 of

field 23A =

in Sequence B field 37J must

be ...

in Sequence B field 37L must

be ...

FIXEDFIXED Not allowed Not allowed

FLOATFLOAT Optional Optional

FLOATFIXED Not allowed Not allowed

FIXEDFLOAT Optional Optional

CAPBUYER Mandatory Not allowed

CAPSELLER Not allowed Not allowed

FLOORBUYER Not allowed Mandatory

FLOORSLLER Not allowed Not allowed

COLLARBYER either 37J or 37L or both

is (are) Mandatory

COLLARSLLR either 37J or 37L or both

is (are) Mandatory

Page 135: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 240 (E40) 2-131

RULE 240 (E40)

MT 340

In sequence A, the presence of field 14C depends on the value of subfield 1 of field 77H as follows (Error Code E40)

Sequence A if subfield 1 of field 77H is …

Sequence A then field 14C is …

ISDA Mandatory

Not= ISDA Not allowed

MT 361

The content of field 77H, in sequence A, determines the presence of :

• fields 14G and 37R in the subsequences C1, and F1, • subsequences C2, and F2.

Sequence A

if subfield 1 of field 77H is ...

then if Subsequence C1 is present : fields 14G and 37R are

...

then if Subsequence F1 is present : fields 14G and 37R are

...

then Subsequences C2

and F2 are ...

AFB Not allowed Not allowed Not allowed

Note :

the presence of Subsequences B, C, E, F is determined by RULE 243.

the presence of Subsequences C1, C2, F1, F2 is determined by RULE 241.

RULE 241 (E41)

MT 340

In sequence B, the presence of subsequence B1 depends on the value of subfield 1 of field 77H in sequence A as follows (Error Code E41)

Sequence A if subfield 1 of field 77H is …

then Subsequence B1 is …

AFB Mandatory

DERV Not allowed

FRABBA Mandatory

ISDA Not allowed

MT 360, 361

The presence of field 37U in Sequences B and E and the presence of subsequences B1, C1, C2, C3, E1, F1, F2 and F3 depend on the content of the first subfield of field 77H and on the content of field 14F as documented in the five tables below.

According to the RULES 158 and 243 the following combinations of the Sequences B, C, E

Page 136: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-132 RULE 241 (E41) February 2007

and F are allowed:

• RULE 158, MT360 : BE(5), CF(1&2), BF(3), CE(4), C(1), F(2).

• RULE 243, MT361 : BE(5), CF(1&2), BF(3), CE(4).

Note : see RULES 145, 159, and 240 for additional subsequence(s) and field(s) conditional checks.

For each valid Sequence combination a table (below) indicates the checks to apply.

For the combination “CF”, both table 1 and table 2 must be applied.

1. if sequence C is present ... :

IF SEQUENCE C IS PRESENT

AND ...

in Sequence A

if subfield 1 of field 77H is

...

AND in Sequence C,

if field 14F is ...

then Subsequences

C1, C2 and C3 are ...

ISDA FRF-TAM-CDC FRF-T4M-CDC FRF-T4M-CDCCOMP FRF-TAG-CDC FRF-TAG-CDCCOMP FRF-TMP-CDCAVERAG

Not allowed

AFB FRF-SWAP-AMR FRF-SWAP-TMP-IF FRF-SWAP-TMP-M FRF-SWAP-T4M-AMR FRF-CAP-TAM FRF-CAP-T4M FRF-FLOOR-TAM FRF-FLOOR-T4M

Not allowed

else C1 is Mandatory

C2, C3 are Optional

Page 137: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 241 (E41) 2-133

2. if sequence F is present ... :

IF SEQUENCE F IS PRESENT

AND ...

in Sequence A

if subfield 1 of field 77H is

...

AND in Sequence F,

if field 14F is ...

then Subsequences

F1, F2 and F3 are ...

ISDA FRF-TAM-CDC FRF-T4M-CDC FRF-T4M-CDCCOMP FRF-TAG-CDC FRF-TAG-CDCCOMP FRF-TMP-CDCAVERAG

Not allowed

AFB FRF-SWAP-AMR FRF-SWAP-TMP-IF FRF-SWAP-TMP-M FRF-SWAP-T4M-AMR FRF-CAP-TAM FRF-CAP-T4M FRF-FLOOR-TAM FRF-FLOOR-T4M

Not allowed

else F1 is Mandatory

F2, F3 are Optional

3. if B AND F sequences are present ... :

IF BOTH SEQUENCES B AND F

ARE PRESENT AND ...

in Sequence A

if subfield 1 of field 77H is

...

AND in Sequence F

if field 14F is ...

then Subsequence

B1 is ...

and in Sequence B field 37U is

...

and Subsequences

F1, F2 and F3 are ...

ISDA FRF-TAM-CDC FRF-T4M-CDC FRF-T4M-CDCCOMP FRF-TAG-CDC FRF-TAG-CDCCOMP FRF-TMP-CDCAVERAG

Not allowed Mandatory Not allowed

Page 138: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-134 RULE 241 (E41) February 2007

AFB FRF-SWAP-AMR FRF-SWAP-TMP-IF FRF-SWAP-TMP-M FRF-SWAP-T4M-AMR FRF-CAP-TAM FRF-CAP-T4M FRF-FLOOR-TAM FRF-FLOOR-T4M

Not allowed Mandatory Not allowed

else Mandatory Optional F1 is Mandatory

F2, F3 are Optional

4. if C AND E sequences are present ... :

IF BOTH SEQUENCES C AND E

ARE PRESENT AND ...

in Sequence A

if subfield 1 of field 77H is

...

AND in Sequence C

if field 14F is ...

then Subsequence

E1 is ...

and in Sequence E field 37U is

...

and Subsequences

C1, C2 and C3 are ...

ISDA FRF-TAM-CDC FRF-T4M-CDC FRF-T4M-CDCCOMP FRF-TAG-CDC FRF-TAG-CDCCOMP FRF-TMP-CDCAVERAG

Not allowed Mandatory Not allowed

AFB FRF-SWAP-AMR FRF-SWAP-TMP-IF FRF-SWAP-TMP-M FRF-SWAP-T4M-AMR FRF-CAP-TAM FRF-CAP-T4M FRF-FLOOR-TAM FRF-FLOOR-T4M

Not allowed Mandatory Not allowed

else Mandatory Optional C1 is Mandatory

C2, C3 are Optional

Page 139: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 242 (E42) 2-135

5. if B AND E sequences are present ... :

Subsequence B1 is

...

in Sequence B field 37U is

...

Subsequence

E1 is ...

in Sequence E field 37U is

...

Mandatory Optional Mandatory Optional

RULE 242 (E42)

MT 360

In Sequences C and F, the presence of fields 37J and 37L depends on subfield 1 of field 23A in Sequence A as follows :

Note : the presence of Sequences C and F is determined by RULE 158.

Note : if the code word "COLLARBYER" or "COLLARSLLR" is used in the field 23A (Sequence A) then :

- in each sequence C and F which is present, a minimum of one field 37J or 37L must be present,

- if both sequences C and F are present, and if only one letter option is present in the first sequence (ex. : 37J is the only 37 <letter-option> used in seq.C), then the other letter option must be present in the second sequence (in this case : 37L must be present in seq.F)

"IF SEQUENCES C AND F ARE PRESENT:"

Sequence A

if Subfield 1 of

field 23A =

in Sequence C field 37J must

be ...

in Sequence C field 37L must

be ...

and in Sequence F

field 37J must be ...

and in Sequence F

field 37L must be ...

FIXEDFIXED n/aNot applicable n/aNot applicable n/aNot applicable n/aNot applicable

FLOATFLOAT Optional Optional Optional Optional

FLOATFIXED n/aNot applicable n/aNot applicable Optional Optional

FIXEDFLOAT Optional Optional n/aNot applicable n/aNot applicable

CAPBUYER Mandatory Not allowed n/aNot applicable n/aNot applicable

CAPSELLER n/aNot applicable n/aNot applicable Mandatory Not allowed

FLOORBUYER Not allowed Mandatory n/aNot applicable n/aNot applicable

FLOORSLLER n/aNot applicable n/aNot applicable Not allowed Mandatory

COLLARBYER Present Present either 37J or 37L or both

is (are) Mandatory

Present not present optional Mandatory

not present Present Mandatory optional

Page 140: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-136 RULE 242 (E42) February 2007

COLLARSLLR Present Present either 37J or 37L or both

is (are) Mandatory

Present not present optional Mandatory

not present Present Mandatory optional

"IF SEQUENCE C IS NOT PRESENT:"

Sequence A

if Subfield 1 of

field 23A =

in Sequence F field 37J must

be ...

in Sequence F field 37L must

be ...

FIXEDFIXED n/aNot applicable n/aNot applicable

FLOATFLOAT Optional Optional

FLOATFIXED Optional Optional

FIXEDFLOAT n/aNot applicable n/aNot applicable

CAPBUYER n/aNot applicable n/aNot applicable

CAPSELLER Mandatory Not allowed

FLOORBUYER n/aNot applicable n/aNot applicable

FLOORSLLER Not allowed Mandatory

COLLARBYER n/aNot applicable per rule 158

COLLARSLLR n/aNot applicable per rule 158

"IF SEQUENCE F IS NOT PRESENT:"

Sequence A

if Subfield 1 of

field 23A =

in Sequence C field 37J must

be ...

in Sequence C field 37L must

be ...

FIXEDFIXED n/aNot applicable n/aNot applicable

FLOATFLOAT Optional Optional

FLOATFIXED n/aNot applicable n/aNot applicable

FIXEDFLOAT Optional Optional

CAPBUYER Mandatory Not allowed

CAPSELLER n/aNot applicable n/aNot applicable

FLOORBUYER Not allowed Mandatory

FLOORSLLER n/aNot applicable n/aNot applicable

COLLARBYER n/aNot applicable per rule 158

COLLARSLLR n/aNot applicable per rule 158

Page 141: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 243 (E43) 2-137

RULE 243 (E43)

MT 361

Depending on the code word value in Sequence A, field 23A subfield 1, only the following combinations of the optional Sequences B, C, E and F are allowed:

Sequence A

if Subfield 1 of

field 23A =

then Sequence B

is ...

then Sequence C is ...

then Sequence E is ...

then Sequence F is ...

FIXEDFIXED Mandatory Not allowed Mandatory Not allowed

FLOATFLOAT Not allowed Mandatory Not allowed Mandatory

FLOATFIXED Mandatory Not allowed Not allowed Mandatory

FIXEDFLOAT Not allowed Mandatory Mandatory Not allowed

Note : see RULES 240 and 241 for additional subsequence(s) and field(s) semantic checks.

RULE 244 (E44)

MT103_not_STP If field 56a is not present, no field 23E may contain TELI or PHOI (Error code E44).

If field 56a is … then in each occurrence of field 23E, subfield 1 must not contain …

Not present TELI or PHOI

ref. list of valid code words, field 23E, Part III, Chap. 4

RULE 245 (E45)

MT103_not_STP

If field 57a is not present, no field 23E may contain TELE or PHON (Error code E45).

If field 57a is … then in each occurrence of field 23E, subfield 1 must not contain …

Not present TELE or PHON

ref. list of valid code words, field 23E, Part III, Chap. 4

RULE 246 (E46)

MT103_not_STP, MT103_STP

If field 23E is repeated, the same code word must not be present more than once (Error code E46)

see also rule 167 and 198 for other restrictions

note: rule 167 takes precedence over rule 246, and rule 246 takes precedence over rule 198

MT 101, 207 In each occurrence of Sequence B: if field 23E is repeated, the same code word must not be present more than once, with the exception of OTHR. OTHR may be repeated. (Error code E46)

Page 142: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-138 RULE 247 (E47) February 2007

RULE 247 (E47)

MT350

If Sequence D is present, at least one of the Subsequences D1 or D2 must be present (Error code: E47).

In Sequence D, if Subsequence D1 is … then Subsequence D2 is…

Present Optional

Not present Mandatory

MT362

At least one of the sequences B or D must be present (Error code: E47).

If sequence B is … then sequence D is…

Present Optional

Not present Mandatory

RULE 248 (E48)

MT362

At least one of the sequences C or E must be present (Error code: E48).

If sequence C is … then sequence E is…

Present Optional

Not present Mandatory

note: ref. rule 249.

MT 504

In each occurrence of subsequence C1a, the presence of subsequence C1a1 depends on the presence of field :22F::STCO//NSSP as follows (Error code E48):

In each occurrence of subsequence C1a

if field :22F::STCO//NSSP is… (*)

In the same occurrence of subsequence C1a then subsequence C1a1 is…

Not present Optional

Present Mandatory

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply.

Page 143: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 249 (E49) 2-139

MT 505, 507

In each occurrence of subsequence B1a, the presence of subsequence B1a1 depends on the presence of field :22F::STCO//NSSP as follows (Error code E48):

In each occurrence of subsequence B1a

if field : 22F::STCO//NSSP is… (*)

In the same occurrence of subsequence B1a

then subsequence B1a1 is …

Not present Optional

Present Mandatory

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply.

RULE 249 (E49)

MT362 When the settlement method, i.e. the second subfield of field 23A, is “NET”, either sequence C or E must be present, but not both (Error code: E49). note: when the settlement method is NET, this rule takes precedence over rule 248.

MT 504

In each occurrence of subsequence C2a, the presence of subsequence C2a1 depends on the presence of field :22F::STCO//NSSP as follows (Error code E49):

In each occurrence of subsequence C2a

if field :22F::STCO//NSSP is… (*)

In the same occurrence of subsequence C2a then subsequence C2a1 is…

Not present Optional

Present Mandatory

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply.

MT 505 In each occurrence of subsequence B2a, the presence of subsequence B2a1 depends on the presence of field :22F::STCO//NSSP as follows (Error code E49):

In each occurrence of subsequence B2a if field : 22F::STCO//NSSP

is… (*)

In the same occurrence of subsequence B2an then subsequence B2a1 is …

Not present Optional

Present Mandatory

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply.

Page 144: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-140 RULE 250 (E50) February 2007

MT 507 In each occurrence of subsequence B1b, the presence of the subsequence B1b1 depends on the presence of field :22F::STCO//NSSP as follows (Error code E49):

In each occurrence of subsequence B1b

if field : :22F::STCO//NSSP is… (*)

In the same occurrence of subsequence B1b

then subsequence B1b1 is ...

Not present Optional

Present Mandatory

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply.

RULE 250 (E50)

MT362 When the settlement method, i.e. the second subfield of field 23A, is “NET”, the payments block (i.e. fields 30F---57a) within sequence C or E must occur only once (Error code: E50). i.e. field 18A in seq. C or E must be = 1, refer conditional rule 196 note: ref. rule 248 (seq. C or E must be present)

MT 504

In sequence D, the presence of the subsequence D1 depends on presence of field :22F::STCO//NSSP as follows (Error code E50):

Sequence D

if field :22F::STCO//NSSP is… (*)

then subsequence D1 is…

Not present Optional

Present Mandatory

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply.

MT 505 In sequence C, the presence of the subsequence C1 depends on the presence of field :22F::STCO//NSSP as follows (Error code E50):

Sequence C

if field : 22F::STCO//NSSP is… (*)

then subsequence C1 is …

Not present Optional

Present Mandatory

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply.

Page 145: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 251 (E51) 2-141

RULE 251 (E51)

MT362 When the settlement method, i.e. the second subfield of field 23A, is “GROSS”, the payments block (i.e. fields 30F---57a) within sequence C and E cannot occur more than three times (Error code: E51). i.e. field 18A in seq. C or E must be < 4, refer conditional rule 196 note: ref. rule 248 (seq. C or E must be present)

MT 504

In sequence E, the presence of the subsequence E1 depends on presence of field :22F::STCO//NSSP as follows (Error code E51):

Sequence E

if field :22F::STCO//NSSP is… (*)

then subsequence E1 is…

Not present Optional

Present Mandatory

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply.

MT 505 In sequence D, the presence of the subsequence D1 depends on presence of field :22F::STCO//NSSP as follows (Error code E51):

Sequence D

if field : 22F::STCO//NSSP is… (*)

then subsequence D1 is …

Not present Optional

Present Mandatory

(*) if the Data Source Scheme is present in field :22F::STCO//NSSP then the conditional rule does not apply.

RULE 252 (E52)

MT502, 514, 518, 528, 529

In subsequence C1, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code: E52).

Subsequence C1

if field :95a::PSET is…

Subsequence C1

then field :97a::SAFE is…

Present Not allowed within the same occurrence

Not present Optional

Page 146: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-142 RULE 252 (E52) February 2007

MT513, 515

In subsequence D1, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code: E52).

Subsequence D1

if field :95a::PSET is…

Subsequence D1

then field :97a::SAFE is…

Present Not allowed within the same occurrence

Not present Optional

MT 536

In subsequence B1a2a, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E52).

Subsequence B1a2a

if field :95a::PSET is…

Subsequence B1a2a

then field :97a::SAFE is…

Present Not allowed within the same occurrence

Not present Optional

MT 537

In subsequence B2b1, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E52).

Subsequence B2b1

if field :95a::PSET is…

Subsequence B2b1

then field :97a::SAFE is…

Present Not allowed within the same occurence

Not present Optional

In subsequence C2a, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E52).

Subsequence C2a

if field :95a::PSET is…

Subsequence C2a

then field :97a::SAFE is…

Present Not allowed within the same occurence

Not present Optional

Page 147: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 253 (E53) 2-143

MT 540, 541, 542, 543, 544, 545, 546, 547, 578

In subsequence E1, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E52).

Subsequence E1

if field :95a::PSET is…

Subsequence E1

then field :97a::SAFE is…

Present Not allowed within the same occurence

Not present Optional

MT 548

In subsequence B1, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E52).

Subsequence B1

if field :95a::PSET is…

Subsequence B1

then field :97a::SAFE is…

Present Not allowed within the same occurence

Not present Optional

MT 575

In subsequence B1a4, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E52).

Subsequence B1a4

if field :95a::PSET is…

Subsequence B1a4

then field :97a::SAFE is…

Present Not allowed within the same occurence

Not present Optional

MT 586

In subsequence B5a, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E52).

Subsequence B5a

if field :95a::PSET is…

Subsequence B5a

then field :97a::SAFE is…

Present Not allowed within the same occurence

Not present Optional

RULE 253 (E53)

MT502

In sequence B, if field:22H::BUSE//SWIT is present, then subsequence A1 Linkages is mandatory, and field :20C::PREV must be present in minimum one occurrence of subsequence A1 Linkages (Error code: E53).

Page 148: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-144 RULE 254 (E54) February 2007

Sequence B, if field :22H::BUSE//SWIT

is…

then subsequence A1 is…

and field :20C::PREV is ...

Present Mandatory, i.e. minimum one occurrence of A1

Mandatory, i.e. must be present in minimum one occurrence of

A1

Not present Optional Optional

MT515

In sequence C, if field:22H::BUSE//SWIT is present, then field :20C::PREV must be present in minimum one occurrence of subsequence A1 Linkages (Error code: E53).

Sequence C, if field :22H::BUSE// SWIT

is… then field :20C::PREV

is ...

Present Mandatory, i.e. must be present in minimum one occurrence of A1

Not present Optional

MT 575

In subsequence C2a, if field :95a::PSET is present, then field :97a::SAFE is not allowed in the same sequence. (Error code E53).

Subsequence C2a

if field :95a::PSET is…

Subsequence C2a

then field :97a::SAFE is…

Present Not allowed within the same occurence

Not present Optional

RULE 254 (E54)

AvailableMT 101

In each occurrence of Sequence B, the presence of fields 33B and 21F is dependent on the presence and value of fields 32B and 23E as follows (Error code(s): E54)

In each occurrence of Sequence B

If amount in field 32B

is …

and field 23E

is …

then field 33B

is ...

and field 21F

is ...

Present and code = EQUI Mandatory Optional

Present and code Not = EQUI

Not Allowed Not Allowed

Equal zero

Not present Not Allowed Not Allowed

Not = zero Not applicable Optional Optional

Page 149: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 255 (E55) 2-145

RULE 255 (E55)

Available

RULE 256 (E56)

MT 535, 536

If in sequence A field :17B::CONS=Y, then in every occurrence of sequence B field :97a::SAFE and field :17B::ACTI are mandatory. (Error code E56)

This check only applies when sequence B Sub-safekeeping Account is present as per rule 266, i.e. in sequence A, field :17B::ACTI=Y.

Sequence A

if field :17B::ACTI

is…

then sequence B

is…

and sequence A

if field :17B::CONS

is…

then in every occurrence of Sequence B

field :97a::SAFE and field :17B::ACTI

are …

Y Mandatory i.e. minimum one

occurrence

Y Mandatory

N Not allowed

N Not Allowed NANot applicable NANot applicable

RULE 257 (E57)

MTs 101, 210, 910

The BIC must be a BEI, i.e. must be of subtype BEID or TRCO or TESP or MCCO or SMDP or CORP (Error code E57).

note: this validation rule applies to all types of BICs referenced in a FIN message: SWIFTBIC, NON-SWIFTBIC, Master, Synonym, LIVE destination, T&T destination.

IF <BIC_Subtype> NOT= ("BEID" | "TRCO" | “TESP” | “MCCO” | “SMDP” | “CORP”) THEN <error:’E57’> ENDIF

MT Seq. Field

101 A A B B

50C 50G 50C 50G

210 50C

910 50A

note: Rule 257 is the opposite of Rule 5

Page 150: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-146 RULE 258 (E58) February 2007

RULE 258 (E58)

MT 502

In Sequence B, either an ordered quantity (field 36B::ORDR) or an ordered amount (field 19A::ORDR) must be present, but not both.

Sequence B

if field :36B::ORDR is ...

Sequence B

then field :19A::ORDR is ...

Present Not allowed

Not present Mandatory

MT 509

In Sequence B, either a quantity (field 36B::) or an amount (field 19A::) must be present, but not both (Error code(s): E58.

Sequence B

if field :36B:: is ...

Sequence B

then field :19A:: is ...

Present Not allowed

Not present Mandatory

MT 535 In each occurrence of Subsequence B1, if field :93C::PEND is present in one of the occurrences of subsequence B1b, then fields :93C::PDUM and :93C::PDMT are not allowed in the other occurrences of subsequence B1b (Error code E58)

In each occurrence of Seq.B1 :

In Subseq. B1b if field :93C::PEND

is…

Then in all other occurrence(s) of Subseq. B1b

field :93C::PDUM and :93C::PDMT are…

Present Not allowed

Not present Optional

MT 576 In each occurrence of subsequence B2, either an ordered quantity (field :36B::ORDR) or an ordered amount (field :19A::ORDR) must be present, but not both; in addition, if field 36B is present then field 19A must not be present, and vice versa if field 19A is present then field 36B must not be present (Error code E58)

In each occurrence of subsequence B2 if field :36B:: is ...

In the same occurrence of Subsequence B2

then field :36B::ORDR is ...

In the same occurrence of Subsequence B2

and field :19A: is ...

Present Mandatory Not allowed

Not present n/aNot applicable :19A::ORDR is Mandatory

Page 151: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 259 (E59) 2-147

RULE 259 (E59)

MT 517

If the Function of the Message (field 23G) is not CANC then field 13A, Number Identification, must be present and contain '515' in minimum one occurrence of the subsequence A1 - Linkages.

Sequence A

if field :23G: is ...

Then in minimum one occurrence of subsequence A1, field :13A: is ...

CANC Optional

not CANC Mandatory and must contain '515'

(note: it does not need to be present in all occurrences of A1)

MT 535 In each occurrence of Subsequence B1, if field :93C::PENR is present in one of the occurrences of subsequence B1b, then fields :93C::PRUM and :93C::PRMT are not allowed in the other occurrences of subsequence B1b (Error code E59).

In each occurrence of Seq.B1 :

In Subseq. B1b if field :93C::PENR

is…

Then in all other occurrence(s) of Subseq. B1b

fields :93C::PRUM and :93C::PRMT are…

Present Not allowed

Not present Optional

RULE 260 (E60)

MT 506

In each occurrence of subsequence D1, the presence of field :70C::RATS depends on the presence of field :94B::RATS as follows (Error Code E60):

In each occurrence of subsequence D1

if field :94B::RATS is …

In the same occurrence of subsequence D1

then field :70C::RATS is …

Present Mandatory

Not present Not allowed

Page 152: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-148 RULE 261 (E61) February 2007

MT 569

In each occurrence of subsequence C1a1, the presence of field :70C::RATS depends on the presence of field :94B::RATS as follows (Error Code E60):

In each occurrence of subsequence C1a1

if field :94B::RATS is …

In the same occurrence of subsequence C1a1

then field :70C::RATS is …

Present Mandatory

Not present Not allowed

RULE 261 (E61)

MT 514, 528, 529

When the type of price (field :22F::PRIC) is present, the deal price (field :90a::DEAL) must also be present.

Sequence B if field :22F::PRIC is ...

Sequence B then field :90a::DEAL is ...

Present Mandatory

Not Present Optional

RULE 262 (E62)

MT 502, 514, 518, 528, 529

In each subsequence C3 (16R:AMT), if an Exchange Rate (field :92B::EXCH) is present, the corresponding Resulting Amount (field :19A::RESU) must be present. If the Exchange Rate is not present then the Resulting Amount is not allowed.

Subsequence C3 if field :92B::EXCH is ...

Subsequence C3 then field :19A::RESU is ...

Present Mandatory

Not Present Not Allowed

MT 513, 515

If an Exchange Rate (field:92B::EXCH) is present, the corresponding Resulting Amount (field:19A::RESU) must be present in the same subsequence. If the Exchange Rate is not present then the Resulting Amount is not allowed.

Subsequence D3 if field:92B::EXCH is ...

Subsequence D3 then field:19A::RESU is ...

Present Mandatory

Not Present Not Allowed

Page 153: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 262 (E62) 2-149

MT 540, 541, 542, 543, 544, 545, 546, 547, 578

If an Exchange Rate (field:92B::EXCH) is present, the corresponding Resulting Amount (field:19A::RESU) must be present in the same subsequence. If the Exchange Rate is not present then the Resulting Amount is not allowed. This check applies to Subsequence E3 (Error code E62).

Subsequence E3 if field:92B::EXCH is ...

Subsequence E3 then field:19A::RESU is ...

Present Mandatory

Not Present Not Allowed

MT 564

If an Exchange Rate (field:92B::EXCH) is present, the corresponding Resulting Amount (field:19B::RESU) must be present in the same subsequence. If the Exchange Rate is not present then the Resulting Amount is not allowed. This check applies to Subsequence E2 (Error code E62).

Subsequence E2 if field:92B::EXCH is ...

Subsequence E2 then field:19B::RESU is ...

Present Mandatory

Not Present Not Allowed

MT 566

If an exchange rate is present (Field :92B::EXCH), the corresponding Resulting Amount (Field :19B::RESU) must be present in the same (sub)sequence. If the Exchange Rate is not present, the Resulting Amount is not allowed.

This check apply to subsequence D2.

Subsequence D2 if field :92B::EXCH is ...

Subsequence D2 then field :19B::RESU is ...

Present Mandatory

Not Present Not Allowed

MT 584

If an Exchange Rate (field :92B::EXCH) is present, the corresponding Resulting Amount (field :19A::RESU) must be present in the same subsequence. If the Exchange Rate is not present then the Resulting Amount is not allowed.

Subsequence B2b2 & C1c2 if field :92B::EXCH is ...

Subsequence B2b2 & C1c2 then field :19A::RESU is ...

Present Mandatory

Not Present Not Allowed

Page 154: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-150 RULE 263 (E63) February 2007

MT 586

If an Exchange Rate (field :92B::EXCH) is present, the corresponding Resulting Amount (field :19A::RESU) must be present in the same subsequence. If the Exchange Rate is not present then the Resulting Amount is not allowed. This check applies within each occurrence of subsequence B5c (Error Code E62).

Subsequence B5c if field :92B::EXCH is ...

Subsequence B5c then field :19A::RESU is ...

Present Mandatory

Not Present Not Allowed

MT 588

If an exchange rate is present (Field :92B::EXCH), the corresponding Resulting Amount (Field :19A::RESU) must be present in the same (sub)sequence. If the Exchange Rate is not present, the Resulting Amount is not allowed (Error Code E62).

These checks apply to (sub)sequences C2 and E.

Subsequence C2 if field :92B::EXCH is ...

Subsequence C2 then field :19A::RESU is ...

Present Mandatory

Not Present Not Allowed

Sequence E if field :92B::EXCH is ...

Sequence E then field :19A::RESU is ...

Present Mandatory

Not Present Not Allowed

RULE 263 (E63)

MT 587, 588

The following Date/Time fields cannot appear more than once in Sequence B (error code E63). In other words, if in Seq. B, field 98a, the order # 1 is repeated, then the qualifiers used in the two occurrences must be different.

Sequence B

:98a::ISSU

:98a::RELD

RULE 264 (E64)

MT 502

If the Function of the Message (field :23G:) is CANC and the Ordered Quantity (field :36B::ORDR) is present, then the Quantity to Cancel (field :36B::CANC) must be present in the order details sequence.

If the Function of the Message (field :23G:) is CANC and the Ordered Amount (field:19A::ORDR) is present, then the Amount to Cancel (field :19A::CANC) must be

Page 155: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 265 (E65) 2-151

present in the order details sequence.

If the Function of the Message is not CANC, the Quantity to Cancel and the Amount to Cancel are not allowed (Error code(s): E64).

Sequence A if field :23G

is ...

Sequence B and field :36B::ORDR

is ...

Sequence B then field :36B::CANC

is ...

NEWM Present Not Allowed

REPL Present Not Allowed

CANC Present Mandatory

Sequence A if field :23G

is ...

Sequence B and field :19A::ORDR

is ...

Sequence B then field :19A::CANC

is ...

NEWM Present Not Allowed

REPL Present Not Allowed

CANC Present Mandatory

Note: in Seq. B fields 36B::ORDR and 19A::ORDR are mutually exclusive, ref. RULE 258

MT 527

In sequence A, if field :20C::CLCI is not present, then field :20C::TRCI is mandatory, otherwise field :20C::TRCI is optional (Error Code E64).

Sequence A

if field :20C::CLCI is …

Sequence A

then field :20C::TRCI is …

Not present Mandatory

Present Optional

RULE 265 (E65)

MT 527

If Sequence A field :22a::COLA// is other than SLEB and sequence B is present, then field :19A::TRAA must be present. (Error code E65).

If Sequence B

is… And Sequence A

field :22a::COLA is … then sequence B

field : 19A::TRAA is …

Present SLEB Optional

not SLEB (*) Mandatory

Not present n/aNot applicable n/aNot applicable

(*) if DSS is present then conditional rule does not apply

MT 558

Page 156: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-152 RULE 266 (E66) February 2007

If Sequence A field :22a::COLA// is other than SLEB, then in sequence B field :19A::TRAA must be present. (Error code E65).

Sequence A

if field :22a::COLA is … then sequence B

field :19A::TRAA is …

SLEB Optional

not SLEB (*) Mandatory

(*) if DSS is present then conditional rule does not apply

MT 569

If Sequence A field :22a::COLA// is other than SLEB and sequence C is present then, in every occurrence of subsequence C1, field :19A::TRAA must be present. (Error code(s): E65).

If Sequence C

is … And Sequence A

field :22a::COLA is … then in every Subsequence C1

field : 19A::TRAA is …

Present SLEB Optional

not SLEB (*) Mandatory

Not present Not applicableNA Not applicableNA

(*) if the Data Source Scheme is present in field :22F::COLA// then the conditional rule does not apply.

MT 584

The Financial Instrument sequence (B) and Status sequence (C) are mutually exclusive and must not both be present in the same message.

Sequence B is ...

Sequence C is ...

Present Not allowed

Not Present Optional

RULE 266 (E66)

MT 569

In each occurrence of subsequence C1a, the presence of subsequence C1a1 depends on the value of field :17B::SECU//<Flag> as follows (Error Code E66):

In each occurrence of subsequence C1a

if field :17B:: SECU//1!a is …

In the same occurrence of subsequence C1a

then subsequence C1a1 is …

Y Mandatory

N Not allowed

MT 535, 536, 538, 586

Page 157: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 266 (E66) 2-153

If the Activity Flag (field :17B:ACTI) in sequence A General Information is N, then sequence B must not be present. Otherwise, Sequence B is mandatory (Error code E66).

Sequence A If field :17B::ACTI is ...

Sequence B is ...

N Not allowed

Y Mandatory

MT 537

In sequence A General Information, if the Activity Flag (field :17B::ACTI) indicates no information to be reported, ie, N, then sequence B Status and Sequence C Transactions must not be present. (Error code E66).

If the Activity Flag (field :17B::ACTI) indicates that there is information to be reported, ie, Y and Statement Structure Type Indicator is per statuses (field :22H::STST//STAT), then sequence B Status is mandatory and sequence C Transactions is not allowed. (Error code E66).

If the Activity Flag (field :17B::ACTI) in sequence A General Information indicates that there is information to be reported, ie, Y and Statement Structure Type Indicator is per transactions (field :22H::STST//TRAN), then sequence B Status is not allowed and sequence C Transactions is mandatory. (Error code E66).

Sequence A If field :17B::ACTI

is ...

and Sequence A field :22H::STST

is…

Then Seq. B is ...

and Seq. C is ...

N STAT Not allowed Not allowed

N TRAN Not allowed Not allowed

Y STAT Mandatory Not allowed

Y TRAN Not allowed Mandatory

MT 575

If the activity flag (field :17B::ACTI) in the General Information sequence A indicates no information to be reported (i.e. N), then the Cash Account Activity sequence B and the Free Asset Activity sequence C must not be present. Otherwise the Cash Account Activity sequence B and the Free Asset Activity sequence C are optional (Error Code E66).

Sequence A if field :17B::ACTI is ...

Sequence B is...

Sequence C is...

N Not Allowed Not Allowed

Y Optional Optional

Page 158: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-154 RULE 267 (E67) February 2007

MT 576

If the Activity Flag (field :17B::ACTI) in the General Information sequence (A) indicates no pending transactions (i.e. N), then the Financial Instrument (B) sequence must not be present.

Sequence A If field :17B::ACTI is ...

Sequence B is ...

N Not allowed

Y Mandatory

RULE 267 (E67)

MT 576

The Safekeeping Account (field :97a::SAFE) must be identified in sequence A General Information, or in all occurrences of subsequence B2c Trading Parties, but not in both.

Sequence A if field :97a::SAFE is ...

then Subsequence B2c is ...

and in all occurrences of Subsequence B2c

field :97a::SAFE is ...

Present Optional Not Allowed

Not Present Mandatory (i.e. minimum one occurrence of subsequence

B2c in this message) (*)

Mandatory

* per the message format, the upper sequences : <B, B2> are Mandatory too.

MT 584

The Safekeeping Account (field :97a::SAFE) must be identified in the General Information sequence (A), or in all occurrences of the Confirmation Parties subsequence in the Financial Instrument sequence (B) or in all occurrences of the Confirmation Parties subsequence in Status sequence (C).

Considering that : Seq. A is mandatory, Seq. B and Seq. C are optional and mutually exclusive (ref. semantic 265), since Field 97a must be present in one and only one sequence, the following validation must be implemented :

Sequence A if field:97a::SAFE is ...

then Subsequence B2b1 or C1c1 is ...

then in Subsequence B2b1 or C1c1

field:97a::SAFE is ...

Present if Seq. B is present then B2b1 is optional

Not Allowed in any B2b1

if Seq. C is present then C1c1 is optional

Not Allowed in any C1c1

Seq. B and C not present N.A.

Not Present IF Seq. B present THEN IF Seq. (B2 | B2b | B2b1) not_present (*) THEN error “E67”

Mandatory in all occurrences of B2b1

Page 159: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 268 (E68) 2-155

IF Seq. C present THEN IF Seq. (C1 | C1c | C1c1) not_present (*) THEN error “E67”

Mandatory in all occurrences of C1c1

if Seq. B and C are not present then error "E67"

Note: Seq. B and Seq. C are mutually exclusive, ref. RULE 265

(*) per the message format, the upper sequences : either <B2, B2b> or <C1, C1c>, are Mandatory too.

RULE 268 (E68)

MT 503, 504, 505, 506, 507, 527, 558

In sequence A, if field :20C::SCTR is not present, then field :20C::RCTR is mandatory, otherwise field :20C::RCTR is optional (Error Code E68).

Sequence A if field :20C::SCTR is …

Sequence A

then field :20C::RCTR is …

Not Present Mandatory

Present Optional

MT 584

The linkage sequence (subsequence B2a) in the financial instrument sequence (B) must be present when the Master Reference (field:20C::MAST) is not present in the status subsequence (B2).

Subsequence B2 if field:20C::MAST is...

Subsequence B2a is ...

Not Present Mandatory, minimum one occurrence

Present Optional

RULE 269 (E69)

MT 535, 536

If the Activity Flag (field :17B::ACTI) in sequence B Sub-safekeeping Account indicates no information to be reported, i.e. N, then subsequence B1 Financial Instrument must not be present. Subsequence B1 Financial Instrument is otherwise mandatory (Error code E69)

Page 160: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-156 RULE 270 (E70) February 2007

This check only applies when sequence B Sub-safekeeping Account is present per rule 266, i.e. in sequence A, field :17B::ACTI=Y.

Seq.A

if field

:17B::ACTI

is…

then

Seq.B

is ...

IF Seq.A

field

17B::CONS

is…

Then in each

occurrence of

Seq.B field

97a::SAFE

and field

17B::ACTI

are…

in every

occurrence of

Seq.B,

if field

:17B::ACTI

is…

in the same

occurrence of

Seq.B,

then

Subseq.B1

is ...

N Not allowed n/aNot applicable

n/aNot applicable

n/aNot applicable

n/aNot applicable

Y Mandatory Y Mandatory Y Mandatory i.e.

minimum one

occurrence

N Not allowed

N Not allowed (impact: rule

269)

Not present per Rule

256

Mandatory i.e. minimum

one occurrence

-- Rule 266-------- -- Rule 256-------- --- Rule 269---

Note: the Rules 266 and 256 take precedence over Rule 269

MT 584

If the Activity Flag (field :17B::ACTI) in the General Information sequence (A) indicates no pending transactions (i.e. N), then the Financial Instrument (B) sequence and the Status sequence (C) must not be present.

Sequence A if field :17B::ACTI is ...

Sequence B and C are ...

N Not Allowed

Y see RULE 265

RULE 270 (E70)

MT 528, 529

If field :22F::DBNM is present in sequence C and the instruction is a delivery (i.e. :22H::REDE//DELI in sequence B), then it is mandatory to specify a buyer, i.e. one occurrence of subsequence C1 Settlement Parties must contain party field :95a::BUYR (Error Code E70).

If field :22F::DBNM is present in sequence C and the instruction is a receipt (i.e. :22H::REDE//RECE in sequence B), then it is mandatory to specify a seller, i.e. one occurrence of subsequence C1 Settlement Parties must contain party field :95a::SELL

Page 161: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 270 (E70) 2-157

(Error Code E70).

In Sequence C if field :22F::DBNM

is ...

and Sequence B field

:22H::REDE is ...

then in one occurrence of subsequence C1

...

Present DELI field :95a::BUYR is Mandatory

RECE field :95a::SELL is Mandatory

Not present NANot applicable NA Not applicable refer rule 280

Note: refer rule 284

MT 540, 541

If field :22F::DBNM is present in sequence E, then a seller must be specified, i.e. one occurrence of subsequence E1 Settlement Parties must contain party field :95a::SELL (Error Code E70).

In Sequence E if field :22F::DBNM

is ...

then in one occurrence of subsequence E1

...

Present field :95a::SELL is Mandatory

Not present n/aNot applicable

Note: refer rule 284

MT 542, 543

If field :22F::DBNM is present in sequence E, then a buyer must be specified, i.e. one occurrence of subsequence E1 Settlement Parties must contain party field :95a::BUYR (Error Code E70).

Sequence E if field :22F::DBNM

is ...

then in one occurrence of subsequence E1

...

Present field :95a::BUYR is Mandatory

Not present Not applicablen/a

Note: refer rule 284

Page 162: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-158 RULE 271 (E71) February 2007

RULE 271 (E71)

MT 503, 504, 505, 506, 507

In each occurrence of subsequence A1, if field :22F::AGRE is not present, then field :70C::AGRE is mandatory, otherwise field :70C::AGRE is optional (Error Code E71).

In each occurrence of subsequence A1 if field :22F::AGRE is …

In the same occurrence of subsequence A1then field :70C::AGRE is …

Not present Mandatory

Present Optional

RULE 272 (E72)

MT 503, 504

In each occurrence of subsequence C3, if field :22H::BCOL//LCOL is present, then field :98B::EXPI//OPEN (i.e. Qualifier = EXPI, Data Source Scheme not present and Date Code = OPEN) is not allowed, otherwise field :98B::EXPI//OPEN is optional (Error Code E72):

In each occurrence of subsequence C3

if field :22H::BCOL//LCOL is …

In the same occurrence of subsequence C3then field :98B::EXPI//OPEN

is …

Present Not allowed

Not present Optional

MT 505

In each occurrence of subsequence B3, if field :22H::BCOL//LCOL is present, then field :98B::EXPI//OPEN (i.e. Qualifier = EXPI, Data Source Scheme not present and Date Code = OPEN) is not allowed, otherwise field :98B::EXPI//OPEN is optional (Error Code E72):

In each occurrence of subsequence B3

if field :22H::BCOL//LCOL is …

In the same occurrence of subsequence B3then field :98B::EXPI//OPEN

is …

Present Not allowed

Not present Optional

Page 163: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 273 (E73) 2-159

MT 506

In each occurrence of subsequence D3, if field :22H::BCOL//LCOL is present, then field :98B::EXPI//OPEN (i.e. Qualifier = EXPI, Data Source Scheme not present and Date Code = OPEN) is not allowed, otherwise field :98B::EXPI//OPEN is optional (Error Code E72):

In each occurrence of subsequence D3

if field :22H::BCOL//LCOL is …

In the same occurrence of subsequence D3then field :98B::EXPI//OPEN

is …

Present Not allowed

Not present Optional

MT 569

In each occurrence of subsequence C1a, the presence of field :98a::SETT depends on the value of field :17B::COLL as follows (Error Code E72):

In each occurrence of subsequence C1a

if field:17B::COLL is …

In the same occurrence of subsequence C1a

then field :98a::SETT is …

Y Mandatory

N Not allowed

RULE 273 (E73)

MT 513, 515

If the Settlement Amount (:19A::SETT) is present in Sequence C, it must not be present in any occurrence of Subsequence D3.

Sequence C if field :19A::SETT is ...

Then, for each occurrence of Subsequence D3

field :19A::SETT is ...

Present Not allowed

Not present Optional

MT 514, 518

If the Settlement Amount (:19A::SETT) is present in Sequence B, it must not be present in any occurrence of Subsequence C3.

Sequence B if field :19A::SETT is ...

Then, for each occurrence of Subsequence C3

field :19A::SETT is ...

Present Not allowed

Not present Optional

Page 164: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-160 RULE 274 (E74) February 2007

MT 584

Within each occurrence of Subsequence B2b, if the Settlement Amount (:19A::SETT) is present in Subsequence B2b, it must not be present in any occurrence of Subsequence B2b2.

Within each occurrence of Subsequence B2b:

if field :19A::SETT is ...

Then, for each occurrence of Subsequence B2b2 in the same Subsequence B2b:

field :19A::SETT is ...

Present Not allowed

Not present Optional

Within each occurrence of Subsequence C1c, if the Settlement Amount (:19A::SETT) is present in Subsequence C1c, it must not be present in any occurrence of Subsequence C1c2.

Within each occurrence of Subsequence C1c:

if field :19A::SETT is ...

Then, for each occurrence of Subsequence C1c2 in the same Subsequence C1c:

field :19A::SETT is ...

Present Not allowed

Not present Optional

note : sequences B and C are mutually exclusive, ref. RULE 265.

RULE 274 (E74)

MT 502

In sequence B, the Type of Order Indicator (field :22F::TOOR) and/or the Price Limit (field :90a::LIMI) must be present.

Sequence B

if field :22F::TOOR is ...

then Subsequence B1 is... Subsequence B1

and field :90a::LIMI is ...

Present Optional Optional

Not Present Mandatory (i.e. minimum one occurrence of Subsequence B1)

Mandatory in at least one occurrence of subsequence B1

RULE 275 (E75)

MT 528, 529

If the Settlement Amount (:19A::SETT) is specified in both Sequences B and C3, it must contain the same value, i.e. ((Sign)(Currency)(Amount)) must be identical.

RULE 276 (E76)

MTs <see matrix below>

For specific message types, if the value date (if field with Value Date is present in the message) is after 31 December 2001, then the 13 European currencies (referenced as NCD) must not be used as the currency of settlement (Error Code: E76).

Page 165: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 276 (E76) 2-161

IF <MT> = <see MT list below> THEN IF <Fieldxxx with Value Date> is present

THEN IF "Fieldxxx.value_date" > "31 Dec. 2001" THEN IF <Fieldyyy.CUR> = <ATS | BEF | DEM | ESP | FIM | FRF | GRD | IEP | ITL | LUF | NLG | PTE | XEU> THEN <error:"E76"> ENDIF ENDIF

ENDIF ENDIF

For the same message types, if the value date (if field with Value Date is present in the message) is after 31 December 2006, then the currency SIT (Slovenia) must not be used as the currency of settlement (Error Code: E76).

IF <MT> = <see MT list below> THEN IF <Fieldxxx with Value Date> is present

THEN IF "Fieldxxx.value_date" > "31 Dec. 2006" THEN IF <Fieldyyy.CUR> = <SIT> THEN <error:"E76"> ENDIF ENDIF

ENDIF ENDIF

MT Fieldxxx_Value-date Fieldyyy_CUR

101 30 in Seq A 32B in Seq B (each occurrence)

102 generic 102 tag :119:STP

32A in Seq C 32A in Seq C

103 generic 103 tag :119:REMIT 103 tag :119:STP

32A 32A

104 generic 30 in Seq A 32B in Seq B (each occurrence)

32B in Seq C (see RULE 2, 96)

104 tag :119:RFDD 30 in Seq A 32B in Seq B (each occurrence)

107 30 in Seq A 32B in Seq C

200 32A 32A

201 30 32B (each occurrence)

202 32A 32A

203 30 32B (each occurrence)

204 30 in Seq A 32B in Seq B (each occurrence)

205 32A 32A

207 30 in Seq A 32B in Seq B (each occurrence)

Page 166: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-162 RULE 276 (E76) February 2007

210 30 32B (each occurrence)

400 33A 33A

405 32C in Subseq. B3 (each occurrence)

32C in Subseq B3 (each occurrence)

32D in Seq C 32D in Seq C

450 32A (each occurrence) 32A (each occurrence)

455 32A 32A

33C 33C

33D 33D

456 33D (each occurrence) 33D (each occurrence)

513 [Seq C Order Details Field 98a Qualifier SETT] (*)

Seq C Order Details Field 19A Qualifier SETT

Seq D3 Amounts Field 19A Qualifier SETT (each occurrence)

514 [Seq B Confirmation Details Field 98a Qualifier SETT] (*)

Seq B Confirmation Details Field 19A Qualifier SETT

Seq C3 Amounts Field 19A Qualifier SETT (each occurrence)

515 Seq C Confirmation Details Field 98a Qualifier SETT (*)

Seq C Confirmation Details Field 19A Qualifier SETT

Seq D3 Amounts Field 19A Qualifier SETT (each occurrence)

518 Seq B Confirmation Details Field 98a Qualifier SETT (*)

Seq B Confirmation Details Field 19A Qualifier SETT

Seq C3 Amounts Field 19A Qualifier SETT (each occurrence)

528 Seq B Confirmation Details Field 98a Qualifier SETT (*)

Seq B Confirmation Details Field 19A Qualifier SETT

Seq C3 Amounts Field 19A Qualifier SETT (each occurrence)

529 Seq B Confirmation Details Field 98a

Seq B Confirmation Details Field 19A

Page 167: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 276 (E76) 2-163

Qualifier SETT (*) Qualifier SETT

Seq C3 Amounts Field 19A Qualifier SETT (each occurrence)

541 Seq B-Trade Details Field 98a Qualifier SETT (*)

Seq E3 Amounts Field 19A Qualifier SETT (each occurrence)

543 Seq B Trade Details Field 98a Qualifier SETT (*)

Seq E3 Amounts Field 19A Qualifier SETT (each occurrence)

545 [Seq B Trade Details Field 98a Qualifier SETT] (*)

Seq E3 Amounts Field 19A Qualifier ESTT

547 [Seq B Trade Details Field 98a Qualifier SETT] (*)

Seq E3 Amounts Field 19A Qualifier ESTT

564 Seq E2 Cash Movements Field 98a Qualifier PAYD (*)

Seq E2 Cash Movements Field 19B Qualifier ENTL (each occurrence)

Seq E2 Cash Movements Field 98a Qualifier VALU (*)

Seq E2 Cash Movements Field 19B Qualifier ENTL (each occurrence)

566 Seq D2 Cash Movements Field 98a Qualifier POST

Seq D2 Cash Movements Field 19B Qualifier PSTA (each occurrence)

584 [Seq B2b Trade Details Field 98a Qualifier SETT] (*)

Seq B2b Trade Details Field 19A Qualifier SETT (each occurrence)

Seq B2b2 Amounts Field 19A Qualifier SETT (each occurrence)

[Seq C1c Trade Details Field 98a Qualifier SETT] (*)

Seq C1c Trade Details Field 19A Qualifier SETT (each occurrence)

Seq C1c2 Amounts Field 19A Qualifier SETT (each occurrence)

730 32D 32D

734 33A 33A

Page 168: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-164 RULE 277 (E77) February 2007

742 34A 34A

752 33A 33A

754 34A 34A

756 33A 33A

768 32D 32D

769 32D 32D

800 32A in Seq B 32A in Seq B

802 32A 32A

813 32A in Seq C 32A in Seq C

900 32A 32A

910 32A 32A

'generic' = no tag :119: present in the User Header

* If the Value Date component is not present, then the validation is not performed ex.: MT 564 seq. E2, if :98B:: is used, the validation is not performed

RULE 277 (E77)

MT 564 In each occurrence of sequence D, field :92a::, the qualifier TAXC may only be repeated with letter option/s E or/and J; and the qualifiers GRSS and NETT may only be repeated with letter option J (Error code(s): E77). In each occurrence of sequence E, field :92a::, the qualifier TAXC may only be repeated with letter option/s E or/and J; and the qualifiers GRSS and NETT may only be repeated with letter option J (Error code(s): E77). In each occurrence of subsequence E1, field :92a::, the qualifier GRSS may only be repeated with letter option J (Error code(s): E77). In each occurrence of sequence D, E and E1, if field :92a::TAXC, GRSS or NETT is used with letter option A, F or K, then the same qualifier(s) (TAXC, GRSS, NETT) must not be repeated. Therefore, field :92a::TAXC, GRSS and NETT may only be repeated with letter option/s E or/and J (Error code(s): E77).

MT 566 In each occurrence of sequence C, field :92a::, the qualifier TAXC may only be repeated with letter option/s E or/and J; and the qualifiers GRSS and NETT may only be repeated with letter option J (Error code(s): E77). In each occurrence of sequence D, field :92a::, the qualifier TAXC may only be repeated with letter option/s E or/and J; and the qualifiers GRSS and NETT may only be repeated with letter option J (Error code(s): E77). In each occurrence of subsequence D1, field :92a::, the qualifier GRSS may only be repeated with letter option J (Error code(s): E77). In each occurrence of sequence C, D and D1, if field :92a::TAXC, GRSS or NETT is used with letter option A or F, then the same qualifier(s) (TAXC, GRSS, NETT) must not be

Page 169: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 278 (E78) 2-165

repeated. Therefore, field :92a::TAXC, GRSS and NETT may only be repeated with letter option/s E or/and J (Error code(s): E77).

RULE 278 (E78) MT 564

In each occurrence of sequence D:

if field :92J:: GRSS is present more than once, then for each occurrence of field :92J:: GRSS, the Rate Type Code must be different,

if field :92E::TAXC or/and :92J::TAXC is/are present more than once, then for each occurrence of field :92a::TAXC, the Rate Type Code must be different,

if field:92J:: NETT is present more than once, then for each occurrence of field :92J:: NETT, the Rate Type Code must be different,

if field :92J:: TAXE is present more than once, then for each occurrence of field :92J:: TAXE, the Rate Type Code must be different (Error code(s): E78).

In each occurrence of sequence E:

if field :92J:: GRSS is present more than once, then for each occurrence of field :92J:: GRSS, the Rate Type Code must be different,

if field :92E::TAXC or/and :92J::TAXC is/are present more than once, then for each occurrence of field :92a::TAXC, the Rate Type Code must be different,

if field:92J:: NETT is present more than once, then for each occurrence of field :92J:: NETT, the Rate Type Code must be different,

if field :92J:: TAXE is present more than once, then for each occurrence of field :92J:: TAXE, the Rate Type Code must be different (Error code(s): E78).

In each occurrence of subsequence E1:

if field:92J:: GRSS is present more than once, then for each occurrence of field :92J:: GRSS, the Rate Type Code must be different,

In each occurrence of sequence D, E and E1:

if field :92E:: GRSS or/and :92J:: GRSS is/are present more than once, then for each occurrence of field :92a:: GRSS, the Rate Type Code must be different,

if field :92E::TAXC or/and :92J::TAXC is/are present more than once, then for each occurrence of field :92a::TAXC, the Rate Type Code must be different,

if field :92E:: NETT or/and :92J:: NETT is/are present more than once, then for each occurrence of field :92a:: NETT, the Rate Type Code must be different,

if field :92J:: TAXE is present more than once, then for each occurrence of field :92J:: TAXE, the Rate Type Code must be different (Error code(s): E78). note: ref. rule 277. MT 566

In each occurrence of sequence C:

if field :92J:: GRSS is present more than once, then for each occurrence of field :92J:: GRSS, the Rate Type Code must be different,

Page 170: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-166 RULE 279 (E79) February 2007

if field :92E::TAXC or/and :92J::TAXC is/are present more than once, then for each occurrence of field :92a::TAXC, the Rate Type Code must be different,

if field:92J:: NETT is present more than once, then for each occurrence of field :92J:: NETT, the Rate Type Code must be different,

if field :92J:: TAXE is present more than once, then for each occurrence of field :92J:: TAXE, the Rate Type Code must be different (Error code(s): E78).

In each occurrence of sequence D:

if field :92J:: GRSS is present more than once, then for each occurrence of field :92J:: GRSS, the Rate Type Code must be different,

if field :92E::TAXC or/and :92J::TAXC is/are present more than once, then for each occurrence of field :92a::TAXC, the Rate Type Code must be different,

if field:92J:: NETT is present more than once, then for each occurrence of field :92J:: NETT, the Rate Type Code must be different,

if field :92J:: TAXE is present more than once, then for each occurrence of field :92J:: TAXE, the Rate Type Code must be different (Error code(s): E78).

In each occurrence of subsequence D1:

if field:92J:: GRSS is present more than once, then for each occurrence of field :92J:: GRSS, the Rate Type Code must be different,

In each occurrence of sequence C, D and D1:

if field :92E:: GRSS or/and :92J:: GRSS is/are present more than once, then for each occurrence of field :92a:: GRSS, the Rate Type Code must be different,

if field :92E::TAXC or/and :92J::TAXC is/are present more than once, then for each occurrence of field :92a::TAXC, the Rate Type Code must be different,

if field :92E:: NETT or/and :92J:: NETT is/are present more than once, then for each occurrence of field :92a:: NETT, the Rate Type Code must be different,

if field :92J:: TAXE is present more than once, then for each occurrence of field :92J:: TAXE, the Rate Type Code must be different (Error code(s): E78). note: ref. rule 277.

RULE 279 (E79)

MT 549

Statement Date/Time (field :98a::STAT) and Statement Period (field :69a::STAT) are mutually exclusive. This rule applies to sequence A (Error Code E79).

Sequence A if field :98a::STAT is ...

Sequence A then field :69a::STAT is ...

Present Not Allowed

Not Present Optional

Page 171: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 280 (E80) 2-167

MT 564

In each occurrence of sequence E, if field :22F::CAOP//OTHR is present, then in the same occurrence of sequence E field :70E::ADTX is mandatory (Error Code E79).

in each occurrence of sequence E if field :22F::CAOP//OTHR

is ... (*)

in the same occurrence of sequence E then field :70E::ADTX

is ...

Present Mandatory

Not Present Optional

(*) if the Data Source Scheme is present in field :22F::CAOP//OTHR then the conditional rule does not apply.

MT 565

In sequence D, if field :22F::CAOP//SPLI is present, then field 70E::INST is mandatory in the same sequence (Error Code: E79).

in sequence D if field :22F::CAOP//SPLI

is ... (*)

in sequence D then field :70E::INST

is…

Present Mandatory (i.e. minimum one occurrence)

Not Present Optional

(*) if the Data Source Scheme is present in field :22F::CAOP//SPLI then the conditional rule does not apply.

RULE 280 (E80)

MT 528, 529

If field :22F::DBNM is NOT present in sequence C, then it is mandatory to specify a place of settlement: one occurrence of subsequence C1 Settlement Parties must contain party field :95a::PSET (Error code(s): E80).

In Sequence C, if field

:22F::DBNM is ...

then in one occurrence

of subsequence C1 ...

Not present field :95a::PSET is Mandatory

Present NA Not applicable refer rule 270

note: refer rule 284 (i.e. :95a::PSET must be present in only one occurrence of C1)

Page 172: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-168 RULE 281 (E81) February 2007

MT 549

Sequence B Statement by Status/Reason and/or by Financial Instrument and sequence C Statement by Instruction Reference are mutually exclusive (Error Code E80).

If Sequence B is...

Then Sequence C is...

Present Not Allowed

Not Present Optional

MT 564

In each occurrence of sequence D, and E and E1, if field :92J::TAXE is present, then field :92F::GRSS must be present in the same sequence occurrence (Error code(s): E80).

In each occurrence of sequence E, if field :92J::TAXE is present, then field :92F::GRSS must be present in the same sequence occurrence (Error code(s): E80).

MT 566

In each occurrence of sequence C, and D and D1, if field :92J::TAXE is present, then field :92F::GRSS must be present in the same sequence occurrence (Error code(s): E80).

In sequence D, if field :92J::TAXE is present, then field :92F::GRSS must be present (Error code(s): E80).

RULE 281 (E81)

MT 508, 524

The "Balance from" must be different from the "Balance To". The third component (Sub-balance Type) of field :93A::FROM must be different from the third component (Sub-balance Type) in field :93A::TOBA. This check applies to sequence B (Error Code E81)

MT 538

Within each occurrence of the Sub-Balance Subsequence B2, the third component (Sub-balance Type) of field :93A::FROM must be different from the third component (Sub-balance Type) in all occurrences of field :93A::TOBA in the Intra-Position Movement Subsequence B2a (Error Code E81).

RULE 282 (E82)

MT 535

If the statement refers to an accounting statement, i.e. :22F::STTY//ACCT present, then at least one occurrence of subsequence B1 is required, and in each occurrence of subsequence B1 both fields Price (field :90a:) and Holding Value (field :19A::HOLD) must be specified (Error code E82).

This check only applies when sequence B Sub-safekeeping Account is present as per rule 266, i.e. in sequence A, field :17B::ACTI = Y.

Page 173: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 283 (E83) 2-169

Sequence A if field

:17B::ACTI is…

then sequence B

is…

and in sequence A if field

:22F::STTY//ACCT is ...

then subsequence

B1 is…

and in every occurrence of

subsequence B1 field :90a::

is…

and in every occurrence of

subsequence B1 field :19A::HOLD

is…

Y Mandatory i.e. minimum

one occurrence

Present, and DSS not present in field :22F::STTY

Mandatory i.e. minimum one occurrence in the message (note)

Mandatory Mandatory

Not present, or DSS present in field :22F::STTY

Optional Optional Optional

N Not allowed N.A.Not applicable N.A.Not applicable N.A.Not applicable N.A.Not applicable

note: B1 is NOT mandatory in every occurrence of sequence B

RULE 283 (E83)

MT 307

The following fields cannot appear more than once in the message (Error Code : E83):

Subsequence B3 Subsequence D1

:19B::BUYE :95a::CDEA

:19B::SELL :95a::INTE

:95a::ACCW

:95a::BENM

MT 503, 504

In each occurrence of sequence C, the presence of subsequences C1, C2 and C3 depends on the value of field :22H::COLL//<Indicator> as follows (Error Code E83):

In each occurrence of sequence C

if field :22H::COLL//4!c

is …

then subsequence C1 is …

and subsequence C2 is …

and subsequence C3 is …

BCOL Not Allowed Not Allowed Mandatory

CCOL Not Allowed Mandatory Not Allowed

SCOL Mandatory Not Allowed Not Allowed

Page 174: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-170 RULE 283 (E83) February 2007

MT 505

In each occurrence of sequence B, the presence of subsequences B1, B2 and B3 depends on the value of field :22H::COLL as follows (Error Code E83):

In each occurrence of sequence B

if field :22H::COLL

is …

then subsequence B1 is …

and subsequence B2 is …

and subsequence B3 is …

BCOL Not Allowed Not Allowed Mandatory

CCOL Not Allowed Mandatory Not Allowed

SCOL Mandatory Not Allowed Not Allowed

MT 506

In each occurrence of sequence D, the presence of subsequences D1, D2 and D3 depends on the value of field :22H::COLL as follows (Error Code E83):

In each occurrence of sequence D

if field :22H::COLL

is …

then subsequence D1 is …

and subsequence D2 is …

and subsequence D3 is …

BCOL Not Allowed Not Allowed Mandatory

CCOL Not Allowed Mandatory Not Allowed

SCOL Mandatory Not Allowed Not Allowed

MT 536

If the instruction is against payment (:22H::PAYM//APMT) then it is mandatory to specify a Posting Amount (field :19A::PSTA). This rule applies to subsequence B1a2 (Error Code E83)

Subsequence B1a2 if field :22H::PAYM is ...

Subsequence B1a2 then field :19A::PSTA is ...

APMT Mandatory

NOT= APMT Optional

Page 175: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 283 (E83) 2-171

MT 537

If the instruction is against payment (:22H::PAYM//APMT) then it is mandatory to specify a Posting Amount (field :19A::PSTA). This rule applies to Subsequence B2b and C2 (Error Code E83).

Subsequence B2b if field :22H::PAYM is ...

Subsequence B2b then field :19A::PSTA is ...

APMT Mandatory

NOT= APMT Optional

Subsequence C2 if field :22H::PAYM is ...

Subsequence C2 then field :19A::PSTA is ...

APMT Mandatory

NOT= APMT Optional

MT548

If the instruction is against payment (:22H::PAYM//APMT) then it is mandatory to specify a Settlement Amount (field :19A::SETT). This rule applies to sequence B (Error Code E83).

Sequence B if field :22H::PAYM is ...

Sequence B then field :19A::SETT is ...

APMT Mandatory

NOT= APMT Optional

MT 578

If the alleged instruction is against payment (:22H::PAYM//APMT in sequence B) then it is mandatory to specify a Settlement Amount : One occurrence of the amounts Subsequence E3 must contain amount field :19A::SETT (Error Code E83).

Sequence B if field :22H::PAYM is ...

then Subsequence E3 is...

and in one occurrence of Subsequence E3

field :19A::SETT is...

APMT Mandatory Mandatory

NOT= APMT Optional Optional

see rule 287

Page 176: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-172 RULE 284 (E84) February 2007

MT 586

If the instruction is against payment (:22H::PAYM//APMT) then it is mandatory to specify a Settlement Amount (field :19A::SETT). This rule applies to sequence B (Error Code E83).

Sequence B if field :22H::PAYM is ...

Then Subsequence B5c is...

And in one occurrence of Subsequence B5c

field :19A::SETT is ...

APMT Mandatory Mandatory

NOT= APMT Optional Optional

see rule 287

RULE 284 (E84)

MT 307

In each occurrence of Seq. B3, the following party fields cannot appear more than once (Error Code E84)

Subsequence B3a

:95a::CDEA

:95a::INTE

:95a::ACCW

:95a::BENM

MT 308

In each occurrence of Subsequence B4, the following fields cannot appear more than once (Error Code E84)

Subsequence B4b

:95a::CDEA

:95a::INTE

:95a::ACCW

:95a::BENM

Page 177: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 284 (E84) 2-173

MT 321

In each occurrence of sequence C, the following party fields for Subsequence C1 cannot appear more than once (Error Code E84)

Subsequence C1

:95a::CDEA

:95a::INT2

:95a::INTE

:95a::ACCW

:95a::BENM

MT 502, 514, 528, 529

The following Party Fields, for sequences C1 and C2, cannot appear more than once in sequence C. The following Party Fields for sequence D cannot appear more than once in a message. (Error Code E84).

Subsequence C1 Subsequence C2 Sequence D

:95a::BUYR :95a::ACCW :95a::EXCH

:95a::DEAG :95a::BENM :95a::MEOR

:95a::DECU :95a::PAYE :95a::MERE

:95a::DEI1 :95a::TRRE

:95a::DEI2 :95a::VEND

:95a::TRAG

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

MT 518

The following Party Fields, for sequences C1 and C2, cannot appear more than once in sequence C. The following Party Fields for sequence D cannot appear more than once in a message. (Error Code E84).

Subsequence C1 Subsequence C2 Sequence D

:95a::BUYR :95a::ACCW :95a::EXCH

:95a::DEAG :95a::BENM :95a::MEOR

:95a::DECU :95a::PAYE :95a::MERE

:95a::DEI1 :95a::TRRE

Page 178: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-174 RULE 284 (E84) February 2007

:95a::DEI2 :95a::VEND

:95a::TRAG

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

MT 504

In each occurrence of sequence C, for subsequences C1a1 and C2a1, the following party fields cannot appear more than once (Error Code E84).

Subsequence C1a1 Subsequence C2a1

:95a::BUYR :95a::ACCW

:95a::DEAG :95a::BENM

:95a::DECU :95a::PAYE

:95a::DEI1

:95a::DEI2

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

In sequences D and E, for subsequences D1 and E1, the following party fields cannot appear more than once (Error Code E84):

Subsequence D1 Subsequence E1

:95a::BUYR :95a::ACCW

:95a::DEAG :95a::BENM

:95a::DECU :95a::PAYE

:95a::DEI1

:95a::DEI2

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

Page 179: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 284 (E84) 2-175

:95a::REI2

:95a::SELL

MT 505

In each occurrence of sequence B, for subsequences B1a1 and B2a1, the following party fields cannot appear more than once (Error Code E84).

Subsequence B1a1 Subsequence B2a1

:95a::BUYR :95a::ACCW

:95a::DEAG :95a::BENM

:95a::DECU :95a::PAYE

:95a::DEI1

:95a::DEI2

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

In sequences C and D, for subsequences C1 and D1, the following party fields cannot appear more than once (Error Code E84):

Subsequence C1 Subsequence D1

:95a::BUYR :95a::ACCW

:95a::DEAG :95a::BENM

:95a::DECU :95a::PAYE

:95a::DEI1

:95a::DEI2

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

Page 180: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-176 RULE 284 (E84) February 2007

MT 507

In each occurrence of sequence B, for subsequences B1a1 and B1b1, the following party fields cannot appear more than once (Error Code E84):

Subsequence B1a1 Subsequence B1b1

:95a::BUYR :95a::ACCW

:95a::DEAG :95a::BENM

:95a::DECU :95a::PAYE

:95a::DEI1

:95a::DEI2

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

MT 513

The following Party Fields, for sequences D1 and D2, cannot appear more than once in sequence D. The following Party Fields for sequence E cannot appear more than once in a message. (Error Code E84).

Subsequence D1 Subsequence D2 Sequence E

:95a::BUYR :95a::ACCW :95a::EXCH

:95a::DEAG :95a::BENM :95a::MEOR

:95a::DECU :95a::PAYE :95a::MERE

:95a::DEI1 :95a::TRRE

:95a::DEI2 :95a::VEND

:95a::TRAG

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

Page 181: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 284 (E84) 2-177

MT 515

The following Party Fields, for sequences D1 and D2, cannot appear more than once in sequence D. The following Party Fields for sequence E cannot appear more than once in a message. (Error Code E84).

Subsequence D1 Subsequence D2 Sequence E

:95a::BUYR :95a::ACCW :95a::EXCH

:95a::DEAG :95a::BENM :95a::MEOR

:95a::DECU :95a::PAYE :95a::MERE

:95a::DEI1 :95a::TRRE

:95a::DEI2 :95a::VEND

:95a::TRAG

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

MT 536

In each occurrence of Subsequence B1a, in Subsequence B1a2, the following Party Fields cannot appear more than once (Error Code E84).

Subsequence B1a2a

:95a::BUYR

:95a::DEAG

:95a::DECU

:95a::DEI1

:95a::DEI2

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

Page 182: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-178 RULE 284 (E84) February 2007

MT 537

The following Party Fields cannot appear more than once in the same occurrence of Subsequence B2b (Error Code E84).

Subsequence B2b1

:95a::BUYR

:95a::DEAG

:95a::DECU

:95a::DEI1

:95a::DEI2

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

The following Party Fields cannot appear more than once in the same occurrence of Subsequence C2 (Error Code E84).

Subsequence C2a

:95a::BUYR

:95a::DEAG

:95a::DECU

:95a::DEI1

:95a::DEI2

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

MT 540, 542, 544, 546

The following Party Fields cannot appear more than once in a message (Error Code E84).

Subsequence E1 Subsequence E2 Sequence F

:95a::BUYR :95a::ACCW :95a::EXCH

:95a::DEAG :95a::BENM :95a::MEOR

:95a::DECU :95a::PAYE :95a::MERE

:95a::DEI1 :95a::TRRE

Page 183: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 284 (E84) 2-179

:95a::DEI2 :95a::INVE

:95a::PSET :95a::TRAG

:95a::REAG :95a::VEND

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

MT 541, 543, 545, 547

The following Party Fields cannot appear more than once in a message (Error Code E84).

Subsequence E1 Subsequence E2 Sequence F

:95a::BUYR :95a::ACCW :95a::EXCH

:95a::DEAG :95a::BENM :95a::MEOR

:95a::DECU :95a::PAYE :95a::MERE

:95a::DEI1 :95a::TRRE

:95a::DEI2 :95a::INVE

:95a::PSET :95a::TRAG

:95a::REAG :95a::VEND

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

MT 548

The following Party Fields cannot appear more than once in the same occurrence of sequence B (Error Code E84).

Subsequence B1

:95a::BUYR

:95a::DEAG

:95a::DECU

:95a::DEI1

:95a::DEI2

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

Page 184: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-180 RULE 284 (E84) February 2007

MT 575

The following Party Fields cannot appear more than once in the same occurrence of Subsequence B1a (Error Code E84).

Subsequence B1a4

:95a::BUYR

:95a::DEAG

:95a::DECU

:95a::DEI1

:95a::DEI2

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

MT 575

The following Party Fields cannot appear more than once in the same occurrence of Subsequence C2 (Error Code E84).

Subsequence C2a

:95a::BUYR

:95a::DEAG

:95a::DECU

:95a::DEI1

:95a::DEI2

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

Page 185: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 284 (E84) 2-181

MT 578

The following Party Fields cannot appear more than once in a message (Error Code E84).

Subsequence E1 Subsequence E2

:95a::BUYR :95a::ACCW

:95a::DEAG :95a::BENM

:95a::DECU :95a::PAYE

:95a::DEI1

:95a::DEI2

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

MT 586

The following Party Fields cannot appear more than once in the same occurrence of sequence B (Error Code E84).

Subsequence B5a Subsequence B5b

:95a::BUYR :95a::ACCW

:95a::DEAG :95a::BENM

:95a::DECU :95a::PAYE

:95a::DEI1

:95a::DEI2

:95a::PSET

:95a::REAG

:95a::RECU

:95a::REI1

:95a::REI2

:95a::SELL

Page 186: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-182 RULE 285 (E85) February 2007

RULE 285 (E85)

MT 503, 504

In each occurrence of subsequence C2, the presence of field :98A::TERM depends on the value of field :22H::DEPO//<Indicator> as follows (Error Code E85):

In each occurrence of subsequence C2

if field :22H::DEPO//4!c is …

In the same occurrence of subsequence C2

then field :98A::TERM is …

FIXT Mandatory

CLNT Not Allowed

MT 505

In each occurrence of subsequence B2, the presence of field :98A::TERM depends on the value of field :22H::DEPO//<Indicator> as follows (Error Code E85):

In each occurrence of subsequence B2

if field :22H::DEPO//4!c is …

In the same occurrence of subsequence B2

then field :98A::TERM is …

FIXT Mandatory

CLNT Not Allowed

MT 506

In each occurrence of subsequence D2, the presence of field :98A::TERM depends on the value of field :22H::DEPO//<Indicator> as follows (Error Code E85):

In each occurrence of subsequence D2

if field :22H::DEPO//4!c is …

In the same occurrence of subsequence D2

then field :98A::TERM is …

FIXT Mandatory

CLNT Not Allowed

MT 528, 529

If field :22F::DBNM is NOT present in sequence C, and the instruction is a delivery (:22H::REDE//DELI in sequence B), then it is mandatory to specify a receiving agent: one occurrence of subsequence C1 Settlement Parties must contain party field :95a::REAG (Error Code E85).

Page 187: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 285 (E85) 2-183

If field :22F::DBNM is NOT present in sequence C, and the instruction is a receipt (:22H::REDE//RECE in sequence B), then it is mandatory to specify a delivering agent: one occurrence of subsequence C1 Settlement Parties must contain party field :95a::DEAG (Error Code E85).

In Sequence C if field :22F::DBNM

is ...

and Sequence B field

:22H::REDE is ...

then in one occurrence of subsequence C1

...

Not present DELI field :95a::REAG is Mandatory

ref. 284

RECE field :95a::DEAG is Mandatory

ref. 284

Present NANot applicable NANot applicable

MT 537

If the instruction is a delivery (:22H::REDE//DELI in Subsequence B2b) and the Settlement Parties Subsequence B2b1 is used, then it is mandatory to specify a Receiving Agent: One occurrence of the settlement parties Subsequence B2b1 must contain party field :95a::REAG (Error Code E85).

If the instruction is a receipt (:22H::REDE//RECE in Subsequence B2b) and the Settlement Parties Subsequence B2b1 is used, then it is mandatory to specify a Delivering Agent: One occurrence of the settlement parties Subsequence B2b1 must contain party field :95a::DEAG (Error Code E85).

Subsequence B2b if field :22H::REDE is ...

And if Subsequence B2b1is...

Then in one occurrence of Subsequence B2b1

field :95a::REAG is ...

DELI Present Mandatory

Subsequence B2b if field :22H::REDE is ...

And if Subsequence B2b1is...

Then in one occurrence of Subsequence B2b1

field :95a::DEAG is ...

RECE Present Mandatory

If the instruction is a delivery (:22H::REDE//DELI in Subsequence C2) and the Settlement Parties Subsequence C2a is used, then it is mandatory to specify a Receiving Agent: One occurrence of the settlement parties Subsequence C2a must contain party field :95a::REAG (Error Code E85).

If the instruction is a receipt (:22H::REDE//RECE in Subsequence C2) and the Settlement Parties Subsequence C2a is used, then it is mandatory to specify a Delivering Agent: One occurrence of the settlement parties Subsequence C2a must contain party field :95a::DEAG (Error Code E85).

Page 188: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-184 RULE 285 (E85) February 2007

Subsequence C2 if field :22H::REDE is ...

And if Subsequence C2a is...

Then in one occurrence of Subsequence C2a

field :95a::REAG is ...

DELI Present Mandatory

Subsequence C2 if field :22H::REDE is ...

And if Subsequence C2a is...

Then in one occurrence of Subsequence C2a

field :95a::DEAG is ...

RECE Present Mandatory

MT 548

If the instruction is a delivery (:22H::REDE//DELI in sequence B) and the Settlement Parties Subsequence B1 is used, then it is mandatory to specify a Receiving Agent: One occurrence of the Settlement Parties Subsequence B1 must contain party field :95a::REAG (Error Code E85).

If the instruction is a receipt (:22H::REDE//RECE in sequence B) and the Settlement Parties Subsequence B1 is used, then it is mandatory to specify a Delivering Agent: One occurrence of the Settlement Parties Subsequence B1 must contain party field :95a::DEAG (Error Code E85).

Sequence B if field :22H::REDE is ...

And if Subsequence B1 is...

Then in one occurrence of Subsequence B1

field :95a::REAG is ...

DELI Present Mandatory

Sequence B if field :22H::REDE is ...

And if Subsequence B1 is...

Then in one occurrence of Subsequence B1

field :95a::DEAG is ...

RECE Present Mandatory

MT578

If the alleged instruction is a delivery (:22H::REDE//DELI in sequence B) then it is mandatory to specify a Delivering Agent: One occurrence of the settlement parties Subsequence E1 must contain party field :95a::DEAG (Error Code E85).

If the alleged instruction is a receipt (:22H::REDE//RECE in sequence B) then it is mandatory to specify a Receiving Agent: One occurrence of the settlement parties Subsequence E1 must contain party field :95a::REAG (Error Code E85).

Sequence B if field :22H::REDE is ...

Then in one occurrence of Subsequence E1

field :95a::DEAG is ...

DELI Mandatory

Sequence B if field :22H::REDE is ...

Then in one occurrence of Subsequence E1

field :95a::REAG is ...

RECE Mandatory

Page 189: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 286 (E86) 2-185

MT 586

Within each occurrence of Seq. B, if the allegement is a delivery (:22H::REDE//DELI in sequence B), then it is mandatory to specify a Delivering Agent: One occurrence of the settlement parties Subsequence B5a must contain party field :95a::DEAG (Error Code E85).

Within each occurrence of Seq. B, if the allegement is a receipt (:22H::REDE//RECE in sequence B), then it is mandatory to specify a Receiving Agent: One occurrence of the settlement parties Subsequence B5a must contain party field :95a::REAG (Error Code E85).

Sequence B if field :22H::REDE is ...

then in the same occurrence of Seq. B, in one occurrence of Seq.B5a

field :95a::DEAG is ...

DELI Mandatory

Sequence B if field :22H::REDE is ...

then in the same occurrence of Seq. B, in one occurrence of Seq.B5a

field :95a::REAG is ...

RECE Mandatory

RULE 286 (E86)

MT 502, 514, 518

If a qualifier from the list Deliverers/2 is present in a Subsequence C1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/2 (see below) must be present.

In other words, in Sequence C, the following scenarios must be validated: If :95a::DEI2 is present in Subseq C1, then :95a::DEI1 must be present in another Subseq C1. If :95a::DEI1 is present in Subseq C1, then :95a::DECU must be present in another Subseq C1. If :95a::DECU is present in Subseq C1, then :95a::SELL must be present in another Subseq C1. If :95a::SELL is present in Subseq C1, then :95a::DEAG must be present in another Subseq C1.

If a qualifier from the list Receivers/2 is present in a Subsequence C1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/2 (see below) must be present.

In other words, in Sequence C, the following scenarios must be validated: If :95a::REI2 is present in Subseq C1, then :95a::REI1 must be present in another Subseq C1. If :95a::REI1 is present in Subseq C1, then :95a::RECU must be present in another Subseq C1. If :95a::RECU is present in Subseq C1, then :95a::BUYR must be present in another Subseq C1. If :95a::BUYR is present in Subseq C1, then :95a::REAG must be present in another Subseq C1.

MT 513, 515

If a qualifier from the list Deliverers/2 is present in a Subsequence D1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/2 (see below) must be present.

In other words, in Sequence D, the following scenarios must be validated: If :95a::DEI2 is present in Subseq D1, then :95a::DEI1 must be present in another Subseq D1. If :95a::DEI1 is present in Subseq D1, then :95a::DECU must be present in another Subseq D1. If :95a::DECU is present in Subseq D1, then :95a::SELL must be present in another Subseq D1.

Page 190: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-186 RULE 286 (E86) February 2007

If :95a::SELL is present in Subseq D1, then :95a::DEAG must be present in another Subseq D1.

If a qualifier from the list Receivers/2 is present in a Subsequence D1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/2 (see below) must be present.

In other words, in Sequence D, the following scenarios must be validated: If :95a::REI2 is present in Subseq D1, then :95a::REI1 must be present in another Subseq D1. If :95a::REI1 is present in Subseq D1, then :95a::RECU must be present in another Subseq D1. If :95a::RECU is present in Subseq D1, then :95a::BUYR must be present in another Subseq D1. If :95a::BUYR is present in Subseq D1, then :95a::REAG must be present in another Subseq D1.

MT 504

In each occurrence of sequence C, if a qualifier from the list Deliverers/1 is present in a subsequence C1a1 in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/1 (see below) must be present in other subsequences C1a1 of the same occurrence of sequence C (Error Code E86).

In other words, in each occurrence of sequence C, the following scenarios must be validated: If :95a::DEI2 is present in subseq. C1a1, then :95a::DEI1 must be present in another subseq. C1a1. If :95a::DEI1 is present in subseq. C1a1, then :95a::DECU must be present in another subseq. C1a1. If :95a::DECU is present in subseq. C1a1, then :95a::SELL must be present in another subseq. C1a1.

In each occurrence of sequence C, if a qualifier from the list Receivers/1 is present in a subseq. C1a1 in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/1 (see below) must be present in other subseq.s C1a1 of the same occurrence of sequence C (Error Code E86).

In other words, in each occurrence of sequence C, the following scenarios must be validated: If :95a::REI2 is present in subseq. C1a1, then :95a::REI1 must be present in another subseq. C1a1. If :95a::REI1 is present in subseq. C1a1, then :95a::RECU must be present in another subseq. C1a1. If :95a::RECU is present in subseq. C1a1, then :95a::BUYR must be present in another subseq. C1a1.

In sequence D, if a qualifier from the list Deliverers/1 is present in a subseq D1 in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/1 (see below) must be present in other subsequences D1 (Error Code E86).

In other words, in sequence D, the following scenarios must be validated: If :95a::DEI2 is present in subseq. D1, then :95a::DEI1 must be present in another subseq. D1. If :95a::DEI1 is present in subseq. D1, then :95a::DECU must be present in another subseq. D1. If :95a::DECU is present in subseq. D1, then :95a::SELL must be present in another subseq. D1.

In sequence D, if a qualifier from the list Receivers/1 is present in a subseq. D1 in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/1 (see below) must be present in other subsequences D1 (Error Code E86).

In other words, in sequence D, the following scenarios must be validated: If :95a::REI2 is present in subseq. D1, then :95a::REI1 must be present in another subseq. D1. If :95a::REI1 is present in subseq. D1, then :95a::RECU must be present in another subseq. D1. If :95a::RECU is present in subseq. D1, then :95a::BUYR must be present in another subseq. D1.

MT 505

In each occurrence of sequence B, if a qualifier from the list Deliverers/1 is present in a subsequence B1a1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/1 (see below) must be present in other subsequences B1a1 of the same occurrence of sequence B (Error Code E86).

Page 191: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 286 (E86) 2-187

In other words, in each occurrence of sequence B, the following scenarios must be validated: If :95a::DEI2 is present in subseq B1a1, then :95a::DEI1 must be present in another subseq B1a1. If :95a::DEI1 is present in subseq B1a1, then :95a::DECU must be present in another subseq B1a1. If :95a::DECU is present in subseq B1a1, then :95a::SELL must be present in another subseq B1a1.

In each occurrence of sequence B, if a qualifier from the list Receivers/1 is present in a subsequence B1a1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/1 (see below) must be present in other subsequences B1a1 of the same occurrence of sequence B (Error Code E86).

In other words, in each occurrence of sequence B, the following scenarios must be validated: If :95a::REI2 is present in subseq B1a1, then :95a::REI1 must be present in another subseq B1a1. If :95a::REI1 is present in subseq B1a1, then :95a::RECU must be present in another subseq B1a1. If :95a::RECU is present in subseq B1a1, then :95a::BUYR must be present in another subseq B1a1.

In sequence C, if a qualifier from the list Deliverers/1 is present in a Subsequence C1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/1 (see below) must be present in other subsequences C1 (Error Code E86).

In other words, in sequence C, the following scenarios must be validated: If :95a::DEI2 is present in subseq C1, then :95a::DEI1 must be present in another subseq C1. If :95a::DEI1 is present in subseq C1, then :95a::DECU must be present in another subseq C1. If :95a::DECU is present in subseq C1, then :95a::SELL must be present in another subseq C1.

In sequence C, if a qualifier from the list Receivers/1 is present in a Subsequence C1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/1 (see below) must be present in other subsequences C1 (Error Code E86).

In other words, in sequence C, the following scenarios must be validated: If :95a::REI2 is present in subseq C1, then :95a::REI1 must be present in another subseq C1. If :95a::REI1 is present in subseq C1, then :95a::RECU must be present in another subseq C1. If :95a::RECU is present in subseq C1, then :95a::BUYR must be present in another subseq C1.

MT 507

In each occurrence of sequence B, if a qualifier from the list Deliverers/1 is present in a subsequence B1a1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/1 (see below) must be present in other subsequences B1a1 of the same occurrence of sequence B (Error Code E86).

In other words, in each occurrence of sequence B, the following scenarios must be validated: If :95a::DEI2 is present in subseq B1a1, then :95a::DEI1 must be present in another subseq B1a1. If :95a::DEI1 is present in subseq B1a1, then :95a::DECU must be present in another subseq B1a1. If :95a::DECU is present in subseq B1a1, then :95a::SELL must be present in another subseq B1a1.

In each occurrence of sequence B, if a qualifier from the list Receivers/1 is present in a subsequence B1a1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/1 (see below) must be present in other subsequences B1a1 of the same occurrence of sequence B (Error Code E86).

In other words, in each occurrence of sequence B, the following scenarios must be validated: If :95a::REI2 is present in subseq B1a1, then :95a::REI1 must be present in another subseq B1a1. If :95a::REI1 is present in subseq B1a1, then :95a::RECU must be present in another subseq B1a1. If :95a::RECU is present in subseq B1a1, then :95a::BUYR must be present in another subseq B1a1.

Page 192: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-188 RULE 286 (E86) February 2007

MT 528, 529

If a qualifier from the list Deliverers/1 is present in a Subsequence C1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/1 (see below) must be present.

In other words, in Sequence C, the following scenarios must be validated: If :95a::DEI2 is present in Subseq C1, then :95a::DEI1 must be present in another Subseq C1. If :95a::DEI1 is present in Subseq C1, then :95a::DECU must be present in another Subseq C1. If :95a::DECU is present in Subseq C1, then :95a::SELL must be present in another Subseq C1.

If a qualifier from the list Receivers/1 is present in a Subsequence C1, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Receivers/1 (see below) must be present.

In other words, in Sequence C, the following scenarios must be validated: If :95a::REI2 is present in Subseq C1, then :95a::REI1 must be present in another Subseq C1. If :95a::REI1 is present in Subseq C1, then :95a::RECU must be present in another Subseq C1. If :95a::RECU is present in Subseq C1, then :95a::BUYR must be present in another Subseq C1.

MT 536

If a qualifier from the list Deliverers/1 is present in a Subsequence B1a2a, in a field :95a::4!c, then all the remaining qualifiers following this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86).

In other words, in sequence B1a2, the following scenarios must be validated: If :95a::DEI2 is present in subseq B1a2a, then :95a::DEI1 must be present in another subseq B1a2a. If :95a::DEI1 is present in subseq B1a2a, then :95a::DECU must be present in another subseq B1a2a. If :95a::DECU is present in subseq B1a2a, then :95a::SELL must be present in another subseq B1a2a.

If a qualifier from the list Receivers/1 is present in a Subsequence B1a2a, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86).

In other words, in sequence B1a2, the following scenarios must be validated: If :95a::REI2 is present in subseq B1a2a, then :95a::REI1 must be present in another subseq B1a2a. If :95a::REI1 is present in subseq B1a2a, then :95a::RECU must be present in another subseq B1a2a. If :95a::RECU is present in subseq B1a2a, then :95a::BUYR must be present in another subseq B1a2a.

MT 537

If Subsequence B2b is present:

If a qualifier from the list Deliverers/1 is present in a Subsequence B2b1, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86).

In other words, in Subsequence B2b, the following scenarios must be validated: If :95a::DEI2 is present in subseq B2b1, then :95a::DEI1 must be present in another subseq B2b1. If :95a::DEI1 is present in subseq B2b1, then :95a::DECU must be present in another subseq B2b1. If :95a::DECU is present in subseq B2b1, then :95a::SELL must be present in another subseq B2b1.

If a qualifier from the list Receivers/1 is present in a Subsequence B2b1, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86).

In other words, in Subsequence B2b, the following scenarios must be validated: If :95a::REI2 is present in subseq B2b1, then :95a::REI1 must be present in another subseq B2b1. If :95a::REI1 is present in subseq B2b1, then :95a::RECU must be present in another subseq B2b1. If :95a::RECU is present in subseq B2b1, then :95a::BUYR must be present in another subseq B2b1.

Page 193: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 286 (E86) 2-189

If Subsequence C2 is present:

If a qualifier from the list Deliverers/1 is present in a Subsequence C2a, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86).

In other words, in Subsequence C2, the following scenarios must be validated: If :95a::DEI2 is present in subseq C2a, then :95a::DEI1 must be present in another subseq C2a. If :95a::DEI1 is present in subseq C2a, then :95a::DECU must be present in another subseq C2a. If :95a::DECU is present in subseq C2a, then :95a::SELL must be present in another subseq C2a.

If a qualifier from the list Receivers/1 is present in a Subsequence C2a, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86).

In other words, in Subsequence C2, the following scenarios must be validated: If :95a::REI2 is present in subseq C2a, then :95a::REI1 must be present in another subseq C2a. If :95a::REI1 is present in subseq C2a, then :95a::RECU must be present in another subseq C2a. If :95a::RECU is present in subseq C2a, then :95a::BUYR must be present in another subseq C2a.

MT 540, 541, 542, 543, 544, 545, 546, 547, 578

If a qualifier from the list Deliverers/1 is present in a Subsequence E1, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86).

In other words, in sequence E, the following scenarios must be validated: If :95a::DEI2 is present in subseq E1, then :95a::DEI1 must be present in another subseq E1. If :95a::DEI1 is present in subseq E1, then :95a::DECU must be present in another subseq E1. If :95a::DECU is present in subseq E1, then :95a::SELL must be present in another subseq E1.

If a qualifier from the list Receivers/1 is present in a Subsequence E1, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86).

In other words, in sequence E, the following scenarios must be validated: If :95a::REI2 is present in subseq E1, then :95a::REI1 must be present in another subseq E1. If :95a::REI1 is present in subseq E1, then :95a::RECU must be present in another subseq E1. If :95a::RECU is present in subseq E1, then :95a::BUYR must be present in another subseq E1.

MT 548

If a qualifier from the list Deliverers/1 is present in a Subsequence B1, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86).

In other words, in sequence B, the following scenarios must be validated: If :95a::DEI2 is present in subseq B1, then :95a::DEI1 must be present in another subseq B1. If :95a::DEI1 is present in subseq B1, then :95a::DECU must be present in another subseq B1. If :95a::DECU is present in subseq B1, then :95a::SELL must be present in another subseq B1.

If a qualifier from the list Receivers/1 is present in a Subsequence B1, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86).

In other words, in sequence B, the following scenarios must be validated: If :95a::REI2 is present in subseq B1, then :95a::REI1 must be present in another subseq B1. If :95a::REI1 is present in subseq B1, then :95a::RECU must be present in another subseq B1. If :95a::RECU is present in subseq B1, then :95a::BUYR must be present in another subseq B1.

Page 194: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-190 RULE 286 (E86) February 2007

MT 575

If a qualifier from the list Deliverers/1 is present in a Subsequence B1a4, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86).

In other words, in Subsequence B1a, the following scenarios must be validated: If :95a::DEI2 is present in subseq B1a4, then :95a::DEI1 must be present in another subseq B1a4. If :95a::DEI1 is present in subseq B1a4, then :95a::DECU must be present in another subseq B1a4. If :95a::DECU is present in subseq B1a4, then :95a::SELL must be present in another subseq B1a4.

If a qualifier from the list Receivers/1 is present in a Subsequence B1a4, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86).

In other words, in Subsequence B1a, the following scenarios must be validated: If :95a::REI2 is present in subseq B1a4, then :95a::REI1 must be present in another subseq B1a4. If :95a::REI1 is present in subseq B1a4, then :95a::RECU must be present in another subseq B1a4. If :95a::RECU is present in subseq B1a4, then :95a::BUYR must be present in another subseq B1a4.

MT 575

If a qualifier from the list Deliverers/1 is present in a Subsequence C2a, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86).

In other words, in Subsequence C2, the following scenarios must be validated: If :95a::DEI2 is present in subseq C2a, then :95a::DEI1 must be present in another subseq C2a. If :95a::DEI1 is present in subseq C2a, then :95a::DECU must be present in another subseq C2a. If :95a::DECU is present in subseq C2a, then :95a::SELL must be present in another subseq C2a.

If a qualifier from the list Receivers/1 is present in a Subsequence C2a, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86).

In other words, in Subsequence C2, the following scenarios must be validated: If :95a::REI2 is present in subseq C2a, then :95a::REI1 must be present in another subseq C2a. If :95a::REI1 is present in subseq C2a, then :95a::RECU must be present in another subseq C2a. If :95a::RECU is present in subseq C2a, then :95a::BUYR must be present in another subseq C2a.

MT 586

If a qualifier from the list Deliverers/1 is present in a Subsequence B5a, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Deliverers/1 (see below) must be present (Error Code E86).

In other words, in Subsequence B5, the following scenarios must be validated: If :95a::DEI2 is present in subseq B5a, then :95a::DEI1 must be present in another subseq B5a. If :95a::DEI1 is present in subseq B5a, then :95a::DECU must be present in another subseq B5a. If :95a::DECU is present in subseq B5a, then :95a::SELL must be present in another subseq B5a.

If a qualifier from the list Receivers/1 is present in a Subsequence B5a, in a field :95a::4!c, then all the remaining qualifiers underneath this qualifier in the list Receivers/1 (see below) must be present (Error Code E86).

In other words, in Subsequence B5, the following scenarios must be validated: If :95a::REI2 is present in subseq B5a, then :95a::REI1 must be present in another subseq B5a. If :95a::REI1 is present in subseq B5a, then :95a::RECU must be present in another subseq B5a. If :95a::RECU is present in subseq B5a, then :95a::BUYR must be present in another subseq B5a.

Page 195: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 287 (E87) 2-191

Deliverers/1 Receivers/1

DEI2 Deliverer's Intermediary 2 REI2 Receiver's Intermediary 2

DEI1 Deliverer's Intermediary 1 REI1 Receiver's Intermediary 1

DECU Deliverer's Custodian RECU Receiver's Custodian

SELL Seller (Deliverer) BUYR Buyer (Receiver)

Deliverers/2 Receivers/2

DEI2 Deliverer's Intermediary 2 REI2 Receiver's Intermediary 2

DEI1 Deliverer's Intermediary 1 REI1 Receiver's Intermediary 1

DECU Deliverer's Custodian RECU Receiver's Custodian

SELL Seller (Deliverer) BUYR Buyer (Receiver)

DEAG Delivering Agent REAG Receiving Agent

RULE 287 (E87)

MT 540

The following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence E3 (Error Code E87)

Subsequence E3

:19A::ACRU

:19A::ANTO

:19A::BOOK

:19A::CHAR

:19A::COUN

:19A::DEAL

:19A::EXEC

:19A::ISDI

:19A::LEVY

:19A::LOCL

:19A::LOCO

:19A::MARG

:19A::OTHR

:19A::POST

:19A::REGF

:19A::SETT

:19A::SHIP

:19A::SPCN

:19A::STAM

Page 196: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-192 RULE 287 (E87) February 2007

:19A::STEX

:19A::TRAN

:19A::TRAX

:19A::VATA

:19A::WITH

:19A::COAX

:19A::ACCA

MT 542

The following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence E3 (Error Code E87)

Subsequence E3

:19A::ACRU

:19A::ANTO

:19A::BOOK

:19A::CHAR

:19A::COUN

:19A::DEAL

:19A::EUTR

:19A::EXEC

:19A::ISDI

:19A::LEVY

:19A::LOCL

:19A::LOCO

:19A::MARG

:19A::OTHR

:19A::POST

:19A::REGF

:19A::SETT

:19A::SHIP

:19A::SPCN

:19A::STAM

:19A::STEX

:19A::TRAN

:19A::TRAX

:19A::VATA

:19A::WITH

:19A::COAX

:19A::ACCA

Page 197: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 287 (E87) 2-193

MT 541

The following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence E3 (Error Code E87)

Subsequence E3

:19A::ACRU

:19A::ANTO

:19A::CHAR

:19A::COUN

:19A::DEAL

:19A::EXEC

:19A::ISDI

:19A::LEVY

:19A::LOCL

:19A::LOCO

:19A::MARG

:19A::OTHR

:19A::POST

:19A::REGF

:19A::SETT

:19A::SHIP

:19A::SPCN

:19A::STAM

:19A::STEX

:19A::TRAN

:19A::TRAX

:19A::VATA

:19A::WITH

:19A::COAX

:19A::ACCA

MT 543

The following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence E3 (Error Code E87)

Subsequence E3

:19A::ACRU

:19A::ANTO

:19A::CHAR

:19A::COUN

Page 198: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-194 RULE 287 (E87) February 2007

:19A::DEAL

:19A::EUTR

:19A::EXEC

:19A::ISDI

:19A::LEVY

:19A::LOCL

:19A::LOCO

:19A::MARG

:19A::OTHR

:19A::POST

:19A::REGF

:19A::SETT

:19A::SHIP

:19A::SPCN

:19A::STAM

:19A::STEX

:19A::TRAN

:19A::TRAX

:19A::VATA

:19A::WITH

:19A::COAX

:19A::ACCA

MT 544, 546

The following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence E3 (Error Code E87)

Subsequence E3

:19A::ACRU

:19A::ANTO

:19A::BOOK

:19A::CHAR

:19A::COUN

:19A::DEAL

:19A::ESTT

:19A::EUTR

:19A::EXEC

:19A::ISDI

:19A::LEVY

:19A::LOCL

Page 199: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 287 (E87) 2-195

:19A::LOCO

:19A::MARG

:19A::OTHR

:19A::POST

:19A::REGF

:19A::SHIP

:19A::SPCN

:19A::STAM

:19A::STEX

:19A::TRAN

:19A::TRAX

:19A::VATA

:19A::WITH

:19A::COAX

:19A::ACCA

MT 545, 547

The following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence E3 (Error Code E87)

Subsequence E3

:19A::ACRU

:19A::ANTO

:19A::CHAR

:19A::COUN

:19A::DEAL

:19A::ESTT

:19A::EUTR

:19A::EXEC

:19A::ISDI

:19A::LEVY

:19A::LOCL

:19A::LOCO

:19A::MARG

:19A::OTHR

:19A::POST

:19A::REGF

:19A::SHIP

:19A::SPCN

:19A::STAM

Page 200: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-196 RULE 287 (E87) February 2007

:19A::STEX

:19A::TRAN

:19A::TRAX

:19A::VATA

:19A::WITH

:19A::COAX

:19A::ACCA

MT 578

The following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence E3 (Error Code E87)

Subsequence E3

:19A::ACRU

:19A::CHAR

:19A::COUN

:19A::DEAL

:19A::EXEC

:19A::ISDI

:19A::LEVY

:19A::LOCL

:19A::LOCO

:19A::MARG

:19A::OTHR

:19A::POST

:19A::REGF

:19A::SETT

:19A::SHIP

:19A::SPCN

:19A::STAM

:19A::STEX

:19A::TRAN

:19A::TRAX

:19A::VATA

:19A::WITH

:19A::COAX

:19A::ACCA

:19A::ANTO

Page 201: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 288 (E88) 2-197

MT 586

Within each occurrence of Sequence B, the following Amount Fields cannot appear in more than one occurrence of the amounts Subsequence B5c (Error Code E87).

Subsequence B5c

:19A::ACRU

:19A::CHAR

:19A::COUN

:19A::DEAL

:19A::EXEC

:19A::ISDI

:19A::LEVY

:19A::LOCL

:19A::LOCO

:19A::MARG

:19A::OTHR

:19A::POST

:19A::REGF

:19A::SETT

:19A::SHIP

:19A::SPCN

:19A::STAM

:19A::STEX

:19A::TRAN

:19A::TRAX

:19A::VATA

:19A::WITH

:19A::COAX

:19A::ACCA

:19A::ANTO

RULE 288 (E88)

MT 540, 541, 542, 543

If the Financial Instrument/Account sequence C is present once, the Settlement Amount (field :19A::SETT) must not be present in sequence C (Error Code E88).

MT 544, 545, 546, 547

If the Financial Instrument/Account sequence C is present once, the Effective Settlement Amount (field :19A::ESTT) must not be present in sequence C (Error Code E88).

Page 202: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-198 RULE 289 (E89) February 2007

RULE 289 (E89)

MT 540, 542

If sequence C is present two or more times, the Settlement Amount (field :19A::SETT) must be present in every occurrence of sequence C or in none (Error Code E89).

In the former case (when sequence C is present two or more times and the Settlement Amount (field :19A::SETT) is present in every occurrence of sequence C) then:

♦ the Settlement Amount (field :19A::SETT) must be present in one occurrence of Subsequence E3 and

♦ the sum of all occurrences of the Settlement Amount (field :19A::SETT) in sequence C must be equal to the Settlement Amount (field :19A::SETT) in Subsequence E3 and

♦ the currency code in the Settlement Amounts (fields 19A::SETT in sequences C and E3) must be the same for all occurrences of these fields in the message.

MT 544, 546

If sequence C is present two or more times, the Settlement Amount (field :19A::ESTT) must be present in every occurrence of sequence C or in none (Error Code E89).

In the former case (when sequence C is present two or more times and the Settlement Amount (field :19A::ESTT) is present in every occurrence of sequence C) then:

♦ the Settlement Amount (field :19A::ESTT) must be present in one occurrence of Subsequence E3 and

♦ the sum of all occurrences of the Settlement Amount (field :19A::ESTT) in sequence C must be equal to the Settlement Amount (field :19A::ESTT) in Subsequence E3 and

♦ the currency code in the Settlement Amounts (fields 19A::ESTT in sequences C and E3) must be the same for all occurrences of these fields in the message.

MT 541, 543

If sequence C is present two or more times, the Settlement Amount (field :19A::SETT) must be present in every occurrence of sequence C or in none (Error Code E89).

In the former case (when sequence C is present two or more times and the Settlement Amount (field :19A::SETT) is present in every occurrence of sequence C) then:

♦ the sum of all occurrences of the Settlement Amount (field :19A::SETT) in sequence C must be equal to the Settlement Amount (field :19A::SETT) in Subsequence E3 and

♦ the currency code in the Settlement Amounts (fields 19A::SETT in sequence C and Subsequence E3) must be the same for all occurrences of these fields in the message.

MT 545, 547

If sequence C is present two or more times, the Settlement Amount (field :19A::ESTT) must be present in every occurrence of sequence C or in none (Error Code E89).

In the former case (when sequence C is present two or more times and the Settlement Amount (field :19A::ESTT) is present in every occurrence of sequence C) then:

♦ the sum of all occurrences of the Settlement Amount (field :19A::ESTT) in sequence C must be equal to the Settlement Amount (field :19A::ESTT) in Subsequence E3 and

♦ the currency code in the Settlement Amounts (fields 19A::ESTT in sequences C and E3) must be the same for all occurrences of these fields in the message.

Page 203: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 290 (E90) 2-199

RULE 290 (E90)

MT 307

Repetitive subsequence B3 FX Settlement Details must be present exactly twice in the message (Error Code : E90):

Note: Cond. Rule 290 takes precedence over 284 and 291.

MT 321.

One occurrence of sequence C must have the following value (Error Code : E90):

:22H::PRIT//APFM

One occurrence of sequence C must have the following value (Error Code : E90): :22H::PRIT//APCP

MT 540, 541, 542, 543

If the Total of Linked Settlement Instructions (field :99B::TOSE) is present, then the Current settlement instruction (field :99B::SETT) must be present (Error Code E90).

Sequence A if field :99B::TOSE is ...

Sequence A then field :99B::SETT is ...

Present Mandatory

Not Present Optional

RULE 291 (E91)

MT 307

In each occurrence of Seq. B3, the presence of the repetitive subsequence B3a Cash Parties depends on the content of the Net Settlement Indicator (:22H::NEGR) as follows (Error Code : E91):

In Sequence A If field :22H::NEGR Indicator

is…

then, in each occurrence of Seq. B3 subsequence B3a Cash Parties

is…

GRSC Mandatory

NETC or UNKN Not allowed

Field :22H::NEGR not present Mandatory

MT 321

Taking into account rules 284 and 290, in each occurrence of Seq. C, the presence of the different parties (i.e. field 95a::CDEA, and field 95a::ACCW) in Subsequence C1 depends on the content of field 22H in Seq. C as follows (Error Code E91):

In each occurrence of Sequence C, if field :22H::PRIT

is …

Then in one occurrence of Subseq. C1

field …

APCP or IPCP 95a::CDEA is Mandatory

APFM or IPFM 95a::ACCW is Mandatory

Page 204: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-200 RULE 292 (E92) February 2007

MT 504

It is mandatory to specify a Delivering Agent for the Securities Settlement Parties (subseq.s C1a1 and D1):

In each occurrence of sequence C, if subseq. C1a1 Securities Settlement Parties is present, then field :95a::DEAG must be present in one and only one occurrence of subseq. C1a1 within the same occurrence of sequence C (Error Code E91).

In sequence D (if present), if subseq. D1 Securities Settlement Parties is present, then field :95a::DEAG must be present in one and only one occurrence of subseq. D1 (Error Code E91).

Note: see also Rule 284

MT 540, 541, 544, 545

If field :22F::DBNM is NOT present in sequence E, then it is mandatory to specify a Delivering Agent and a place of settlement: one occurrence of Subsequence E1 Settlement Parties must contain party field :95a::DEAG and another one must contain party field :95a::PSET (Error Code E91).

RULE 292 (E92)

MT 307

Taking into account rule 291: in each occurrence of Seq. B3, the presence of the different parties (field 95a) in Subsequence B3a depends on the content of field 19B in Subsequence B3 as follows (Error Code : E92):

And if Subsequence B3a is present (i.e. is Mandatory per rule 291)

then …

In each occurrence of Subsequence

B3, if field :19B::

is …

In one occurrence of

Subseq. B3a, field …

and in all other optional occurrence(s) of B3a, field …

BUYE 95a::CDEA is

Mandatory

95a::INTE is

Optional

95a::ACCW is

Optional

95a::BENM is

Not Allowed

SELL 95a::ACCW is

Mandatory

95a::INTE is

Optional

95a::CDEA is

Optional

95a::BENM is

Optional

MT 321

In a message, the following sequence C fields cannot appear more than once (Error Code E92)

Sequence C

:22H::PRIT//APFM

:22H::PRIT//APCP

:22H::PRIT//IPFM

:22H::PRIT//IPCP

Page 205: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 293 (E93) 2-201

MT 541, 543

It is mandatory to specify a Settlement Amount : One occurrence of the amounts Subsequence E3 must contain amount field :19A::SETT (Error Code E92).

MT 545, 547

It is mandatory to specify an Effective Settlement Amount : One occurrence of the amounts Subsequence E3 must contain amount field :19A::ESTT (Error Code E92).

RULE 293 (E93)

MT 507

It is mandatory to specify a Receiving Agent for the Securities Settlement Parties (subsequences B1a1):

In each occurrence of sequence B (if present), if subsequence B1a1 Securities Settlement Parties is present, then field :95a::REAG must be present in one and only one occurrence of subsequence B1a1 within the same occurrence of sequence B (Error Code E93).

Note: see also Rule 284

MT 542, 543, 546, 547

If field :22F::DBNM is NOT present in sequence E, then it is mandatory to specify a Receiving Agent and a place of settlement: one occurrence of the settlement parties Subsequence E1 must contain party field :95a::REAG and another one must contain party field :95a::PSET (Error Code E93).

RULE 294 (E94)

MT 564

If the safekeeping accounts are not provided (i.e. if field :97C::SAFE//GENR is present in any occurrence of Subsequence B2), then:

♦ the Account Information Subsequence B2 must not be repeated in the message,

♦ the balance of securities (i.e. field 93a::) must not be present in the Account Information Subsequence B2,

♦ the Securities Movement Subsequence E1 must not be present,

♦ the Cash Movement Subsequence E2 must not be present,

in Subsequence B2 if field

:97C::SAFE//GENR is ...

then Subsequence

B2 is Mandatory

and ...

and in Subsequence

B2 field 93a

is...

and Subsequences

E1 and E2 are ...

Present Not Repetitive min-Max=1-1

Not Allowed Not Allowed

Not Present Repetitive min-Max=1-n

Optional Optional and Repetitive

min-Max=0-n

Page 206: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

2-202 RULE 295 (E95) February 2007

RULE 295 (E95)

MT 575

Within each occurrence of Subsequence B1 (Activity Information Per Currency), if the activity flag (field :17B::ACTI) indicates no information to be reported (i.e. N), then the Activity Information Per Transaction Subsequence B1a within that Subsequence B1 is not allowed. If field 17B::ACTI is equal to "Y", then the Activity Information Per Transaction Subsequence B1a is mandatory. (Error Code E95).

Subsequence B1 if field :17B::ACTI is ...

Subsequence B1a is...

N Not Allowed

Y Mandatory

RULE 296 (E96)

MT 575

Within Activity Information per Transaction Subsequence B1a, the Cash Only Movement Details Subsequence B1a2 and the Cash and Securities Movement Details Subsequence B1a3 are mutually exclusive (Error Code E96).

If Subsequence B1a2 is...

then Subsequence B1a3 is...

Present Not Allowed

Not Present Mandatory

RULE 297 (E97)

MT 503

In sequence B, the presence of field :95a::EXPP depends on the value of field :22H::COAL//<Indicator> in sequence A as follows (Error Code E97):

Sequence A if field :22H::COAL//4!c is …

Sequence B then field :95a::EXPP is …

INIT Mandatory

VARI Mandatory

TERM Not allowed

Page 207: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 RULE 298 (E98) 2-203

MT 587, 588, 589

If the Depository Receipt Type (Field :22H::DERE) specifies a Program Conversion , then Conversion To (Field :22F::CNVT) and Conversion From (Field :22F::CNVF) must be specified and the Type of Financial Instrument (Field 12a) must not be present (Error Code E97). If the Depository Receipt Type (Field 22H::DERE) does not specify a Program Conversion, then the Type of Financial Instrument (Field 12a) must be present. These checks apply to sequence A.

Sequence A if in field :22H::DERE Indicator

is…

Sequence A then field

:22F::CNVT is ...

Sequence A then field

:22F::CNVF is ...

Sequence A then field 12a

is...

CONV Mandatory Mandatory Not Allowed

NOT= CONV Optional Optional Mandatory

RULE 298 (E98)

MT 588

If the pre-release flag (Field :17B::PRER) is set, the Pre-Release Details sequence C must also be present. If the pre-release flag is not set, the Pre-Release Details sequence C must not be present (Error Code E98).

Sequence A if field :17B::PRER is ...

Then Sequence C is ...

Y Mandatory

N Not Allowed

RULE 299 (E99)

MT 540, 541, 542, 543

In sequence A, if field :99B::TORE or field :99B::TODE is present, then field :99B::TOSE is mandatory in the same sequence. (Error code E99).

Sequence A

if field :99B::4!c is…

Sequence A then field :99B::TOSE

is…

TORE or TODE Mandatory

Not (TORE or TODE) Optional

Page 208: SWIFT_VALIDATION_RULES_ptiv.pdf
Page 209: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 3-1

Chapter 3 Text validation error codes

Code Words Validation in Generic Fields.

Knn Code word error in a generic Field. The 2 digits “nn” indicate the field id. The invalid code word is located either: -- right after the Data Source Scheme, i.e. after the ending “/”, ex.: K17 MT500 Seq.B1 :17B::CONV//A (reject A) K22 MT500 Seq.A :22F::INST//DERA (reject DERA) K90 MT500 Seq.B1 :90B::INDC//ACTA/USD123, (reject ACTA) K93 MT564 Seq.B2 :93C::BLOK//FAMA/ELIG/123, (reject FAMA) or -- further into the field, ex.: K93 MT564 Seq.B2 :93C::BLOK//FAMT/ELIA/123, (reject ELIA) This checks applies to: MTs 307, 308, 321, 380, 381, 500-510, 513-515, 517-519, 524, 527-529530, 535-538, 540-549, 558, 564-569, 574IRSLST, 574W8BENO, 575, 576, 578, 584, 586-589. Note: K17 applies also to field :17B:: in MTs n92, n95 and n96.

M50 Message length exceeded.

M60 Non-S.W.I.F.T. character encountered (i.e. a character NOT included in the <X>, <Y> and <Z> character sets). see T32.

T00 Not used.

T01 Code word error. This check applies to: • Field 39B, in MTs 700, 705, 707, 710, 720, 740, 747.

T02 Unable to ascertain reason for NAK. Please contact your CSC immediately for advice.

T03 Code word error. This check applies to: • Field 26C, subfield 3, in MTs 600, 601, 604, 605, 606, 607, 608, 609, • Field 38B, subfield 1, in MT 405.

T04 Code word error. This check applies to: • Field 26C, subfield 4, in MTs 600, 601, 604, 605, 606, 607, 608, 609, • Field 38B, subfield 2, in MT 405.

T05 Code word error. This check applies to: • Field 68B, subfield 4, in MTs 609, • Field 38B, subfield 3, in MT 405.

Page 210: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

3-2 February 2007

T06 Code word error. This check applies to: • Subfield 1 field 32F; or • Subfield 5 field 68B or 68C; or • Subfield 3 field 60F, 60M, 62F, 62M, 64 or 65 in MT 608, or in any message

appended in common groups n92, n95 or n96.

T07 Code word error. This check applies to: • Subfield 3 field 33G.

T08 Code word error. This check applies to: • Field 23, in MT 102_STP, 609 • Field 71A in MT 101, 102, 103_not_STP, 103_STP, 104, 107, 405, 740, or in any

message appended in common groups n92, n95 or n96.

T09 Code word error. This check applies to: • Subfield 3 field 23, in MT 305, 601 • subfield 3 field 68C, in MT 609, or in any message appended in common groups

n92, n95 or n96.

T10 The repetitive sequence occurred more than the maximum number of times permitted.

T11 The repetitive sequence occurred less than the minimum number of times required.

T12 Field, line, subfield or component content error. Or, the format Reject/Return is not allowed for field 72 in this MT. Or, when ‘ISIN’ is used at the beginning of line one in field 35B, it must never be composed of lower case characters, nor a mix of lower and upper case characters. eg, ‘:35B:isin...’ and ‘:35B:IsIn...’ are both invalid.

T13 This field tag is not expected at this location in this MT. Either a mandatory field is missing, or the sequence of fields is incorrect, or the given field is not allowed at this point in this MT, or a Field Separator CrLf: (Carriage_return Line_feed Colon) is not immediately followed by a valid S.W.I.F.T. field id. (e.g., field tag is invalid), or an end-of-text sequence (CrLf-) was encountered when not expected, or more than one end-of-text sequence (CrLf-) occurs in this message.

Or, in a common group message (i.e. n92, n95 or n96), within the list of "Copy of any field(s) of the original message", there are generic fields and non-generic fields that are not allowed to be mixed in the same message, refer Part V, chapter 10, section 10.3 MTn92 note (**).

Or, in one of the following ISO15022 messages : MT502, 503, 504, 505, 506, 507, 508, 509, 513, 514, 515, 518, 524, 527, 528, 529, 530, 535, 536, 537, 538, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 558, 564, 565, 566, 567, 568, 569, 575, 576, 578, 584, 586, 587, 588, 589, an optional sequence of fields was used, however, a field or a field-qualifier which is required (i.e. indicated by an ”OR”, or “minimum 1”) within that sequence is missing, or field 16R is present but its related code word is inappropriate.

Or, in a qualifier table, for a particular generic field (i.e nn), in a "repeatable" order, there is a list of "OR" qualifiers, but more than one qualifier has been used in the repetitions of the generic field, in this sequence.

Page 211: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 3-3

note : if there is a list of options, a different option may be used in a repeated field, as long as it is with the same qualifier.

T14 Subfield [N] (negative indicator) must not be used when the amount, number, UTC indicator or number count component is equal to 0. This check applies to: • field 19A in MTs 321, 502, 506, 509, 513-515, 518, 527,528, 529, 535-537, 540-

548, 558, 564, 566, 567, 569, 574-IRSLST, 575, 578, 584, 586-588. • field 32H in MT 320, 330, 362 • field 32N in MT 646 • field 33N in MT 646 • field 34E in MT 320, 330, 341 • field 34N in MT 646 • field 35H in MT 581 • field 37G in MT 320, 330, 362, 644 • field 37M in MTs 340, 341, 362, 644 • field 37R in MTs 341, 360, 361, 362, 644 • field 92A in MTs 321, 500-502, 506, 508, 513-515, 518, 519, 524, 527, 528, 529,

535, 538, 540-547, 558, 564-566, 568, 569, 574-IRSLST, 576, 578, 584, 586-588. • field 92E in MTs 564, 566 • field 93B in MTs 501,535, 536, 564, 565, 566, 568 • field 93C in MTs 535, 564, 565, 566, 568 • field 93D in MT 575 • field 98D in MTs 564, 566 • field 98E in MTs 513-515, 518, 528, 529, 540-548 • field 99A in MTs 506, 513-515, 518, 528, 529, 535, 536, 540-547, 564, 569, 575,

578, 586. • or any of the above fields in common groups n92, n95 and n96.

T15 Sign is not valid. <SIGN> must be either '+' or '-'.

T16 Time offset is not valid. <OFFSET> has the same format as time <HHMM>. It must be: 00<=HH<=13 and 00<=MM<=59.

T17 Field, line, subfield, or component consists of blanks, (‘CrLf’) or missing mandatory line, subfield or component.

T18 This check applies to : • field 11R and 11S; the first component must have the format 3!n, and must be

within the range 100-999. • field 12, and MT = (105 or 106); this component must have the format 3!n, and

must be within the range 100-999. • field 12, and MT NOT= (MT105 or 106); this component must have the format

3!n, refer to T88 for additional special exception checks. • field 61; if the first character of subfield 6 is "S", then the next 3 characters must

have the format 3!n, and must be within the range 100-999.

T19 Available.

T20 Code word error. Subfield 1, component 3, field 32K or 33K.

T21 Available.

Page 212: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

3-4 February 2007

T22 A common reference mismatch (*) exists between field 22, subfield 2, component 2, and: • field 36 in MT 305. • field 33G, subfield 2, in MT 600 • field 32B, subfield 2, in MT 601. Or, a common reference mismatch (*) exists between field 22C, component 2, and: • field 30P, YYMM of YYYYMMDD, in MT 360, 361, 362, 364, 365 • field 36, sequence B, in MT 300. • field 36, sequence B, in MT 303. • field 36A, sequence C, in MT 303. • field 36, seq. D, or field 37U, seq. G, in MT 306. • field 37G, sequence B, in MT 320, 330 • field 37M, sequence B, in MT 340, 341 • field 37J, sequence B, in MT 350

(*) ref. Part II, chapter 4, section 4.8.1 for details.Note: The above check is not applied to MTs appended to common group MTs n92, n95 and n96.

T23 Subfield 8 in field 61or subfield 6 in field 26C is too long or contains only ’//’; or subfield 2 in fields 26A or 26B is too long or contains only ’/’.

T24 Subfield 7 in field 61, subfield 5 in field 26C, subfield 1 in fields 26A or 26B is missing or is too long.

T25 Subfields 7 or 8 in field 61, subfield 5 or 6 in field 26C, subfield 1 or 2 in fields 26A or 26B has improper content.

T26 The data content of this field may not contain a ’/’ as its first character, nor a ’/’ as its last character; nor may it contain ’//’ (two consecutive slashes) anywhere within its contents. This check applies to: - field 13B - fields 20, 20C, 20D - fields 21, 21A, 21F, 21G, 21P and 21R - field 94B - fields 95Q, 95R, 95S, 95T, 95U Note: . If the field has multiple lines, each line is validated independently;

each line must not: begin with a ‘/’, nor end with a ‘/’, nor contain ‘//’.

T27 BIC incorrectly formatted or invalid.

T28 S.W.I.F.T. BIC is not a valid destination.

T29 S.W.I.F.T. BIC contains an invalid branch code.

T30 Excessive line(s), subfield(s) or component(s) were found in this field. (‘CrLf:’ or ‘CrLf-’ not found, or line, subfield or component length greater than defined length).

T31 The line, subfield or component separator or delimiter (‘CrLf’, blank, slash, or double slash) is missing or incorrect.

Page 213: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 3-5

T32 The system is expecting a particular subfield, component, or component-separator. In most situations the error occurred in message text at the line number reported. However, in other situations the error occurred in message text at the previous line. Note : if the first character of a field does not belong to the right character set, the system returns a “T32”. ex:

Field format invalid data

:20: 16x ;ABC

:20: 16x ˆABC

‘;’ NOT in <X> char set. ‘ˆ’ NOT in <X>, <Y> and <Z> char sets. ex : MT121 text block {4:pAAAAAAAAAAAAAAACrLf-} the lower case character "p" is not included in the <y> char set, and it is the first character

T33 Length of field, line, subfield or component contents is too long. ex:

Field

Format

Valid data Invalid data

6a AAAAAA(CrLf) ACTUAAA(CrLf)

• or consists of one or more hidden characters, e.g., trailing blank(s), ex:

Field

Format

Valid data Invalid data

6a A(CrLf) ACTUAe (CrLf)

6a ACTUAL(CrLf) ACTUALe (CrLf)

5!a OTHER(CrLf) OTHERe (CrLf)

6x /AC:ee (CrLf) /AC:eee (CrLf)

Where ’e’ = hidden blank character (’trailing blank’) • or consists of one or more imbedded character(s) which is inconsistent with the

defined field format, or a character does not belong to the right character set.

Page 214: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

3-6 February 2007

ex:

Field

Format

Valid data Invalid data

9a AAAAAAAAA AAAAeAAAA(CrLf)

5a OTHER O1HER(CrLf)

5a OTHER O:HER(CrLf)

16x XXXXXXX XXX;XXX

Where: ‘e’ = blank (i.e. space) character

‘1’ = numeric character

‘:’ = special char. (not an alphabetic char.)

‘;’ = NOT in <X> char. set

ex : MT121 text block {4:AAAAAAAAApAAAAAAACrLf-} the lower case character "p" is not included in the <y> char set, and it is NOT the first character

T34 Length of field, line, subfield, or component contents is too short. • or a character does not belong to the right character set.

T35 Code word error. Subfield 1 field 26C.

T36 Code word error. This check applies to: • field 14A in MTs 360 and 361. • field 14D in MTs 320, 330, 340, 350, 360, 361. • field 14J in MTs 360 and 361. • field 17A in MT 206, 300, 303, 306, 360, 361, 405. • field 17F in MT 304, 306, 340, 360, 361, 405. • field 17G in MT 304. • field 17N in MT 304. • field 17O in MT 304. • field 17T in MT 300. • field 17U in MT 300. • field 22A in MT 300, 303, 304, 306, 320, 330, 340, 341, 350, 360, 361, 362, 364,

365 • field 23B in MT 103_not_STP, 103_STP, 303. • field 94A in MT 300, 303, 304, 305, 306, 320, 330, 340, 341, 350, 360, 361, 362,

364, 365, 600, 601

T37 Code word error. Subfield 2 field 35H contains an invalid code word or currency code, when used with message type 581, and with any message appended in common groups n92, n95, or n96.

T38 Time illogical.

T39 Available.

T40 Missing amount/number or incorrect amount/number first character.

T41 Available

T42 Code word error. Subfield 3 field 35U.

Page 215: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 3-7

T43 The amount/number subfield must contain one decimal separator which is a decimal comma, and no other punctuation/separator is permitted.The decimal separator in the amount/number subfield or component is missing, is not a comma and/or more than one comma is present.

T44 the SWIFT BIC exists but it is not enabled for FIN, or it is not cutover.

T45 invalid NON SWIFT BIC.

T46 a TestandTraining dest. must not be used in a LIVE message.

T47 In an ERI field (i.e. fields 61, 72, 77A, 79, 86) the data part of a code word /OCMT/, or /CHGS/, is being validated, but the ending separator (i.e. third slash “/”) is missing. Or : Code word error. This check applies to: • field 14G, subfield 1, in MTs 360 and 361. • field 22, subfield 1, in MTs 305 • field 23A, subfield 1, in MTs 360, 361, 362, 364, 365 • field 23E, subfield 1, in MTs 101, 103_not_STP, 104, 107, 206, 207, 256, 405,

416 • field 39P, subfield 1, in MT 303 • field 61, subfield 9, duplicated code words : /OCMT/ or /CHGS/. • field 72 (narrative), duplicated code words : /OCMT/ or /CHGS/. • field 72 (structured), duplicated code words : /OCMT/ or /CHGS/ or /INS/. • field 77A, duplicated code words : /OCMT/ or /CHGS/. • field 77D, line 1, Sequence C in MT 303. • field 77H, subfield 1, in MTs 306, 340, 360 and 361. • field 79, duplicated code words : /OCMT/ or /CHGS/. • field 86, duplicated code words : /OCMT/ or /CHGS/.

T48 Code word error. This check applies to: • field 14G, subfield 2, in MTs 360 and 361. • field 22K, subfield 1, in MT 306 • field 23A, subfield 2, in MTs 360, 361, 362, 364, 365 • field 23D, in MTs 340, 341 • field 23E, subfield 1, in MT 103_STP • field 38E, subfield 2, in MTs 360 and 361. • field 38G, subfield 2, or subfield 4, in MTs 340, 360, 361. • field 38H, subfield 2, or subfield 4, in MTs 360, 361.

T49 Available

T50 Date error, or the value of “year” (YY) in a Value Date component (format <DATE2>) is invalid, i.e. within the range 61-79.

Note1: the valid range for YY in a Value Date component is: 00-60, for the years 2000-2060, and 80-99, for the years 1980-1999.

Note2: in <DATE4>, the value '0000' for YYYY is invalid. in <YEAR>, the value '0000' is invalid.

Note3: Value Date ordering is applied to the MTs and fields specified in MFVR Part II 4.1.1 Value Date, and in Standards General Information 5.4.6 Value Date Ordering.

T51 Code word ’C’, ’D’, ’RC’, ’RD’, ’EC’ or ’ED’ error.

T52 Invalid currency code or price code ’PCT’, ’REN’ or ’YLD’.

Page 216: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

3-8 February 2007

T53 Code word error. Subfield 6 component 1 of field 61.

T54 The format of the first line of Field 50F (Party Identifier) is invalid.Available This check applies to: • field 50F in MTs 101, 102, 102_STP, 103, 103_STP, 210, 910 This check applies to all MTs containing field 50F, when appended to Common Group MTs n92, n95, n96.

T55 Code word error. This check applies to Subfield 1, component 1: • field 50F in MTs 101, 102, 102_STP, 103, 103_STP, 210, 910 This check applies to all MTs containing field 50F, when appended to Common Group MTs n92, n95, n96.

Available

T56 Code word error. This check applies to Subfield 2, component 1: • field 50F in MTs 101, 102, 102_STP, 103, 103_STP, 210, 910 This check applies to all MTs containing field 50F, when appended to Common Group MTs n92, n95, n96.

Available

T57 Code word error. Subfield 2 of fields 31X.

T58 Code word error. Subfield 1 field 35A, 35N or 35S.

T59 Code word error. This check applies to : • field 40E in MT 700, 710, 720 • field 40F in MT 740.

T60 Code word error. This check applies to : • field 26F, in MT 306 • field 40A in MTs 700, 705. • field 40C in MT 760.

T61 Code word ’D’ or ’M’ error. This check applies to : • field 32K, subfield 1, in MT 400, 405, 410, 416, 420, 422, 430 • field 33K, subfield 1, in MT 430 • field 37 (A-F), subfield 2, in MT 516, 644, 645, 646 • field 38J, subfield 1, in MT 320, 330

T62 Either the first subfield (<DATE2>[<HHMM>]) or the second subfield (7!a), but not both, must be present. If optional subfield 1 is used, component 1 <DATE2> of this subfield must be present. Field 31X.

T63 Component 2 of field 22C or subfield 2, component 2 of field 22 error. When the last character of this component consists of zero (0) and the preceding character is not a one (1), then the entire component must consist of zeros (0000). ref Part II, chapter 4, section 4.8.2 for details. This check applies to all MTs containing field 22, or 22C, when appended to Common Group MTs n92, n95, n96.

T64 Code word error. This check applies to : • field 12F, in MT 306 • field 40B, line 1, in MTs 710, 720.

T65 Available

Page 217: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 3-9

T66 Code word error. This check applies to : • field 12E, in MT 306 • field 40B, line 2, in MTs 710, 720.

T67 Code word error. This check applies to : • field 17R, in MT 320, 330 • field 17V, in MT 306 • field 49, in MTs 700, 710, 720

T68 Code word error. This check applies to : • field 24D, subfield 1 in MT 300, 306, 320, 330, 340, 360, 361. • field 41A, subfield 2 in MT 700, 705, 710, 720, 740 • field 41D, subfield 2 in MT 700, 705, 710, 720, 740

T69 Available

T70 Either the Account number ('/'34x) or the Place (‘CRLF’35x[‘CRLF’35x]0-3) or both must be present. • Field 82S. ex :

Valid Invalid

:82S: BE/ACC NO 123 :82S: BE

:82S: BE/ACC NO 123

SOCIETE GENERALE

:82S: BE/

:82S: US/ACC NO 123

CHASE BANK

5TH AVERNUE

N.Y. CITY

USA

:82S: /ACC NO 123

:82S: FR

CREDIT LYONNAIS

:82S: US

CHASE BANK

5TH AVERNUE

N.Y. CITY

USA

T71 Code word error. This check applies to : • field 22D in MT 360, 361, 364, 365, 405 • field 22E in MT 405. • field 22G in MT 306.

T72 Code word error. This check applies to : • field 22J in MT 306. • field 23C, subfield 1 in MT 405. • field 23F, subfield 1 in MT 405.

T73 Invalid country code. Please refer to the BIC Directory General Information -Country Codes-. This check applies to : • field 59, 59A, subfield IBAN, in MT 102_STP, 103_STP.

Page 218: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

3-10 February 2007

• field 82S, subfield 1, in MT 405. • field 94C, 2!a (Country Code), in MTs 500-502, 508, 510, 513-515, 518, 519,

524, 528, 529, 535-538, 540-548, 564-568, 574IRSLST, 574BENO • field 95C, 2!a (Country Code), in MTs 502, 504, 505, 507, 513-515, 518, 528,

529, 536, 537, 540-548, 575, 578, 586 • field 94D, 2!a (Country Code), in MTs 500, 501, 510, 519, 535, 574IRSLST,

574W8BENO. • field 95S, 2!a (country code), in MTs 500-502, 504, 505, 507, 510, 513-515, 518,

519, 528, 529, 540-547, 565, 566, 576, 578, 584, 586-589

T74 The currency code must be the same for each indicated subfield in the field. Field 68B, subfields 7 and 10, field 68C, subfields 7, 9, and 11.

T75 In MT 405, n92, n95 and n96: field 38B. When subfields 1 and 2 contain "MONT/OTHR", then subfield 3 is mandatory , otherwise subfield 3 is not allowed. ex :

Valid Invalid

:38B:MONT/OTHR/01 :38B:MONT/OTHR

:38B:QUAR/LBDP :38B:MONT/OTHR/

:38B:QUAR/LBDP/01

T76 The first character in the first line of this field must be a ’/’, and there must be a least another line, but not more than 5 lines. This applies to field 50H. For example:

Valid Invalid Invalid Invalid

:50H:/X :50H:X :50H:/X :50H:/X

X X X

X

:50H:/X X

X X

X X

X

X

T77 If the first character of the first line of this component or sub component is a ’/’, there must be at least another line, but not more than 5 lines; otherwise, no more than 4 lines are allowed. This applies to fields 42D, 50K, (50-58)D, 59 (note: in MTs 102_STP, 103_STP, 104 and 107, conditional rule 210 takes precedence, i.e. “the first character of the first line must be /”, ref. Cond. Rule 210, Error code: E10), (82-88)D.

T78 Invalid or duplicated code word, or a mandatory code word is missing. This check applies to: • field 53J, subfield 1 of each line, in MTs 300, 303 and 304, 306, 320, 330, 340,

341, 350.

Page 219: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 3-11

• field 56J, subfield 1 of each line, in MTs 300, 303 and 304, 306, 320, 330, 340, 341, 350.

• field 57J, subfield 1 of each line, in MTs 300, 303 and 304, 306, 320, 330, 340, 341, 350.

• field 58J, subfield 1 of each line, in MTs 300, 303 and 304, 306, 320, 330, 340, 341, 350.

• field 82J, subfield 1 of each line, in MTs 300, 303 and 304, 305, 306, 320, 330, 350, 600, 601.

• field 83J, subfield 1 of each line, in MTs 300, 303 and 304, 305, 306, 320, 330, 350, 600, 601.

• field 84J, subfield 1 of each line, in MTs 300, 306, 320, 330. • field 85J, subfield 1 of each line, in MTs 300, 320, 330. • field 86J, subfield 1 of each line, in MTs 306, 320, 330, 340, 341, 350. • field 87J, subfield 1 of each line, in MTs 300, 303 and 304, 305, 306, 320, 330,

350, 600, 601. • field 88J, subfield 1 of each line, in MTs 300, 320.

T79 Available

T80 <Field 72 Reject/Return> or < Field 79 Reject/Return > : • code word error, or • mandatory code word missing, or • code word not in the proper sequence.

Note: This check is applied to MTs 10x, 11x, 20x (NOT applicable to 206), 195, 199, 295 and 299.

T81 Format of <Field 72 Reject/Return> is not allowed in this message. This check applies to : • field 72, MT102_STP, MT103_STP

T82 ERI format is not allowed in this field in this message. This check applies to: • field 72, MT102_STP, MT103_STP

T83 Available

T84 Available

T85 Code word error. This check applies to : • field 23G, subfield 2, in MTs 307, 308, 321, 380, 381, 500-510, 513-515, 517-

519, 524, 527-529, 530, 535-538, 540-549, 558, 564-569, 574IRSLST, 574W8BENO, 575, 576, 578, 584, 586-589, or in any message appended in common groups n92, n95 or n96.

T86 Code word error. This check applies to : • field 23G, subfield 1, in MTs 307, 308, 321, 380, 381, 500-510, 513-515, 517-

519, 524, 527-529, 530, 535-538, 540-549, 558, 564-569, 574IRSLST, 574W8BENO, 575, 576, 578, 584, 586-589, or in any message appended in common groups n92, n95 or n96..

T87 In a generic field: Colon (“:”) as a delimiter is not present at the expected position.

T88 Field 12 in MT 920 may only consist of 940, 941, 942, or 950. Field 12 in MT 973 may only consist of 971, 972, or 998.

T89 In a generic field: • qualifier is invalid, • qualifier is duplicated, • mandatory qualifier is missing,

Page 220: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

3-12 February 2007

• qualifier format or syntax error. (see Part V ISO 15022 message formats).

T90 In a generic field: • issuer code format or syntax error • mandatory issuer code is missing • invalid generic field format

T91 In a generic field: • Slash (“/”) as delimiter is not present at the expected position.

T92 Code word error. This check applies to : • field 16R in ISO 15022 MTs. • field 16S in ISO 15022 MTs.

T93 Code word error. This check applies to : • field 22B in MT 320, 330, 364, 365.

T94 In field 22, subfield 2, or in field 22C, the components 1 and 3, the values ’0’ and ’1’ are not permitted in <LC1> and <LC2>, however the value ’0’ is allowed in the second (rightmost) position if the emitter or the receiver is a test and training user.

Note: This check is only applied for ’common group messages’.

T95 In field 22, subfield 2, or in field 22C, the components 1 and 3 do not contain the bank code and location code of the message emitter, or/and the bank code and location code of the message receiver.

Note: This check is only applied for ’non-common group messages’.

T96 In field 22, subfield 2, or in field 22C, the components 1 and 3 are not in alphabetical sequence.

T97 Code word error . This check applies to : • field 28E, subfield 2, in MTs 206, 506, 535-538, 569, 574W8BENO, 574IRSLST,

575, 576, 584, 586.

T98 Available

T99 Available

Page 221: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 4-1

Chapter 4 Specific Error Codes for MUG-textval Rules

The “G” error codes defined hereafter refer to textval error detected in the frame of Message User Groups textval rules processing.

G01 AU/PDS: in MT103 the letter option of the ’selected field’ is not A, nor C, nor D. In MT202, the letter option of the ’selected field’ is not A, nor D

G02 AU/PDS: in MT103 or MT202, the format of the ’selected field letter option A’ is invalid

G03 AU/PDS: in MT103 or MT202, the format of the ’selected field letter option D’ is invalid

G04 AU/PDS: the ’selected field’ is missing, i.e. at least one of the following fields must be present. MT103: fields 56a, 57a

G05 LVTS: If 2 LVTS members (i.e. emitter & receiver are LVTS subscribers), AND the first 6 characters of their dest. id. (SWIFTBIC) are different (i.e. NOT the same institution), exchange a FIN message type 103 or 205, AND the currency code used in the tag 32A is "CAD", then the tag 103 must be present in the User Header AND it must contain the code "CAD".

G06 REMIT: in a FIN message MT103, the field 77T and the tag119 with the code word 'REMIT' (in the User Header) must either be both present or both absent.

G07 CLS : in an MT300 eligible for the FIN-Copy service CLS or CLT, any field 53 present in sequence B must be used with the letter option “A”.

G08 CLS : in an MT300 eligible for the FIN-Copy service CLS or CLT, both fields 57 in sequences B1 and B2 (index 20, 24) must be used with the letter option “A”, field 57a: of subsequence B1 must contain the “CLSB” BIC bank code.

G09 CLS : in an MT300 eligible for the FIN-Copy service CLS, or CLT, if the tag 17U is used it must contain the value "N".

G10 CLS : in an MT300 eligible for the FIN-Copy service CLS, or CLT, any field 56 present in sequence B must be used with the letter option “A”.

G11 Available

G12 Available

G13 CLS : in an MT304 sent to the CLSB server, field 94A must contain the code "ASET"

G14 Available

Page 222: SWIFT_VALIDATION_RULES_ptiv.pdf

Part IV - Message Syntax and Semantic Validations Message Format Validation Rules, October 2007

4-2 February 2007

G15 Available

G16 CLS : in an MT304 sent to the CLSB server, any field 53 present in sequence B must be used with the letter option “A”.

G17 CLS : in an MT304 sent to the CLSB server, both fields 57 in sequence B must be used with the letter option “A”, and must contain the “CLSB” BIC bank code (note: the field 57A, index 19, is Mandatory).

G18 AU/PDS: in MT103 the format of the ’selected field letter option C’ is invalid.

G19 In MT 305 eligible for the FIN-Copy service CLS or CLT, field 53a must be used with option A.

G20 In MT 305 eligible for the FIN-Copy service CLS or CLT, field 56a must be used with option A.

G21 In MT 305 eligible for the FIN-Copy service CLS or CLT, field 57A must be present.

G22 In MT 305 eligible for the FIN-Copy service CLS (or CLT,) when emitter and receiver are both CLS (or CLT) members, then field 57A must contain CLSB****.

G23 In MT 305 eligible for the FIN-Copy service CLS (or CLT), when emitter is CLS (or CLT) member and receiver is not, and field 34R is present, then field 57A must contain CLSB****; when emitter is CLS (or CLT) member and receiver is not, and field 34P is present, then field 56A must contain CLSB****.

G24 In MT 305 eligible for the FIN-Copy service CLS (or CLT), both fields 56A and 57A must not contain the “CLSB” BIC bank code at the same time.

Page 223: SWIFT_VALIDATION_RULES_ptiv.pdf

Message Format Validation Rules, October 2007 Part IV - Message Syntax and Semantic Validations

February 2007 5-1

Chapter 5 Special Error Codes for Value Added Services

The “B” error codes defined hereafter are related to special validations performed for Value Added Services (VAS) Messages.

B01 1. PAC Trailer used for non-FIN Copy service message.

2. Message has PAC trailer but sender or receiver, or both, are not members of FIN-Copy service.

3. Message contains VAS server id but sender or receiver, or both, are not members of the service.

B02 Available

B03 ’103:LCH’ is present in the message, but the sender, or receiver, or both, are not activated on Accord, or the message is not allowed for LCH. Or,

’103:TPS’ is present in the message, but the sender, is not a member of TPS, or the message is not allowed for TPS. Or,

‘103:DER’ is present in the message, but the sender, or receiver, or both, are not members of DER, or the message is not allowed for DER.

B04 Available

B05 A system error has occurred. The user should contact their local Customer Service Center for further information.