Jonas Grønbek
Jonas Grønbek

Reputation: 2019

understanding XML pain.001.001.03 tags

I am trying to generate a ISO 20022 pain.001.001.03 file in order to process payment through Nordeas Corporate Access Payment service.

I cannot figure out what the value of the following tags represent. I will provide the description of the tags from https://www.nordea.com/Images/33-262430/MIG-CAP_pain%20001.001.03_Payments_v_1.5.pdf:

I assume this is the signerId of Nordea.

CUST: Customer identification, i.e. "Signer Id" as agreed with (or assigned by) Nordea, max. 13 digits. Must be used If BICOrBEI is not used

Unique identification of the pain.001 message. Will be returned in pain.002 (2.1) message from Nordea. Used by Nordea for duplicate control.

Will be returned in a Status Report pain.002.001.03. Unique for each customer min. 90 calendar days. Denmark: If batch booking then first 20 characters will be present on Debtor’s account statement Finland: Will be present on the account statement Norway & Sweden: Will not be present on the account statement

I have generated a file from e-conomic and also looked at examples, and I am pretty sure this is {reg}{account number}. I would just like to have this confirmed, or explained what it alternatively should be.

Seems like it is the same as PmtInf.DbtrAcct.Id.Othr.Id, but for the creditor

Seems like this is a message to the debitor.

Instruction Id – Customers point-to-point reference number. If sent by customer it will be returned in the status and debit advice reports. Usage by Nordea for Request for Transfer and availability on Debtor's account statement for Denmark, please see Country Appendix, chapter 2.1 and 2.5

The end-to-end id must be unique for each customer for a min. period of 90 calendar days. This will be used for duplicate control at transaction level. Will be returned in the status and debit advice reports. Usage by Nordea for Request for Transfer and availability on Debtor's account statement for Denmark & Finland, please see Country Appendix, chapter 2.1 and 2.5. Note: Will not be forwarded for all domestic and International payments due to limitations in the local payment and/or SWIFT infrastructure.


I am looking for the most concrete explanation of how to implement the values as possible. Resources that achieves the same are obviously fine as well.

Example file where I the values discussed are substituted with ___?___

payment.xml

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
    <CstmrCdtTrfInitn>
        <GrpHdr>
            <MsgId>
                ?
            </MsgId>
            <CreDtTm>
                2021-03-29T02:31:35.415
            </CreDtTm>
            <NbOfTxs>
                1
            </NbOfTxs>
            <InitgPty>
                <Id>
                    <OrgId>
                        <Othr>
                            <Id>
                                ___?___
                            </Id>
                            <SchmeNm>
                                <Cd>
                                    CUST
                                </Cd>
                            </SchmeNm>
                        </Othr>
                    </OrgId>
                </Id>
            </InitgPty>
        </GrpHdr>

        <PmtInf>
            <PmtInfId>
                ___?___
            </PmtInfId>
            <PmtMtd>
                TRF
            </PmtMtd>
            <BtchBookg>
                false
            </BtchBookg>
            <PmtTpInf>
                <SvcLvl>
                    <Cd>
                        NURG
                    </Cd>
                </SvcLvl>
                <CtgyPurp>
                    <Cd>
                        SUPP
                    </Cd>
                </CtgyPurp>
            </PmtTpInf>
            <ReqdExctnDt>
                2021-03-29
            </ReqdExctnDt>
            <Dbtr>
                <Nm>
                    Name
                </Nm>
                <PstlAdr>
                    <Ctry>
                        DK
                    </Ctry>
                </PstlAdr>
                <Id>
                    <OrgId>
                        <Othr>
                            <Id />
                            <SchmeNm>
                                <Cd>
                                    BANK
                                </Cd>
                            </SchmeNm>
                        </Othr>
                    </OrgId>
                </Id>
            </Dbtr>
            <DbtrAcct>
                <Id>
                    <Othr>
                        <Id>
                            ___?___
                        </Id>
                        <SchmeNm>
                            <Cd>
                                BBAN
                            </Cd>
                        </SchmeNm>
                    </Othr>
                </Id>
                <Ccy>
                    DKK
                </Ccy>
            </DbtrAcct>
            <DbtrAgt>
                <FinInstnId>
                    <BIC>
                        NDEADKKK
                    </BIC>
                    <PstlAdr>
                        <Ctry>
                            DK
                        </Ctry>
                    </PstlAdr>
                </FinInstnId>
            </DbtrAgt>
            <CdtTrfTxInf>
                <PmtId>
                    <InstrId>
                        ___?___
                    </InstrId>
                    <EndToEndId>
                        ___?___
                    </EndToEndId>
                </PmtId>
                <Amt>
                    <InstdAmt Ccy="DKK">
                        250.00
                    </InstdAmt>
                </Amt>
                <Cdtr>
                    <Nm>
                        Name
                    </Nm>
                    <PstlAdr>
                        <StrtNm>
                            Address of delivery
                        </StrtNm>
                        <Ctry>
                            DK
                        </Ctry>
                    </PstlAdr>
                </Cdtr>
                <CdtrAcct>
                    <Id>
                        <Othr>
                            <Id>
                                ___?___
                            </Id>
                            <SchmeNm>
                                <Cd>
                                    BBAN
                                </Cd>
                            </SchmeNm>
                        </Othr>
                    </Id>
                </CdtrAcct>
                <RmtInf>
                    <Ustrd>
                        User Payment
                    </Ustrd>
                </RmtInf>
            </CdtTrfTxInf>
        </PmtInf>
    </CstmrCdtTrfInitn>
</Document>

Upvotes: 1

Views: 2661

Answers (1)

olersw
olersw

Reputation: 36

Now I'm not fully up to speed on Nordea in Denmark. But as far as what goes for some other Nordic banks the following is valid:

GrpHdr.InitgPty.Id.OrgId.Othr.Id

This can be either a customer ID of the debtor, if they send the files themselves. It can also be the customer ID of a service provider like an accounting service that send Pain001s on behalf of customers (debtors).

GrpHdr.MsgId

Just like Nordea writes "Unique identification of the pain.001 message." So, it should be unique to identify each respective Pain001 messages/files. Just make something up.

PmtInf.PmtInfId

Same thing here, unique ID. But this one could be created in a more informative way than the MsgId since it's visible on account statements in some countries. Perhaps something like "SupplierInvoice-12345", "Salary-123".

PmtInf.DbtrAcct.Id.Othr.Id

The debtor account from where the payment will be made, most commonly a BBAN or IBAN account. Whichever type should be specified in the directly following elements:

<SchmeNm>
   <Cd>
      BBAN
   </Cd>
</SchmeNm>

PmtInf.CdtTrfTxInf.CdtrAcct.Id.Othr.Id

The creditor account to which the payment will be made. Same principle as above, the type of account should be specified in the Schme element.

PmtInf.CdtTrfTxInf.PmtId.InstrId

A payment id that will be returned in other reports like Camt053, Camt054. Can be used for account reconciliation purposes. For example, it could be something like an invoice ID that you wish to have in return in the Camt053 to confirm that the invoice payment actually was made.

PmtInf.CdtTrfTxInf.PmtId.EndToEndId A unique Id (for > 90 days) that can be forwarded to the creditor. Can be some Id that the creditor expects the debtor to send along with the payment or just anything if that's not the case.

Upvotes: 2

Related Questions