- Knowledgebase
- ISO 20022 Messages
- ISO 20022 business rules
-
Glossary
-
XML / ISO 20022 Standard
-
ISO 20022 Messages
-
XML Schema
- Miscellaneous
- Attribute
- Closing Tag
- Comment
- Content
- Cvc-complex-type
- Cvc-elt
- Cvc-id
- Cvc-identity-constraint
- Cvc-minexclusive-valid
- Cvc-mininclusive-valid
- Cvc-type
- Cvc-totaldigits-valid
- Cvc-attribute
- Cvc-datatype-valid
- Maximum Length
- Cvc-enumeration-valid
- Cvc-fractiondigits-valid
- Cvc-length-valid
- Cvc-maxexclusive-valid
- Cvc-maxinclusive-valid
- Cvc-maxlength-valid
- Cvc-minlength-valid
- Cvc-pattern-valid
- Element Value
- Encoding
- Length
- Mandatory element
- Missing
- Missing Tag
- Missing Child Element
- MIXD
- Root
- Unsupported Characters
- UTF-8
- Value
- Wrong Declaration
-
EPC SEPA
-
CGI-MP
-
US ACH (Nacha)
-
SWIFT MT
-
Finvoice
-
Bank-Specific
-
XMLdation Service Guides
-
Studio Guide
-
Simulator
CtrlSum
ISO20022 describes ControlSum as an optional element which can be given in GrpdHdr and in PmtInf levels. When given in GrpHdr it is used to indicate the total number of individual amounts in the message. When given in PmtInf it is used to indicate the total number of individual amounts in the group.
(Bank specific rules may still apply to make either of the levels mandatory.)
Unless otherwise decided with the bank, the validator checks whether the amounts specified in the message match with the value given in CtrlSum.
The following has valid CtrlSums:
<GrpHdr>
<CtrlSum>30.3</CtrlSum>
</GrpHdr>
<PmtInf>
<CtrlSum>10.1</CtrlSum>
<CdtTrfTxInf>
<InstdAmt Ccy="EUR">10.1</InstdAmt>
</CdtTrfTxInf>
</PmtInf>
<PmtInf>
<CtrlSum>20.2</CtrlSum>
<CdtTrfTxInf>
<InstdAmt Ccy="EUR">10.1</InstdAmt>
</CdtTrfTxInf>
<CdtTrfTxInf>
<InstdAmt Ccy="USD">10.1</InstdAmt>
</CdtTrfTxInf>
<PmtInf>
(Various elements removed for the sake of the example)