Az ISO 20022 érthetően

Mi az a pain.001? Az ISO 20022 átutalás-kezdeményezés

Az az ISO 20022 üzenet, amellyel egy vállalat átutalásokat rendel el a bankjánál: mi ez, hogyan épül fel, melyik verziót használja, és egy teljes példa, amely megfelel a hivatalos sémának.

A pain.001 az az ISO 20022 üzenet, amellyel egy vállalat egy vagy több átutalást ad meg a bankjának. Teljes neve Customer Credit Transfer Initiation: a "pain" a fizetéskezdeményezési üzenetcsalád, a .001 az üzenet száma, az utótag, például pain.001.001.09, pedig a verzió. XML-formátumú, hivatalos séma (XSD) alapján validálják, és felváltja a bankonként eltérő CSV-formátumokat és a SWIFT MT101 szöveges üzenetet.

A pain.001 egy percben#

  • Ki küldi: egy vállalat (a terhelt fél vagy a nevében eljáró megbízott) a saját bankjának (a terhelt fél bankjának) küldi.
  • Mit tartalmaz: egy vagy több átutaláscsomagot, mindegyikben egy terhelendő számlát, egy kért teljesítési napot és tetszőleges számú kifizetést a kedvezményezetteknek.
  • Mi érkezik vissza: a bank pain.002 üzenettel, a Customer Payment Status Reporttal válaszol, és ISO okkódokkal befogadja vagy elutasítja a fájlt vagy az egyes tranzakciókat.
  • Mi történik ezután: befogadás után a bank minden megbízást bankközi üzenetekké, például pacs.008 üzenetté alakít, amelyet a vállalat soha nem lát.
  • Hol használják: SEPA-átutalásoknál az EPC szabálykönyvei szerint, határon átnyúló fizetéseknél a Swift hálózaton a CBPR+ szerint (pain.001.001.09), valamint számos hazai rendszerben. A Pain001 példagyűjteménye 17 piacon 42 forgatókönyvet fed le.

Hogyan épül fel egy pain.001 üzenet#

Minden verzió ugyanazt a háromszintű vázat használja egy <CstmrCdtTrfInitn> elemen belül.

Szint Elem Tartalma
1 <GrpHdr> Csoportfejléc Üzenetazonosító, létrehozás időpontja, tranzakciók száma (NbOfTxs), ellenőrző összeg (CtrlSum), kezdeményező fél
2 <PmtInf> Fizetési információk Egy csomag: fizetési mód, kért teljesítési nap, terhelt fél, a terhelt fél számlája és bankja, költségviselés
3 <CdtTrfTxInf> Átutalási tranzakció Egy kifizetés: végponttól végpontig tartó hivatkozás, összeg és pénznem, kedvezményezett, a kedvezményezett számlája és bankja, közlemény

Egy fájl több <PmtInf> csomagot, minden csomag pedig számos <CdtTrfTxInf> kifizetést tartalmazhat. Az NbOfTxs és a CtrlSum fájl- és csomagszinten is szerepel, és egyeznie kell az általuk számolt kifizetésekkel; ez az egyik leggyakoribb oka annak, hogy a bank elutasít egy fájlt.

Egy teljes pain.001 példa#

Ez egyetlen SEPA-átutalás pain.001.001.09 verzióban, változtatás nélkül átvéve a Pain001 példagyűjteményéből. Megfelel a hivatalos ISO 20022 XSD-nek. A felek, az IBAN-ok és a BIC-kódok fiktívek.

<?xml version='1.0' encoding='UTF-8'?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09">
  <CstmrCdtTrfInitn>
    <GrpHdr>
      <MsgId>OML-SCT-20260921</MsgId>
      <CreDtTm>2026-09-21T12:00:00</CreDtTm>
      <NbOfTxs>1</NbOfTxs>
      <CtrlSum>2200.00</CtrlSum>
      <InitgPty>
        <Nm>Officine Meccaniche Lombarde SpA</Nm>
        <PstlAdr>
          <PstCd>20123</PstCd>
          <TwnNm>Milano</TwnNm>
          <Ctry>IT</Ctry>
          <AdrLine>Via Torino 15</AdrLine>
        </PstlAdr>
      </InitgPty>
    </GrpHdr>
    <PmtInf>
      <PmtInfId>SCT-20260921-IT-01</PmtInfId>
      <PmtMtd>TRF</PmtMtd>
      <BtchBookg>false</BtchBookg>
      <NbOfTxs>1</NbOfTxs>
      <CtrlSum>2200.00</CtrlSum>
      <PmtTpInf>
        <SvcLvl>
          <Cd>SEPA</Cd>
        </SvcLvl>
      </PmtTpInf>
      <ReqdExctnDt>
        <Dt>2026-09-22</Dt>
      </ReqdExctnDt>
      <Dbtr>
        <Nm>Officine Meccaniche Lombarde SpA</Nm>
        <PstlAdr>
          <PstCd>20123</PstCd>
          <TwnNm>Milano</TwnNm>
          <Ctry>IT</Ctry>
          <AdrLine>Via Torino 15</AdrLine>
        </PstlAdr>
      </Dbtr>
      <DbtrAcct>
        <Id>
          <IBAN>IT48T78971134594OGDKY5VXE41</IBAN>
        </Id>
      </DbtrAcct>
      <DbtrAgt>
        <FinInstnId>
          <BICFI>TLAOIT60</BICFI>
        </FinInstnId>
      </DbtrAgt>
      <ChrgBr>SLEV</ChrgBr>
      <CdtTrfTxInf>
        <PmtId>
          <EndToEndId>OML-2026-0921-01</EndToEndId>
        </PmtId>
        <Amt>
          <InstdAmt Ccy="EUR">2200.00</InstdAmt>
        </Amt>
        <CdtrAgt>
          <FinInstnId>
            <BICFI>MHXHITI0</BICFI>
          </FinInstnId>
        </CdtrAgt>
        <Cdtr>
          <Nm>Fonderia Bresciana Srl</Nm>
          <PstlAdr>
            <PstCd>25121</PstCd>
            <TwnNm>Brescia</TwnNm>
            <Ctry>IT</Ctry>
          </PstlAdr>
        </Cdtr>
        <CdtrAcct>
          <Id>
            <IBAN>IT23J14887404856NF3794IGWXN</IBAN>
          </Id>
        </CdtrAcct>
        <RmtInf>
          <Ustrd>Fattura 117/2026</Ustrd>
        </RmtInf>
      </CdtTrfTxInf>
    </PmtInf>
  </CstmrCdtTrfInitn>
</Document>

Próbálja ki saját adataival a böngészős demóban: CSV-ből pain.001 fájlt készít, és a hivatalos séma alapján validálja anélkül, hogy az adatok elhagynák a gépét.

A pain.001 verziói#

Az ISO új verziót ad ki, ha az üzenetmodell megváltozik. A bankok és rendszerek meghatározott verziókat fogadnak el, ezért azt a verziót kell küldeni, amelyet a bankja csatornadokumentációja megnevez.

Verzió Megjegyzés
pain.001.001.03 A SEPA és a CGI régóta bevált igásló-verziója; a bankokat <BIC> elemmel azonosítja
.04, .05, .06, .07, .08 Egyes csatornák által használt karbantartási verziók
pain.001.001.09 A 2019-es verzió, amelyet a CBPR+ a Swifthez választott; a bankokat <BICFI> elemmel azonosítja, és hordozza az LEI-t és az UETR-t
.10, .11, .12 2019 utáni finomítások
pain.001.001.13 Az ISO 2026. március 19-én tette közzé; opcionális egyedi tranzakcióazonosítót (UnqTxIdr) vezet be

A kompatibilitási mátrix megmutatja, mely verziókat állítja elő, validálja és alakítja át egymásba a Pain001.

Üzenet Irány Cél
pain.001 A vállalattól a saját bankjához Átutalásokat ad meg (pénzt küld ki)
pain.002 A banktól a vállalathoz Jelzi egy pain.001 vagy pain.008 állapotát: befogadva, részben befogadva vagy elutasítva, okkódokkal
pain.008 A vállalattól a saját bankjához Beszedéseket ad meg (felhatalmazás alapján szed be pénzt)
pacs.008 Bankok között A bankközi átutalás, amellyé egy pain.001 megbízás válik
MT101 Vállalat vagy bank, a Swift hálózaton A korábbi "Request for Transfer" szöveges üzenet, amelyet a pain.001 felvált. A Swift 2026 augusztusában elhalasztotta a bankközi MT101-továbbítás kivezetését (Swift); lásd: MT101-ből pain.001

A szójegyzék közérthetően magyarázza az ISO 20022 többi fogalmát.

Miért utasítják el a bankok a pain.001 fájlokat#

Egy fájl lehet jól formázott XML, és mégis elutasíthatják. Az ellenőrzések rétegesen épülnek egymásra:

  1. Séma: a fájlnak meg kell felelnie a verziójához tartozó hivatalos XSD-nek.
  2. Adatminőség: az IBAN-ok ellenőrző számjegyei helyesek, a BIC-kódok formailag helyesek, a dátumok és összegek érvényesek, az NbOfTxs és a CtrlSum pedig egyezik a kifizetésekkel.
  3. Rendszerszabályok: a SEPA, a CBPR+ és a hazai rendszerek saját megkötéseket tesznek hozzá, például az engedélyezett karakterkészletet vagy a strukturált postai címet.
  4. A bankja profilja és csatornája: minden bank saját használati útmutatót tesz közzé a rendszer szabályain felül.

A Pain001 az első három réteget még azelőtt ellenőrzi, hogy a fájl a bankhoz érne, és egyértelműen jelzi, hogy a negyediket a banknak kell megerősítenie.

Hogyan készítsünk pain.001 fájlt#

  • Táblázatból: az Excelből pain.001 egy Excel- vagy CSV-fizetési listából validált fájlt készít.
  • A böngészőben: a demó helyben, feltöltés nélkül állít elő és validál egy fájlt.
  • Kódból vagy parancssorból: telepítse a nyílt forráskódú pain001 könyvtárat, és futtassa:
pain001 -t pain.001.001.09 -d payments.csv -o out/

A technikai referencia minden opciót ismertet, a GYIK pedig a treasury-, operációs és fejlesztői csapatok leggyakoribb kérdéseire válaszol.

Források#