ISO 20022 की व्याख्या

pain.001 क्या है? ISO 20022 क्रेडिट ट्रांसफ़र इनिशिएशन

वह ISO 20022 संदेश जो कोई कंपनी क्रेडिट ट्रांसफ़र का आदेश देने के लिए अपने बैंक को भेजती है: यह क्या है, कैसे बना है, कौन-सा संस्करण उपयोग करें, और आधिकारिक स्कीमा के विरुद्ध मान्य एक पूरा उदाहरण।

pain.001 वह ISO 20022 संदेश है जिसे कोई कंपनी एक या अधिक क्रेडिट ट्रांसफ़र का आदेश देने के लिए अपने बैंक को भेजती है। इसका पूरा नाम Customer Credit Transfer Initiation है: "pain" भुगतान आरंभ (payment initiation) संदेश परिवार है, .001 संदेश संख्या है, और pain.001.001.09 जैसा प्रत्यय संस्करण है। यह XML में होता है, आधिकारिक स्कीमा (XSD) पर सत्यापित किया जाता है, और बैंक-विशिष्ट CSV प्रारूपों तथा SWIFT MT101 टेक्स्ट संदेश की जगह लेता है।

एक मिनट में pain.001#

  • कौन भेजता है: कोई कंपनी (देनदार, या उसकी ओर से काम करने वाला एजेंट) इसे अपने बैंक (देनदार का बैंक) को भेजती है।
  • इसमें क्या होता है: क्रेडिट ट्रांसफ़र के एक या अधिक बैच, जिनमें से प्रत्येक में एक देनदार खाता, एक अनुरोधित निष्पादन तिथि और लेनदारों को किए जाने वाले कितने भी भुगतान होते हैं।
  • जवाब में क्या आता है: बैंक pain.002, यानी Customer Payment Status Report, से जवाब देता है, जो ISO कारण कोड के साथ फ़ाइल या अलग-अलग लेनदेन को स्वीकार या अस्वीकार करता है।
  • इसके बाद: स्वीकार होने पर बैंक हर निर्देश को pacs.008 जैसे अंतर-बैंक संदेशों में बदल देता है, जिन्हें कंपनी कभी नहीं देखती।
  • कहाँ इस्तेमाल होता है: EPC नियम-पुस्तिकाओं के तहत SEPA क्रेडिट ट्रांसफ़र, CBPR+ के तहत Swift पर सीमा-पार भुगतान (pain.001.001.09), और कई घरेलू योजनाएँ। Pain001 का उदाहरण संग्रह 17 बाज़ारों के 42 परिदृश्यों को कवर करता है।

pain.001 संदेश की संरचना#

हर संस्करण में एक <CstmrCdtTrfInitn> तत्व के भीतर तीन स्तरों वाला एक ही ढाँचा होता है।

स्तर तत्व इसमें क्या होता है
1 <GrpHdr> ग्रुप हेडर संदेश ID, निर्माण का समय, लेनदेन की संख्या (NbOfTxs), नियंत्रण योग (CtrlSum), आरंभ करने वाला पक्ष
2 <PmtInf> भुगतान जानकारी एक बैच: भुगतान विधि, अनुरोधित निष्पादन तिथि, देनदार, देनदार का खाता और बैंक, शुल्क वहन करने वाला
3 <CdtTrfTxInf> क्रेडिट ट्रांसफ़र लेनदेन एक भुगतान: एंड-टू-एंड संदर्भ, राशि और मुद्रा, लेनदार, लेनदार का खाता और बैंक, प्रेषण जानकारी

एक फ़ाइल में कई <PmtInf> बैच हो सकते हैं, और हर बैच में कई <CdtTrfTxInf> भुगतान। NbOfTxs और CtrlSum फ़ाइल और बैच दोनों स्तरों पर आते हैं और जिन भुगतानों की गिनती करते हैं उनसे मेल खाने चाहिए; बैंक द्वारा फ़ाइल अस्वीकार करने का यह सबसे आम कारणों में से एक है।

pain.001 का पूरा उदाहरण#

यह pain.001.001.09 में एक अकेला SEPA क्रेडिट ट्रांसफ़र है, जिसे Pain001 के उदाहरण संग्रह से बिना बदले लिया गया है। यह आधिकारिक ISO 20022 XSD पर सत्यापित होता है। पक्ष, IBAN और BIC काल्पनिक हैं।

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

अपने डेटा के साथ ब्राउज़र डेमो आज़माएँ: यह CSV से pain.001 फ़ाइल बनाता है और आपका डेटा आपकी मशीन से बाहर भेजे बिना उसे आधिकारिक स्कीमा पर सत्यापित करता है।

pain.001 के संस्करण#

जब संदेश का मॉडल बदलता है तो ISO नया संस्करण प्रकाशित करता है। हर बैंक और योजना कुछ विशेष संस्करण स्वीकार करती है, इसलिए आपको वही संस्करण भेजना चाहिए जिसका नाम आपके बैंक के चैनल दस्तावेज़ में दिया गया है।

संस्करण टिप्पणी
pain.001.001.03 SEPA और CGI का लंबे समय से चला आ रहा मुख्य संस्करण; बैंकों की पहचान <BIC> से करता है
.04, .05, .06, .07, .08 कुछ विशेष चैनलों द्वारा उपयोग किए जाने वाले रखरखाव संस्करण
pain.001.001.09 2019 का संस्करण जिसे CBPR+ ने Swift के लिए चुना; बैंकों की पहचान <BICFI> से करता है, LEI और UETR ले जाने की सुविधा जोड़ता है
.10, .11, .12 2019 के बाद के सुधार
pain.001.001.13 ISO ने 19 मार्च 2026 को प्रकाशित किया; एक वैकल्पिक अद्वितीय लेनदेन पहचानकर्ता (UnqTxIdr) जोड़ता है

संगतता मैट्रिक्स दिखाता है कि Pain001 कौन-से संस्करण बनाता है, सत्यापित करता है और उनके बीच माइग्रेट करता है।

संदेश दिशा उद्देश्य
pain.001 कंपनी से उसके बैंक को क्रेडिट ट्रांसफ़र का आदेश देता है (पैसा बाहर भेजता है)
pain.002 बैंक से कंपनी को pain.001 या pain.008 की स्थिति बताता है: स्वीकृत, आंशिक रूप से स्वीकृत या अस्वीकृत, कारण कोड सहित
pain.008 कंपनी से उसके बैंक को डायरेक्ट डेबिट का आदेश देता है (मैंडेट के तहत पैसा वसूलता है)
pacs.008 बैंक से बैंक वह अंतर-बैंक क्रेडिट ट्रांसफ़र जिसमें pain.001 निर्देश बदलता है
MT101 कंपनी या बैंक, Swift के माध्यम से पुराना टेक्स्ट संदेश "Request for Transfer" जिसकी जगह pain.001 लेता है। Swift ने अगस्त 2026 में अंतर-बैंक MT101 रिले को बंद करना टाल दिया (Swift); देखें MT101 से pain.001

शब्दावली ISO 20022 की बाकी शब्दावली को सरल भाषा में परिभाषित करती है।

बैंक pain.001 फ़ाइलें क्यों अस्वीकार करते हैं#

कोई फ़ाइल सही ढंग से बनी XML होने पर भी अस्वीकार हो सकती है। जाँचें परतों में होती हैं:

  1. स्कीमा: फ़ाइल अपने संस्करण के आधिकारिक XSD पर सत्यापित होनी चाहिए।
  2. डेटा गुणवत्ता: IBAN के चेक अंक सही हों, BIC सही रूप में हों, तिथियाँ और राशियाँ मान्य हों, और NbOfTxs तथा CtrlSum भुगतानों से मेल खाएँ।
  3. योजना के नियम: SEPA, CBPR+ और घरेलू योजनाएँ अपनी शर्तें जोड़ती हैं, जैसे अनुमत वर्ण-समूह या संरचित डाक पता।
  4. आपके बैंक की प्रोफ़ाइल और चैनल: हर बैंक योजना के ऊपर अपने उपयोग दिशानिर्देश प्रकाशित करता है।

Pain001 फ़ाइल के बैंक तक पहुँचने से पहले पहली तीन परतों की जाँच करता है और साफ़ बताता है कि चौथी परत की पुष्टि बैंक को करनी है।

pain.001 फ़ाइल कैसे बनाएँ#

  • स्प्रेडशीट से: Excel से pain.001 किसी Excel या CSV भुगतान सूची को सत्यापित फ़ाइल में बदलता है।
  • ब्राउज़र में: डेमो बिना अपलोड किए स्थानीय रूप से फ़ाइल बनाता और सत्यापित करता है।
  • कोड या कमांड लाइन से: ओपन-सोर्स pain001 लाइब्रेरी इंस्टॉल करें और चलाएँ:
pain001 -t pain.001.001.09 -d payments.csv -o out/

तकनीकी संदर्भ हर विकल्प को कवर करता है, और अक्सर पूछे जाने वाले प्रश्न ट्रेज़री, ऑपरेशंस और इंजीनियरिंग टीमों के सबसे आम सवालों के जवाब देते हैं।

स्रोत#

  • ISO 20022 संदेश परिभाषाएँ और संग्रह: iso20022.org
  • SEPA Credit Transfer नियम-पुस्तिका: European Payments Council
  • CBPR+ और MT101 रिले: Swift