Nordlet

← दस्तावेज़ / मार्गदर्शिकाएँ

Peppol के माध्यम से इनवॉइस भेजना और प्राप्त करना

अपनी कंपनी के अपने Peppol एक्सेस पॉइंट (Recommand, Storecove या e-invoice.be) को Nordlet से कनेक्ट करें, Peppol पर इनवॉइस और क्रेडिट नोट भेजें, उनकी डिलीवरी ट्रैक करें और प्राप्त ई-इनवॉइस को परचेज इनवॉइस में बदलें।

Peppol व्यवसायों और सरकारी निकायों के बीच संरचित ई-इनवॉइस (e-invoices) के आदान-प्रदान के लिए यूरोपीय नेटवर्क है। हर इनवॉइस भेजने वाले के एक्सेस पॉइंट से लेकर पाने वाले के एक्सेस पॉइंट तक यात्रा करती है। Nordlet, Peppol BIS Billing 3.0 इनवॉइस और क्रेडिट नोट तैयार करता है, और उन्हें आपकी कंपनी के अपने एक्सेस पॉइंट खाते के माध्यम से भेजता और प्राप्त करता है।

Peppol यह नियम तय करता है कि एक्सेस पॉइंट आपस में दस्तावेज़ों का आदान-प्रदान कैसे करते हैं, लेकिन यह नहीं कि आपका सॉफ़्टवेयर आपके अपने एक्सेस पॉइंट से कैसे बात करे: हर प्रदाता (provider) की अपनी API होती है। Nordlet इन प्रदाताओं के साथ काम करता है:

प्रदाता (Provider) भेजता है डिलीवरी की स्थिति प्राप्त करता है
Recommand हाँ वेबहुक द्वारा और अनुरोध पर हाँ
Storecove हाँ केवल वेबहुक द्वारा हाँ
e-invoice.be हाँ वेबहुक द्वारा और अनुरोध पर हाँ

एक्सेस पॉइंट के बिना भी, Nordlet आपके द्वारा जारी किए गए हर इनवॉइस और क्रेडिट नोट की Peppol फ़ाइल तैयार करता है ताकि आप उसे डाउनलोड करके किसी अन्य तरीके से आगे भेज सकें; यह खुद कुछ भी भेजता या प्राप्त नहीं करता है।

आपको क्या चाहिए

  • ऊपर दिए गए प्रदाताओं में से किसी एक के पास खाता, जिसके माध्यम से आपकी कंपनी Peppol पर रजिस्टर्ड हो। प्रत्येक प्रदाता अपनी सेवा के लिए शुल्क लेता है; उसकी अपनी मूल्य सूची देखें।
  • Nordlet में, कंपनी का VAT नंबर या रजिस्ट्रेशन नंबर, या उसका Peppol ID (Account → Companies → Peppol ID)। आप जिस भी ग्राहक को इनवॉइस भेजते हैं, उसके पार्टनर कार्ड पर भी इनमें से एक होना आवश्यक है।

अपना एक्सेस पॉइंट कनेक्ट करना

Account → Compliance → EU → Peppol access point खोलें, Provider में अपना प्रदाता चुनें, नीचे बताए अनुसार उस प्रदाता के फ़ील्ड भरें और सेव करें। API base URL को खाली छोड़ दें, जब तक कि आपके प्रदाता ने आपको कोई दूसरा पता न दिया हो। सेव करने के बाद, पेज पर आपकी कंपनी का Webhook URL दिखाई देता है: https://api.nordlet.com/v1/peppol/webhooks/{provider}/{companyId}, जहाँ {provider} में recommand, storecove या e-invoice-be होता है और {companyId} आपकी कंपनी की आईडी है। प्रत्येक Nordlet कंपनी का अपना वेबहुक यूआरएल (webhook URL) होता है।

Nordlet किसी वेबहुक कॉल को तभी स्वीकार करता है जब यह साबित हो जाए कि उसे आपका वेबहुक सीक्रेट (webhook secret) पता है, इसलिए जो कॉल आपके एक्सेस पॉइंट खाते से नहीं आती, उसे अस्वीकार कर दिया जाता है। Nordlet आपके एक्सेस पॉइंट पर कॉल करते समय केवल सार्वजनिक इंटरनेट पतों (public internet addresses) से संपर्क करता है।

Recommand

  1. Recommand में, अपनी कंपनी खोलें और उसकी company ID को Account ID at the access point में कॉपी करें।
  2. Recommand में, एक API key बनाएँ और उस कुंजी व उसके सीक्रेट को API key और API secret में कॉपी करें।
  3. एक लंबा रैंडम टेक्स्ट बनाएँ जिसे केवल आप और Recommand जानते हों, और इसे Webhook secret में दर्ज करें। सेव करें।
  4. Recommand में, Nordlet द्वारा दिखाए गए वेबहुक यूआरएल और उसी वेबहुक सीक्रेट का उपयोग करके अपनी कंपनी के लिए एक webhook बनाएँ।

Recommand उस सीक्रेट के साथ हर वेबहुक कॉल पर हस्ताक्षर करता है।

Storecove

  1. Storecove में, अपनी कंपनी के लिए एक legal entity बनाएँ, जिसे भेजने और प्राप्त करने दोनों के लिए सेट किया गया हो, और इसकी आईडी को Account ID at the access point में कॉपी करें।
  2. Storecove में, API Keys के अंतर्गत, एक API key बनाएँ और इसे API key में कॉपी करें। API secret को खाली छोड़ दें।
  3. एक लंबा रैंडम टेक्स्ट बनाएँ और इसे Webhook secret में दर्ज करें। सेव करें।
  4. Storecove में, HTTP Basic प्रमाणीकरण (authentication) द्वारा सुरक्षित Nordlet के दिखाए गए वेबहुक यूआरएल के साथ एक पुश वेबहुक सेट अप करें: कोई भी यूज़रनेम, और पासवर्ड के रूप में वेबहुक सीक्रेट।

Storecove में भेजे गए दस्तावेज़ की स्थिति के लिए कोई कॉल नहीं होती है, इसलिए Storecove के मामले में डिलीवरी की स्थिति केवल उसके वेबहुक से मिलती है और इनवॉइस पेज पर Check Peppol status बटन नहीं होता है। Storecove का सैंडबॉक्स खाता Peppol टेस्ट नेटवर्क पर डेटा भेजता है; प्रोडक्शन API कुंजियाँ Storecove सहायता (support) से मिलती हैं।

e-invoice.be

  1. e-invoice.be ऐप में, API Settings के अंतर्गत, अपनी कंपनी की API key को API key में कॉपी करें। Account ID at the access point और API secret को खाली छोड़ दें। सेव करें।
  2. Nordlet द्वारा दिखाए गए वेबहुक यूआरएल और document.received, document.sent तथा document.sent.failed इवेंट्स के साथ e-invoice.be API (POST https://api.e-invoice.be/api/webhooks/) का उपयोग करके एक वेबहुक बनाएँ।
  3. नए वेबहुक के लिए API द्वारा लौटाए गए secret को Nordlet में Webhook secret में कॉपी करें और फिर से सेव करें।

e-invoice.be हर वेबहुक कॉल पर उस सीक्रेट से हस्ताक्षर करता है। e-invoice.be पर एक सैंडबॉक्स कंपनी Peppol पर भेजने के बजाय उन दस्तावेज़ों को ईमेल कर देती है जिन्हें उसे भेजना होता है।

इनवॉइस भेजना

  1. इनवॉइस या क्रेडिट नोट जारी करें।
  2. जाँच लें कि ग्राहक के पार्टनर कार्ड पर Peppol ID, VAT नंबर या रजिस्ट्रेशन नंबर मौजूद है।
  3. इनवॉइस पेज पर, Delivery अनुभाग में, Send via Peppol पर क्लिक करें और पुष्टि करें। Delivery अनुभाग उन जारी किए गए इनवॉइस के लिए दिखाया जाता है जिनका भुगतान अभी नहीं हुआ है, और बटन केवल तभी दिखता है जब एक्सेस पॉइंट कनेक्ट होता है।

Nordlet Peppol फ़ाइल तैयार करता है और उसे आपके एक्सेस पॉइंट को सौंप देता है। इसके बाद इनवॉइस पेज पर Peppol delivery अनुभाग दिखाई देता है:

स्थिति (Status) अर्थ
pending एक्सेस पॉइंट को सौंप दिया गया है; ग्राहक के एक्सेस पॉइंट ने अभी इसकी पुष्टि नहीं की है
delivered ग्राहक के एक्सेस पॉइंट ने पुष्टि कर दी है कि उसे इनवॉइस मिल गई है
rejected ग्राहक ने इनवॉइस अस्वीकार कर दी है; स्थिति के नीचे इसका कारण दिखाया गया है
failed इनवॉइस डिलीवर नहीं की जा सकी; जब एक्सेस पॉइंट कोई कारण बताता है, तो वह स्थिति के नीचे दिखाई देता है

जब एक्सेस पॉइंट अपने वेबहुक के माध्यम से किसी बदलाव की रिपोर्ट करता है, तो स्थिति अपने आप अपडेट हो जाती है। Check Peppol status बटन दबाने पर Recommand या e-invoice.be से तुरंत वर्तमान स्थिति की जानकारी मिलती है; e-invoice.be के मामले में यह ग्राहक के इनवॉइस रिस्पॉन्स को भी पढ़ता है, और अस्वीकृति (रिस्पॉन्स कोड RE) को rejected के रूप में दिखाया जाता है। कारण को सुधारने के बाद अस्वीकृत या विफल इनवॉइस को दोबारा भेजा जा सकता है। जब एक्सेस पॉइंट किसी इनवॉइस को सीधे तौर पर अस्वीकार कर देता है, उदाहरण के लिए इसलिए क्योंकि ग्राहक Peppol पर रजिस्टर्ड नहीं है, तो Nordlet उसका कारण दिखाता है और इनवॉइस बिना भेजे ही रहती है।

इनवॉइस पेज के शीर्ष पर दिया गया Peppol XML बटन बिना भेजे उसी Peppol फ़ाइल को डाउनलोड करता है।

EU के भीतर की आपूर्ति (intra-EU supply) में Peppol नियमों की आवश्यकतानुसार जारी करने की तिथि को डिलीवरी की तिथि और ग्राहक के देश को डिलीवरी का देश माना जाता है।

इनवॉइस प्राप्त करना

जब एक्सेस पॉइंट अपने वेबहुक के माध्यम से किसी प्राप्त दस्तावेज़ की रिपोर्ट करता है, तो Nordlet एक्सेस पॉइंट से Peppol फ़ाइल डाउनलोड कर लेता है। आपकी कंपनी को मिलने वाले इनवॉइस और क्रेडिट नोट Purchases → Document capture में दिखाई देते हैं, जिन पर भेजने वाले की Peppol ID से Peppol पर प्राप्त होने का मार्क लगा होता है। Nordlet खुद Peppol फ़ाइल को पढ़ता है, इसलिए इसे प्राप्त करने में किसी दस्तावेज़ पहचान (document recognition) क्रेडिट का उपयोग नहीं होता है।

  1. प्राप्त दस्तावेज़ खोलें।
  2. आपूर्तिकर्ता (supplier), तिथियों और लाइनों की जाँच करें; अपने पार्टनर में से आपूर्तिकर्ता को चुनें या उसे बनाएँ।
  3. Save draft पर क्लिक करें। Nordlet मूल Peppol फ़ाइल संलग्न करके एक ड्राफ्ट परचेज इनवॉइस, या प्राप्त क्रेडिट नोट के लिए ड्राफ्ट परचेज क्रेडिट नोट बनाता है। इसे किसी अन्य परचेज इनवॉइस की तरह ही रजिस्टर करें।

Nordlet परचेज इनवॉइस की लाइनें ऋणात्मक (negative) नहीं हो सकतीं। पूरे दस्तावेज़ के लिए मिलने वाली छूट और शुल्क, तथा ऋणात्मक लाइनें, समान VAT दर वाली लाइनों में वितरित कर दी जाती हैं। कोई ऐसी राशि जिसे उसकी VAT दर वाली कोई लाइन वहन न कर सके, जैसे कि किसी ऐसी VAT दर पर लौटाया गया आइटम जिसके लिए इनवॉइस में कोई अन्य लाइन न हो, दूसरी टेबल में दिखाई जाती है: प्राप्त इनवॉइस के लिए Credit note lines, या प्राप्त क्रेडिट नोट के लिए Invoice lines। उन लाइनों को उसी आपूर्तिकर्ता के लिए एक दूसरे दस्तावेज़ के रूप में सहेजा जाता है: नए इनवॉइस के विरुद्ध एक परचेज क्रेडिट नोट, जिसकी संख्या "-CR" होगी, या "-INV" संख्या वाला एक परचेज इनवॉइस। दोनों दस्तावेज़ मिलकर प्राप्त दस्तावेज़ के कुल योग (totals) के बराबर होते हैं।

यह जाँच करना कि कोई ग्राहक Peppol पर है या नहीं

partnerId या participantId (":") के साथ POST /v1/peppol/participants/lookup यह पूछता है कि क्या प्राप्तकर्ता रजिस्टर्ड है और वह कौन से दस्तावेज़ स्वीकार करता है। यह बिना एक्सेस पॉइंट के भी काम करता है।

API के माध्यम से यही कार्य करना

कार्य (Task) कॉल
एक्सेस पॉइंट कनेक्ट करना POST /v1/declarations/configs/update जिसमें system: "peppol" हो और config के भीतर provider (recommand, storecove या e-invoice-be), accountId, apiKey, apiSecret, webhookSecret तथा वैकल्पिक apiBaseUrl हों
एक्सेस पॉइंट का वेबहुक प्राप्त करना POST /v1/peppol/webhooks/{provider}/{companyId}, जिसे एक्सेस पॉइंट द्वारा कॉल किया जाता है
Peppol फ़ाइल डाउनलोड करना POST /v1/sales/invoices/peppol-xml
भेजना POST /v1/sales/invoices/peppol-send (एक्सेस पॉइंट के बिना 422 त्रुटि)
डिलीवरी की स्थिति पढ़ना POST /v1/sales/invoices/peppol-status (Storecove के साथ 422); इनवॉइस में peppolMessageId, peppolStatus, peppolDetail, peppolSentAt, peppolCheckedAt होते हैं
प्राप्त दस्तावेज़ ढूँढنا POST /v1/capture/documents/list; प्राप्त दस्तावेज़ों में provider: "peppol" और senderId होते हैं
किसी को परचेज इनवॉइस में बदलना POST /v1/capture/documents/confirm, दूसरे दस्तावेज़ के लिए oppositeLines के साथ

वेबहुक इवेंट्स: sale_invoice.peppol_sent, sale_invoice.peppol_delivered, sale_invoice.peppol_rejected, sale_invoice.peppol_failed और document_capture.peppol_received। त्रुटियों, आइडम्पोटेंसी (idempotency) और वेबहुक के लिए API conventions देखें।