Pain001

This is the complete element reference for pain.001.001.07, generated directly from the official ISO 20022 XSD that Pain001 validates against — not transcribed by hand. Every cardinality, type and code value below can be checked against ISO's own publication.

539 elements · 114 required · 82 types · 16 code lists

Cardinality is shown as ISO writes it: 0..1 optional, 1..1 required, 0..* repeating. Required elements are bold — those are the ones whose absence makes the document invalid before any bank sees it.

Schema provenance. The shipped file carries the header “Generated by Standards Editor on 2016 Feb 12” — that is the schema generation timestamp, not necessarily ISO's publication date. Verify against the ISO 20022 archive.

CstmrCdtTrfInitn#

Element Path Card. Type Constraints
CstmrCdtTrfInitn CstmrCdtTrfInitn 1..1 CustomerCreditTransferInitiationV07

GrpHdr#

Group Header — one per message

Element Path Card. Type Constraints
  GrpHdr CstmrCdtTrfInitn/GrpHdr 1..1 GroupHeader48
    MsgId CstmrCdtTrfInitn/GrpHdr/MsgId 1..1 Max35Text length 1–35
    CreDtTm CstmrCdtTrfInitn/GrpHdr/CreDtTm 1..1 ISODateTime
    Authstn CstmrCdtTrfInitn/GrpHdr/Authstn 0..2 Authorisation1Choice
      Cd CstmrCdtTrfInitn/GrpHdr/Authstn/Cd 1..1 Authorisation1Code 4 codes
      Prtry CstmrCdtTrfInitn/GrpHdr/Authstn/Prtry 1..1 Max128Text length 1–128
    NbOfTxs CstmrCdtTrfInitn/GrpHdr/NbOfTxs 1..1 Max15NumericText pattern [0-9]{1,15}
    CtrlSum CstmrCdtTrfInitn/GrpHdr/CtrlSum 0..1 DecimalNumber 17 decimals max
    InitgPty CstmrCdtTrfInitn/GrpHdr/InitgPty 1..1 PartyIdentification43
      Nm CstmrCdtTrfInitn/GrpHdr/InitgPty/Nm 0..1 Max140Text length 1–140
      PstlAdr CstmrCdtTrfInitn/GrpHdr/InitgPty/PstlAdr 0..1 PostalAddress6
      Id CstmrCdtTrfInitn/GrpHdr/InitgPty/Id 0..1 Party11Choice
      CtryOfRes CstmrCdtTrfInitn/GrpHdr/InitgPty/CtryOfRes 0..1 CountryCode pattern [A-Z]{2,2}
      CtctDtls CstmrCdtTrfInitn/GrpHdr/InitgPty/CtctDtls 0..1 ContactDetails2
    FwdgAgt CstmrCdtTrfInitn/GrpHdr/FwdgAgt 0..1 BranchAndFinancialInstitutionIdentification5
      FinInstnId CstmrCdtTrfInitn/GrpHdr/FwdgAgt/FinInstnId 1..1 FinancialInstitutionIdentification8
      BrnchId CstmrCdtTrfInitn/GrpHdr/FwdgAgt/BrnchId 0..1 BranchData2

56 further nested elements sit below this depth — every one of them is defined in the type reference below, which lists each type once instead of repeating it under every party.

PmtInf#

Payment Information — one per debtor account and execution date

Element Path Card. Type Constraints
  PmtInf CstmrCdtTrfInitn/PmtInf 1..* PaymentInstruction20
    PmtInfId CstmrCdtTrfInitn/PmtInf/PmtInfId 1..1 Max35Text length 1–35
    PmtMtd CstmrCdtTrfInitn/PmtInf/PmtMtd 1..1 PaymentMethod3Code 3 codes
    BtchBookg CstmrCdtTrfInitn/PmtInf/BtchBookg 0..1 BatchBookingIndicator
    NbOfTxs CstmrCdtTrfInitn/PmtInf/NbOfTxs 0..1 Max15NumericText pattern [0-9]{1,15}
    CtrlSum CstmrCdtTrfInitn/PmtInf/CtrlSum 0..1 DecimalNumber 17 decimals max
    PmtTpInf CstmrCdtTrfInitn/PmtInf/PmtTpInf 0..1 PaymentTypeInformation19
      InstrPrty CstmrCdtTrfInitn/PmtInf/PmtTpInf/InstrPrty 0..1 Priority2Code 2 codes
      SvcLvl CstmrCdtTrfInitn/PmtInf/PmtTpInf/SvcLvl 0..1 ServiceLevel8Choice
      LclInstrm CstmrCdtTrfInitn/PmtInf/PmtTpInf/LclInstrm 0..1 LocalInstrument2Choice
      CtgyPurp CstmrCdtTrfInitn/PmtInf/PmtTpInf/CtgyPurp 0..1 CategoryPurpose1Choice
    ReqdExctnDt CstmrCdtTrfInitn/PmtInf/ReqdExctnDt 1..1 ISODate
    PoolgAdjstmntDt CstmrCdtTrfInitn/PmtInf/PoolgAdjstmntDt 0..1 ISODate
    Dbtr CstmrCdtTrfInitn/PmtInf/Dbtr 1..1 PartyIdentification43
      Nm CstmrCdtTrfInitn/PmtInf/Dbtr/Nm 0..1 Max140Text length 1–140
      PstlAdr CstmrCdtTrfInitn/PmtInf/Dbtr/PstlAdr 0..1 PostalAddress6
      Id CstmrCdtTrfInitn/PmtInf/Dbtr/Id 0..1 Party11Choice
      CtryOfRes CstmrCdtTrfInitn/PmtInf/Dbtr/CtryOfRes 0..1 CountryCode pattern [A-Z]{2,2}
      CtctDtls CstmrCdtTrfInitn/PmtInf/Dbtr/CtctDtls 0..1 ContactDetails2
    DbtrAcct CstmrCdtTrfInitn/PmtInf/DbtrAcct 1..1 CashAccount24
      Id CstmrCdtTrfInitn/PmtInf/DbtrAcct/Id 1..1 AccountIdentification4Choice
      Tp CstmrCdtTrfInitn/PmtInf/DbtrAcct/Tp 0..1 CashAccountType2Choice
      Ccy CstmrCdtTrfInitn/PmtInf/DbtrAcct/Ccy 0..1 ActiveOrHistoricCurrencyCode pattern [A-Z]{3,3}
      Nm CstmrCdtTrfInitn/PmtInf/DbtrAcct/Nm 0..1 Max70Text length 1–70
    DbtrAgt CstmrCdtTrfInitn/PmtInf/DbtrAgt 1..1 BranchAndFinancialInstitutionIdentification5
      FinInstnId CstmrCdtTrfInitn/PmtInf/DbtrAgt/FinInstnId 1..1 FinancialInstitutionIdentification8
      BrnchId CstmrCdtTrfInitn/PmtInf/DbtrAgt/BrnchId 0..1 BranchData2
    DbtrAgtAcct CstmrCdtTrfInitn/PmtInf/DbtrAgtAcct 0..1 CashAccount24
      Id CstmrCdtTrfInitn/PmtInf/DbtrAgtAcct/Id 1..1 AccountIdentification4Choice
      Tp CstmrCdtTrfInitn/PmtInf/DbtrAgtAcct/Tp 0..1 CashAccountType2Choice
      Ccy CstmrCdtTrfInitn/PmtInf/DbtrAgtAcct/Ccy 0..1 ActiveOrHistoricCurrencyCode pattern [A-Z]{3,3}
      Nm CstmrCdtTrfInitn/PmtInf/DbtrAgtAcct/Nm 0..1 Max70Text length 1–70
    InstrForDbtrAgt CstmrCdtTrfInitn/PmtInf/InstrForDbtrAgt 0..1 Max140Text length 1–140
    UltmtDbtr CstmrCdtTrfInitn/PmtInf/UltmtDbtr 0..1 PartyIdentification43
      Nm CstmrCdtTrfInitn/PmtInf/UltmtDbtr/Nm 0..1 Max140Text length 1–140
      PstlAdr CstmrCdtTrfInitn/PmtInf/UltmtDbtr/PstlAdr 0..1 PostalAddress6
      Id CstmrCdtTrfInitn/PmtInf/UltmtDbtr/Id 0..1 Party11Choice
      CtryOfRes CstmrCdtTrfInitn/PmtInf/UltmtDbtr/CtryOfRes 0..1 CountryCode pattern [A-Z]{2,2}
      CtctDtls CstmrCdtTrfInitn/PmtInf/UltmtDbtr/CtctDtls 0..1 ContactDetails2
    ChrgBr CstmrCdtTrfInitn/PmtInf/ChrgBr 0..1 ChargeBearerType1Code 4 codes
    ChrgsAcct CstmrCdtTrfInitn/PmtInf/ChrgsAcct 0..1 CashAccount24
      Id CstmrCdtTrfInitn/PmtInf/ChrgsAcct/Id 1..1 AccountIdentification4Choice
      Tp CstmrCdtTrfInitn/PmtInf/ChrgsAcct/Tp 0..1 CashAccountType2Choice
      Ccy CstmrCdtTrfInitn/PmtInf/ChrgsAcct/Ccy 0..1 ActiveOrHistoricCurrencyCode pattern [A-Z]{3,3}
      Nm CstmrCdtTrfInitn/PmtInf/ChrgsAcct/Nm 0..1 Max70Text length 1–70
    ChrgsAcctAgt CstmrCdtTrfInitn/PmtInf/ChrgsAcctAgt 0..1 BranchAndFinancialInstitutionIdentification5
      FinInstnId CstmrCdtTrfInitn/PmtInf/ChrgsAcctAgt/FinInstnId 1..1 FinancialInstitutionIdentification8
      BrnchId CstmrCdtTrfInitn/PmtInf/ChrgsAcctAgt/BrnchId 0..1 BranchData2
    CdtTrfTxInf CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf 1..* CreditTransferTransaction26
      PmtId CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/PmtId 1..1 PaymentIdentification1
      PmtTpInf CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/PmtTpInf 0..1 PaymentTypeInformation19
      Amt CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/Amt 1..1 AmountType4Choice
      XchgRateInf CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/XchgRateInf 0..1 ExchangeRate1
      ChrgBr CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/ChrgBr 0..1 ChargeBearerType1Code 4 codes
      ChqInstr CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/ChqInstr 0..1 Cheque7
      UltmtDbtr CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/UltmtDbtr 0..1 PartyIdentification43
      IntrmyAgt1 CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/IntrmyAgt1 0..1 BranchAndFinancialInstitutionIdentification5
      IntrmyAgt1Acct CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/IntrmyAgt1Acct 0..1 CashAccount24
      IntrmyAgt2 CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/IntrmyAgt2 0..1 BranchAndFinancialInstitutionIdentification5
      IntrmyAgt2Acct CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/IntrmyAgt2Acct 0..1 CashAccount24
      IntrmyAgt3 CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/IntrmyAgt3 0..1 BranchAndFinancialInstitutionIdentification5
      IntrmyAgt3Acct CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/IntrmyAgt3Acct 0..1 CashAccount24
      CdtrAgt CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/CdtrAgt 0..1 BranchAndFinancialInstitutionIdentification5
      CdtrAgtAcct CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/CdtrAgtAcct 0..1 CashAccount24
      Cdtr CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/Cdtr 0..1 PartyIdentification43
      CdtrAcct CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/CdtrAcct 0..1 CashAccount24
      UltmtCdtr CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/UltmtCdtr 0..1 PartyIdentification43
      InstrForCdtrAgt CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/InstrForCdtrAgt 0..* InstructionForCreditorAgent1
      InstrForDbtrAgt CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/InstrForDbtrAgt 0..1 Max140Text length 1–140
      Purp CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/Purp 0..1 Purpose2Choice
      RgltryRptg CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/RgltryRptg 0..10 RegulatoryReporting3
      Tax CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/Tax 0..1 TaxInformation3
      RltdRmtInf CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/RltdRmtInf 0..10 RemittanceLocation4
      RmtInf CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/RmtInf 0..1 RemittanceInformation11
      SplmtryData CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/SplmtryData 0..* SupplementaryData1

387 further nested elements sit below this depth — every one of them is defined in the type reference below, which lists each type once instead of repeating it under every party.

SplmtryData#

Supplementary Data — scheme-specific extensions

Element Path Card. Type Constraints
  SplmtryData CstmrCdtTrfInitn/SplmtryData 0..* SupplementaryData1
    PlcAndNm CstmrCdtTrfInitn/SplmtryData/PlcAndNm 0..1 Max350Text length 1–350
    Envlp CstmrCdtTrfInitn/SplmtryData/Envlp 1..1 SupplementaryDataEnvelope1

Type reference#

Every complex type in this version is defined once on the pain.001.001.07 type reference — 80 types. The tree above repeats a party or address structure under each party; the type reference does not, which makes it the better page for mapping work.

Code lists used by this version#

Code list Values
AddressType2Code ADDR, PBOX, HOME, BIZZ, MLTO, DLVY
Authorisation1Code AUTH, FDET, FSUM, ILEV
ChargeBearerType1Code DEBT, CRED, SHAR, SLEV
ChequeDelivery1Code MLDB, MLCD, MLFA, CRDB, CRCD, CRFA, PUDB, PUCD, PUFA, RGDB, RGCD, RGFA
ChequeType2Code CCHQ, CCCH, BCHQ, DRFT, ELDR
CreditDebitCode CRDT, DBIT
DocumentType3Code RADM, RPIN, FXDR, DISP, PUOR, SCOR
DocumentType6Code MSIN, CNFA, DNFA, CINV, CREN, DEBN, HIRI, SBIN, CMCN, SOAC, DISP, BOLD, VCHR, AROI (+2 more)
ExchangeRateType1Code SPOT, SALE, AGRD
Instruction3Code CHQB, HOLD, PHOB, TELB
NamePrefix1Code DOCT, MIST, MISS, MADM
PaymentMethod3Code CHK, TRF, TRA
Priority2Code HIGH, NORM
RegulatoryReportingType1Code CRED, DEBT, BOTH
RemittanceLocationMethod2Code FAXI, EDIC, URID, EMAL, POST, SMSM
TaxRecordPeriod1Code MM01, MM02, MM03, MM04, MM05, MM06, MM07, MM08, MM09, MM10, MM11, MM12, QTR1, QTR2 (+4 more)

The full value set for every list is on the code lists page.

Generate and validate this version#

pain001 -t pain.001.001.07 -d payments.csv -o out/ --dry-run

See the narrative page for pain.001.001.07 for what distinguishes this version and when to choose it, the full compatibility matrix, or what changed between versions.