cain: Acquirer to Issuer Card Transaction
cain.020 Amendment
Written and maintained by ZagTrader. Last reviewed . How this page is sourced and checked
cain.020 is the ISO 20022 Amendment message in the Acquirer to Issuer Card Transaction business area (cain). The latest version is cain.020.001.03, and 3 versions are in the repository.
- Message
- Amendment
- Latest version
- cain.020.001.03
- Submitting organisation
- ISO TC68/SC9/TG1
- MT equivalent
- None listed
In use: published in the current ISO 20022 catalogue.
What cain.020 is for
The Amendment message can be initiated by any party and received by any party (acquirer, agent or issuer).
This message is used to inform the originator that the original message has been corrected/amended and then forwarded to the destination on behalf of the originator. It contains a copy of the original message and any errors found. It may also contain any corrections and/or amendments that were made to the original message.
cain.020 versions
Every version published in the e-Repository, newest first. A message keeps its business purpose across versions; each new version is a separate schema with its own namespace.
| Version | Registration status | Published in |
|---|---|---|
| cain.020.001.03latest | Registered | Latest version set |
| cain.020.001.02 | Registered | Previous version set |
| cain.020.001.01 | Registered | Archive |
cain.020 message structure
The building blocks of cain.020.001.03 to three levels, with multiplicity ([0..1] optional, [1..1] mandatory, * any number) and the data type or component. Element names and definitions are from the ISO 20022 repository; usage guidelines such as CBPR+ or a market infrastructure's rules can restrict them further.
Document[1..1]AmdmntAmendment [1..1]HdrHeader [1..1]Header71Information related to the management of the protocol.
MsgFctnMessage Function [1..1]ExternalMessageFunction1CodeIdentifies the type of process related to the message.
PrtcolVrsnProtocol Version [1..1]Max2048TextVersion of the acquirer to issuer protocol specifications.
XchgIdExchange Identification [0..1]Max35TextUnique identification of an exchange of messages between two parties.
ReTrnsmssnCntrRe Transmission Counter [0..1]Max3NumericTextNumber of retransmission of the message.
CreDtTmCreation Date Time [1..1]ISODateTimeDate and time at which the message was sent.
BtchMgmtInfBatch Management Information [0..1]BatchManagementInformation1Information related to the batch and the collection to which the message belongs if any.
ColltnIdCollection Identification [0..1]Max35TextBtchIdBatch Identification [1..1]Max35TextMsgSeqNbMessage Sequence Number [0..1]Max15NumericTextMsgChcksmInptValMessage Checksum Input Value [0..1]Max140Binary
InitgPtyInitiating Party [1..1]GenericIdentification183Unique identification of the partner that has initiated the exchange.
IdIdentification [1..1]Max35TextTpType [0..1]PartyType17CodeOthrTpOther Type [0..1]Max35TextAssgnrAssigner [0..1]PartyType18CodeCtryCountry [0..1]ISOMax3ACountryCodeShrtNmShort Name [0..1]Max35Text
RcptPtyRecipient Party [0..1]GenericIdentification183Unique identification of the partner that is the recipient of the message exchange.
IdIdentification [1..1]Max35TextTpType [0..1]PartyType17CodeOthrTpOther Type [0..1]Max35TextAssgnrAssigner [0..1]PartyType18CodeCtryCountry [0..1]ISOMax3ACountryCodeShrtNmShort Name [0..1]Max35Text
TracDataTrace Data [0..*]AdditionalData1Information sent in the request message to be returned in the response one, for instance to help in the retrieval of the context of the exchange.
TpType [0..1]Max35TextValValue [0..1]Max2048Text
TracbltTraceability [0..*]Traceability10Identification of partners involved in exchange from the merchant to the issuer, with the relative timestamp of their exchanges.
IdIdentification [1..1]Max35TextTpType [0..1]PartyType17CodeOthrTpOther Type [0..1]Max35TextAssgnrAssigner [0..1]PartyType18CodeCtryCountry [0..1]ISOMax3ACountryCodeShrtNmShort Name [0..1]Max35TextDtTmInDate Time In [0..1]ISODateTimeDtTmOutDate Time Out [0..1]ISODateTime
OrgtrOriginator [0..1]PartyIdentification286Identifies the originator of the transaction.
IdIdentification [1..1]Max11NumericTextIdentification of the party.
AssgnrAssigner [0..1]Max35TextEntity in charge of assigning an identification to a party.
CtryCountry [0..1]ISO3NumericCountryCodeCountry of the party.
ShrtNmShort Name [0..1]Max35TextShort name of the party.
LglCorpNmLegal Corporate Name [0..1]Max99TextLegal Corporate Name of the party
AddtlIdAdditional Identification [0..*]AdditionalData1Additional identification of the party.
TpType [0..1]Max35TextValValue [0..1]Max2048Text
LclDataLocal Data [0..1]LocalData14Contains local language equivalent(s) of data in the current component.
LangLanguage [1..1]ISOMax3ALanguageCodeNcodgFrmtEncoding Format [0..1]Max35TextShrtNmShort Name [0..1]Max70TextLglCorpNmLegal Corporate Name [0..1]Max210TextAddtlDataAdditional Data [0..*]AdditionalData1
SndrSender [0..1]PartyIdentification286Party sending the message to another intermediary agent or to the final destination.
IdIdentification [1..1]Max11NumericTextIdentification of the party.
AssgnrAssigner [0..1]Max35TextEntity in charge of assigning an identification to a party.
CtryCountry [0..1]ISO3NumericCountryCodeCountry of the party.
ShrtNmShort Name [0..1]Max35TextShort name of the party.
LglCorpNmLegal Corporate Name [0..1]Max99TextLegal Corporate Name of the party
AddtlIdAdditional Identification [0..*]AdditionalData1Additional identification of the party.
TpType [0..1]Max35TextValValue [0..1]Max2048Text
LclDataLocal Data [0..1]LocalData14Contains local language equivalent(s) of data in the current component.
LangLanguage [1..1]ISOMax3ALanguageCodeNcodgFrmtEncoding Format [0..1]Max35TextShrtNmShort Name [0..1]Max70TextLglCorpNmLegal Corporate Name [0..1]Max210TextAddtlDataAdditional Data [0..*]AdditionalData1
RcvrReceiver [0..1]PartyIdentification286Party receiving the message from the origin or from an intermediary agent.
IdIdentification [1..1]Max11NumericTextIdentification of the party.
AssgnrAssigner [0..1]Max35TextEntity in charge of assigning an identification to a party.
CtryCountry [0..1]ISO3NumericCountryCodeCountry of the party.
ShrtNmShort Name [0..1]Max35TextShort name of the party.
LglCorpNmLegal Corporate Name [0..1]Max99TextLegal Corporate Name of the party
AddtlIdAdditional Identification [0..*]AdditionalData1Additional identification of the party.
TpType [0..1]Max35TextValValue [0..1]Max2048Text
LclDataLocal Data [0..1]LocalData14Contains local language equivalent(s) of data in the current component.
LangLanguage [1..1]ISOMax3ALanguageCodeNcodgFrmtEncoding Format [0..1]Max35TextShrtNmShort Name [0..1]Max70TextLglCorpNmLegal Corporate Name [0..1]Max210TextAddtlDataAdditional Data [0..*]AdditionalData1
DstnDestination [0..1]PartyIdentification286Identifies the destination of the transaction.
IdIdentification [1..1]Max11NumericTextIdentification of the party.
AssgnrAssigner [0..1]Max35TextEntity in charge of assigning an identification to a party.
CtryCountry [0..1]ISO3NumericCountryCodeCountry of the party.
ShrtNmShort Name [0..1]Max35TextShort name of the party.
LglCorpNmLegal Corporate Name [0..1]Max99TextLegal Corporate Name of the party
AddtlIdAdditional Identification [0..*]AdditionalData1Additional identification of the party.
TpType [0..1]Max35TextValValue [0..1]Max2048Text
LclDataLocal Data [0..1]LocalData14Contains local language equivalent(s) of data in the current component.
LangLanguage [1..1]ISOMax3ALanguageCodeNcodgFrmtEncoding Format [0..1]Max35TextShrtNmShort Name [0..1]Max70TextLglCorpNmLegal Corporate Name [0..1]Max210TextAddtlDataAdditional Data [0..*]AdditionalData1
PrgrmmProgramme [0..*]ProgrammeMode5Programme, network, or brand processes the transaction.
ApldIdApplied Identification [1..1]Max35TextIdentification of the programme, network, or brand applied to the transaction.
AddtlIdAdditional Identification [0..*]AdditionalData1Additional identification of the program, network, or brand processed the transaction.
TpType [0..1]Max35TextValValue [0..1]Max2048Text
JursdctnJurisdiction [0..1]Jurisdiction2Contains information that identifies or is specific to a transaction jurisdiction.
DmstIndDomestic Indicator [0..1]TrueFalseIndicatorWhen true, indicates the transaction is considered to be domestic.
DmstQlfctnDomestic Qualification [0..1]Max35TextIdentifies the reason the transaction is considered to be domestic or non-domestic.
SttlmSvcSettlement Service [0..1]SettlementService6Type of settlement service for specific services requiring settlement.
TpType [0..1]Max35TextType of settlement service applied
IdIdentification [0..1]Max35TextIdentification of settlement service applied.
ReqdDtRequested Date [0..1]ISODateDate requested for settlement.
DfrrdDeferred [0..1]TrueFalseIndicatorIndicate a deferred Settlement date.
DtDate [0..1]ISODateActual date of settlement.
TmTime [0..1]ISOTimeActual time of settlement.
PrdPeriod [0..1]Max35TextIdentifies the settlement period, cycle or group.
CutOffTmCut Off Time [0..1]ISODateTimeIdentifies the effective end time of the settlement date and/or period.
RptgNttyTpReporting Entity Type [0..1]Max35TextIdentifies the type of settlement reporting entity
RptgNttyIdReporting Entity Identification [0..1]Max35TextIdentification of the settlement reporting entity.
AddtlInfAdditional Information [0..*]AdditionalData1Additional Settlement Information.
TpType [0..1]Max35TextValValue [0..1]Max2048Text
RcncltnReconciliation [0..1]Reconciliation4Identification of the reconciliation period between the acquirer and the issuer or their respective agents.
IdIdentification [0..1]Max35TextIdentification of the reconciliation.
DtDate [0..1]ISODateDate of the reconciliation.
ChckptRefCheckpoint Reference [0..1]Max35TextA value used to allow a period within a reconciliation date.
AmddDataAmended Data [1..*]DetailedError1Detailed description of an error that caused the message to be corrected/amended.
TpType [1..1]Max35TextType of error corrected or amendment brought to the message.
DescDescription [1..1]Max500TextDetailed description of the error or amendment.
ValValue [0..1]Max256TextContains the modified value.
TxIdTransaction Identification [1..1]TransactionIdentification55Identification of the transaction.
LclDtLocal Date [1..1]ISODateLocal date the transaction takes place at the card acceptor location.
LclTmLocal Time [0..1]ISOTimeLocal time the transaction takes place at the card acceptor location.
TmZoneTime Zone [0..1]Max70TextTime zone name (for example, as defined by IANA - Internet Assigned Numbers Authority - in the time zone database).
PurchsIdrTpPurchase Identifier Type [0..1]PurchaseIdentifierType2CodeSpecifies the type of identifier present in the message.
OthrPurchsIdrTpOther Purchase Identifier Type [0..1]Max35TextUsed when Purchase Identifier Type is Other National or Other Private.
PurchsIdrPurchase Identifier [0..1]Max99TextContains a value identifying Invoice Data or Purchase Request Data.
TrnsmssnDtTmTransmission Date Time [0..1]ISODateTimeDate and time expressed in UTC of the message as sent by the initiator.
SysTracAudtNbSystem Trace Audit Number [1..1]Max12NumericTextNumber assigned by a transaction originator to assist in identifying a transaction uniquely.
RtrvlRefNbRetrieval Reference Number [1..1]Exact12TextReference supplied by the system retaining the original source information and used to assist in locating that information or a copy thereof.
LifeCyclSpprtLife Cycle Support [0..1]LifeCycleSupport1CodeIndicate the point in the transaction lifecycle at which the lifecycle identifier was assigned.
LifeCyclIdLife Cycle Identification [0..1]Exact15TextTransaction lifecycle identification
AuthstnSeqNbAuthorisation Sequence Number [0..1]Exact2NumericTextContains authorisation sequence number.
PresntmntSeqNbPresentment Sequence Number [0..1]Exact2NumericTextNumber used with trace identifier to uniquely identify where a single authorisation was obtained covering a number of financial presentments.
PresntmntSeqCntPresentment Sequence Count [0..1]Exact2NumericTextExpected maximum number of presentments for this transaction.
AuthntcnTknAuthentication Token [0..1]Max35TextCode calculated using an algorithm against key transaction data elements that are common to both authorisation and financial messages.
LifeCyclIdMssngLife Cycle Identification Missing [0..1]Max70TextReason for not providing a lifecycle trace identification information.
AcqrrRefDataAcquirer Reference Data [0..1]Max140TextData supplied by an acquirer in an authorisation or financial request, advice or notification that may be required to be provided in a subsequent...
AcqrrRefNbAcquirer Reference Number [0..1]Max23NumericTextData supplied by an acquirer to assist in identifying a transaction (for example, for researching retrievals and chargebacks).
IssrRefDataIssuer Reference Data [0..1]Max1000TextData supplied by a card issuer in an authorisation response, financial response message or in a chargeback transaction that the acquirer may be...
AssoctdDataAssociated Data [0..1]TrueFalseIndicatorIndicates that additional data will be provided in a separate addendum message.
AssoctdDataRefAssociated Data Reference [0..1]Max70TextReference to additional transaction details to be conveyed separately from this message.
AssoctdDataDstnAssociated Data Destination [0..1]Max35TextDestination value to be used in the subsequent addendum message.
OrgnlMsgOriginal Message [0..1]Max100KBinaryOriginal message before correction/amendment.
MsgAmddMessage Amended [0..1]Max100KBinaryMessage amended.
AddtlDataAdditional Data [0..*]AdditionalData2Contains additional data.
TpType [0..1]Max35TextType of information.
DtlsDetails [0..*]AdditionalData1Detail of the specific type of data.
TpType [0..1]Max35TextValValue [0..1]Max2048Text
PrtctdDataProtected Data [0..*]ProtectedData2Contains protected data and the attributes used to protect the data.
CnttTpContent Type [1..1]ContentType3CodeType of data protection.
EnvlpdDataEnveloped Data [0..1]EnvelopedData12Consists of an encrypted content of any type and encrypted content-encryption keys for one or more recipients.
VrsnVersion [0..1]NumberRcptRecipient [1..*]Recipient7Choice (choice)NcrptdCnttEncrypted Content [0..1]EncryptedContent8
NcrptdDataEncrypted Data [0..1]EncryptedData2Contains encrypted data and the attributes used to encrypt the data using the ISO 13492 methods for data encryption.
CtrlControl [0..1]Exact1HexBinaryTextKeySetIdrKey Set Identifier [0..1]Max8NumericTextDrvdInfDerived Information [0..1]Max32HexBinaryTextAlgoAlgorithm [0..1]Max2NumericTextKeyLngthKey Length [0..1]Max4NumericTextKeyPrtcnKey Protection [0..1]Max2NumericTextKeyIndxKey Index [0..1]Max5NumericTextPddgMtdPadding Method [0..1]Max2NumericTextNcrptdFrmtEncrypted Format [0..1]Max2NumericTextNcrptdElmtEncrypted Element [1..*]EncryptedDataElement2
SplmtryDataSupplementary Data [0..*]SupplementaryData1Additional information that can not be captured in the structured fields and/or other specific block.
PlcAndNmPlace And Name [0..1]Max350TextUnambiguous reference to the location where the supplementary data must be inserted in the message instance.
EnvlpEnvelope [1..1]SupplementaryDataEnvelope1Technical element wrapping the supplementary data.
SctyTrlrSecurity Trailer [0..1]ContentInformationType41Trailer of the message containing a MAC
MACDataMAC Data [1..1]MACData1Type of data protection.
CtrlControl [1..1]Exact1HexBinaryTextKeySetIdrKey Set Identifier [1..1]Max8NumericTextDrvdInfDerived Information [0..1]Max32HexBinaryTextAlgoAlgorithm [1..1]Max2NumericTextKeyLngthKey Length [0..1]Max4NumericTextKeyPrtcnKey Protection [0..1]Max2NumericTextKeyIndxKey Index [0..1]Max5NumericTextPddgMtdPadding Method [0..1]Max2NumericTextInitlstnVctrInitialisation Vector [0..1]Max32HexBinaryText
MACMAC [1..1]Max8HexBinaryTextMessage Authentication Code data.
Have a cain.020 message? Paste it into the parser to see every element with its name and definition, and format checks on BICs, IBANs, dates and amounts.
External code sets used in cain.020
These elements take their values from ISO 20022 external code sets, which are published separately and updated every quarter without a new message version.
cain.020 questions
- What is the latest version of cain.020?
- The latest version in the ISO 20022 e-Repository release of 24 April 2025 is cain.020.001.03.
- What is the root element of cain.020?
- The XML document is Document with the namespace urn:iso:std:iso:20022:tech:xsd:cain.020.001.03, and its message element is Amdmnt (Amendment).
- Is there an MT equivalent of cain.020?
- No Swift MT message is listed as its direct equivalent on this site. Many ISO 20022 messages have no MT counterpart.
All ISO 20022 messages · ISO 20022 code sets · MT messages
The ISO 20022 message definitions, element names and definitions on this page are reproduced from material published at iso20022.org under the ISO 20022 Intellectual Property Rights policy. This is not the official source: the up-to-date ISO 20022 standards and repository material are published only at iso20022.org. Explanations in our own words are by ZagTrader. ZagTrader is not affiliated with or endorsed by ISO or Swift.