ISO 20022 dijelaskan

Apakah pain.001? Permulaan Pindahan Kredit ISO 20022

Mesej ISO 20022 yang dihantar syarikat kepada banknya untuk mengarahkan pindahan kredit: apa itu, bagaimana ia dibina, versi mana yang patut digunakan, dan contoh lengkap yang lulus pengesahan skema rasmi.

pain.001 ialah mesej ISO 20022 yang dihantar oleh syarikat kepada banknya untuk mengarahkan satu atau lebih pindahan kredit. Nama penuhnya ialah Customer Credit Transfer Initiation: "pain" ialah keluarga mesej permulaan pembayaran, .001 ialah nombor mesej, dan akhiran seperti pain.001.001.09 ialah versinya. Ia ialah XML, disahkan terhadap skema rasmi (XSD), dan menggantikan format CSV khusus bank serta mesej teks SWIFT MT101.

pain.001 dalam satu minit#

  • Siapa yang menghantarnya: syarikat (penghutang, atau ejen yang bertindak bagi pihaknya) menghantarnya kepada banknya sendiri (bank penghutang).
  • Apa yang dibawanya: satu atau lebih kelompok pindahan kredit, setiap satu dengan akaun penghutang, tarikh pelaksanaan yang diminta dan sebarang bilangan pembayaran kepada pemiutang.
  • Apa yang diterima kembali: bank menjawab dengan pain.002, iaitu Customer Payment Status Report, yang menerima atau menolak fail atau transaksi individu dengan kod sebab ISO.
  • Apa yang berlaku seterusnya: setelah diterima, bank menukar setiap arahan kepada mesej antara bank seperti pacs.008, yang tidak pernah dilihat oleh syarikat.
  • Di mana ia digunakan: pindahan kredit SEPA di bawah buku peraturan EPC, pembayaran rentas sempadan melalui Swift di bawah CBPR+ (pain.001.001.09) dan banyak skim domestik. Korpus contoh Pain001 merangkumi 42 senario dalam 17 pasaran.

Bagaimana mesej pain.001 distrukturkan#

Setiap versi berkongsi rangka tiga peringkat yang sama di dalam elemen <CstmrCdtTrfInitn>.

Peringkat Elemen Kandungannya
1 <GrpHdr> Group Header (pengepala kumpulan) ID mesej, cap masa penciptaan, bilangan transaksi (NbOfTxs), jumlah kawalan (CtrlSum), pihak pemula
2 <PmtInf> Payment Information (maklumat pembayaran) Satu kelompok: kaedah pembayaran, tarikh pelaksanaan yang diminta, penghutang, akaun dan bank penghutang, penanggung caj
3 <CdtTrfTxInf> Credit Transfer Transaction (transaksi pindahan kredit) Satu pembayaran: rujukan hujung ke hujung, amaun dan mata wang, pemiutang, akaun dan bank pemiutang, maklumat kiriman wang

Satu fail boleh mengandungi beberapa kelompok <PmtInf>, dan setiap kelompok banyak pembayaran <CdtTrfTxInf>. NbOfTxs dan CtrlSum muncul di peringkat fail dan kelompok dan mesti sepadan dengan pembayaran yang dikira; ini antara sebab paling biasa bank menolak fail.

Contoh pain.001 yang lengkap#

Ini ialah satu pindahan kredit SEPA dalam pain.001.001.09, diambil tanpa perubahan daripada korpus contoh Pain001. Ia lulus pengesahan XSD rasmi ISO 20022. Pihak-pihak, IBAN dan BIC adalah rekaan.

<?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>

Cuba data anda sendiri dalam demo pelayar: ia membina fail pain.001 daripada CSV dan mengesahkannya terhadap skema rasmi tanpa data meninggalkan mesin anda.

Versi pain.001#

ISO menerbitkan versi baharu apabila model mesej berubah. Bank dan skim masing-masing menerima versi tertentu, jadi versi yang anda hantar ialah versi yang dinyatakan dalam dokumentasi saluran bank anda.

Versi Catatan
pain.001.001.03 Format lama yang teguh untuk SEPA dan CGI; mengenal pasti bank dengan <BIC>
.04, .05, .06, .07, .08 Versi penyelenggaraan yang digunakan oleh saluran tertentu
pain.001.001.09 Versi 2019 yang dipilih CBPR+ untuk Swift; mengenal pasti bank dengan <BICFI> dan menambah sokongan LEI serta UETR
.10, .11, .12 Penambahbaikan selepas 2019
pain.001.001.13 Diterbitkan oleh ISO pada 19 Mac 2026; menambah pengecam transaksi unik pilihan (UnqTxIdr)

Matriks keserasian menunjukkan versi yang dijana, disahkan dan dipindahkan oleh Pain001.

Mesej Arah Tujuan
pain.001 Syarikat kepada banknya Mengarahkan pindahan kredit (wang keluar)
pain.002 Bank kepada syarikat Melaporkan status pain.001 atau pain.008: diterima, diterima sebahagian atau ditolak, dengan kod sebab
pain.008 Syarikat kepada banknya Mengarahkan debit terus (mengutip wang di bawah mandat)
pacs.008 Bank kepada bank Pindahan kredit antara bank yang terhasil daripada arahan pain.001
MT101 Syarikat atau bank, melalui Swift Mesej teks lama "Request for Transfer" yang digantikan oleh pain.001. Swift menangguhkan penamatan geganti MT101 antara bank pada Ogos 2026 (Swift); lihat MT101 kepada pain.001

Glosari mentakrifkan selebihnya perbendaharaan kata ISO 20022 dalam bahasa mudah.

Mengapa bank menolak fail pain.001#

Sesebuah fail boleh menjadi XML yang betul tetapi masih ditolak. Semakan disusun berlapis:

  1. Skema: fail mesti lulus pengesahan XSD rasmi bagi versinya.
  2. Kualiti data: IBAN lulus digit semakannya, BIC dibentuk dengan betul, tarikh dan amaun sah, dan NbOfTxs serta CtrlSum sepadan dengan pembayaran.
  3. Peraturan skim: SEPA, CBPR+ dan skim domestik menambah kekangan sendiri, seperti set aksara yang dibenarkan atau alamat pos berstruktur.
  4. Profil dan saluran bank anda: setiap bank menerbitkan garis panduan penggunaannya sendiri di atas peraturan skim.

Pain001 menyemak tiga lapisan pertama sebelum fail sampai ke bank dan menyatakan dengan jelas bahawa lapisan keempat perlu disahkan oleh bank.

Cara membuat fail pain.001#

  • Daripada hamparan: Excel kepada pain.001 menukar senarai pembayaran Excel atau CSV kepada fail yang disahkan.
  • Dalam pelayar: demo menjana dan mengesahkan fail secara setempat, tanpa muat naik.
  • Daripada kod atau baris arahan: pasang pustaka pain001 sumber terbuka dan jalankan:
pain001 -t pain.001.001.09 -d payments.csv -o out/

Rujukan teknikal merangkumi setiap pilihan, dan Soalan Lazim menjawab soalan yang paling kerap ditanya oleh pasukan perbendaharaan, operasi dan kejuruteraan.

Sumber#