सामग्री पर जाएँ
All articles
Setup

ERP, बिलिंग और बैंक रिकॉन्सिलिएशन

पेमेंट्स और स्वीकृत quotes को अपने ERP में भेजें और अपने बैंक ट्रांज़ैक्शन्स को लंबित पेमेंट्स के साथ स्वचालित रूप से रिकॉन्साइल करें, सब BYO मॉडल में (ERP और बैंक आपके हैं)।

यह integration आपके फाइनेंस ऑपरेशंस के लिए एक जेनेरिक, न्यूट्रल, global कनेक्टर है, जिसमें दो स्वतंत्र क्षमताएँ हैं: (1) जब पेमेंट कन्फर्म हो या quote स्वीकार हो, तब आपके ERP/accounting सिस्टम को डेटा भेजना; और (2) आपके बैंक से (Open Banking, Plaid, Tink या TrueLayer जैसे financial aggregator, या खुद बैंक के जरिए) ट्रांज़ैक्शन्स प्राप्त करना और उन्हें लंबित पेमेंट्स के साथ स्वचालित रूप से रिकॉन्साइल करना। यह किसी भी देश और करेंसी में, किसी भी ERP (QuickBooks, Xero, NetSuite, SAP, आदि) और किसी भी बैंक के साथ काम करता है। BYO मॉडल: खाते और क्रेडेंशियल्स आपके हैं; हमारी तरफ से कोई लागत नहीं है।

दोनों निष्क्रिय शुरू होती हैं: जब तक आप कॉन्फ़िगर और सक्रिय नहीं करते, कुछ नहीं होता। सीक्रेट्स (ERP API key और बैंक webhook secret) एन्क्रिप्टेड सहेजे जाते हैं और कभी वापस नहीं दिखाए जाते।

पूर्वापेक्षाएँ

  • ERP/Billing: आपके ERP (QuickBooks, Xero, NetSuite, SAP या अन्य) में एक HTTP endpoint जो POST JSON प्राप्त कर सके, और उसे ऑथेंटिकेट करने की क्रेडेंशियल (API key या token)।
  • बैंक रिकॉन्सिलिएशन: बैंक या Open Banking aggregator (Plaid, Tink, TrueLayer या खुद बैंक) का खाता जो ट्रांज़ैक्शन webhooks भेज सके और उन्हें HMAC-SHA256 से sign कर सके।
  • Sellio में, Settings → Integrations में कनेक्टर्स सहेजने और सक्रिय करने के लिए व्यवस्थापक एक्सेस।

ERP / Billing (भेजना)

जब कोई पेमेंट कन्फर्म हो (पेमेंट प्रोवाइडर के webhook या बैंक रिकॉन्सिलिएशन से), या जब लिंक्ड quote स्वीकार हो, तो CRM आपके ERP endpoint को { event, data, source, sentAt } फ़ॉर्मैट में JSON envelope के साथ POST करता है। event तथ्य को दर्शाता है (उदाहरण के लिए, payment.paid) और data फ़ील्ड्स ले जाता है (amount, currency, reference, quote/opportunity ids)।

  1. Settings → Integrations खोलें और "ERP / बिलिंग" कार्ड पर जाएँ।
  2. Endpoint (URL): अपना ERP पता पेस्ट करें जो POST प्राप्त करता है (जैसे, https://erp.yourcompany.com/api/webhooks/crm)।
  3. Authentication header और Prefix: ऑथेंटिकेट करने का तरीका दर्ज करें (जैसे, prefix "Bearer " के साथ Authorization, या बिना prefix के X-Api-Key जैसा कस्टम header)।
  4. API key: अपनी ERP key पेस्ट करें। यह एन्क्रिप्टेड सहेजी जाती है।
  5. कनेक्टर सहेजें, मान्य करने के लिए "टेस्ट भेजें" का उपयोग करें और फिर Activate पर क्लिक करें। स्वचालित भेजना केवल तभी होता है जब कनेक्टर सक्रिय हो।
💡 भेजना best-effort है: अगर आपका ERP डाउन है या कॉल अस्वीकार करता है, तो CRM प्रभावित नहीं होता, और पेमेंट सामान्य रूप से दर्ज रहता है।

बैंक रिकॉन्सिलिएशन (प्राप्त करना)

आप अपने बैंक/Open Banking webhook को उस URL पर इशारा करते हैं जो CRM जनरेट करता है। प्राप्त हर ट्रांज़ैक्शन (amount, currency, reference/description और external id वाला JSON) के लिए, CRM एक मेल खाने वाला लंबित पेमेंट ढूँढता है और उसे paid के रूप में चिह्नित करता है।

  1. "बैंक रिकंसिलिएशन" कार्ड पर, Webhook secret (कॉल sign करने के लिए उपयोग होने वाली key) दर्ज करें और सहेजें।
  2. webhook URL जनरेट करें और उसे अपने बैंक/Open Banking/aggregator में पेस्ट करें।
  3. प्रोवाइडर को हर कॉल के body को HMAC-SHA256 से sign करने और signature को X-Signature header में भेजने के लिए कॉन्फ़िगर करें (hex या base64, sha256= prefix के साथ या बिना)।
  4. integration सक्रिय करें।

मिलान कैसे काम करता है

CRM रूढ़िवादी तरीके से रिकॉन्साइल करता है (यह पैसा है, इसलिए यह कभी अनुमान नहीं लगाता) और देश-अज्ञेय तरीके से: (1) यह लंबित पेमेंट्स को सटीक amount से, और जब ट्रांज़ैक्शन currency बताता है तो उसी currency से, फ़िल्टर करता है; (2) अगर ट्रांज़ैक्शन में reference/description है, तो यह उस पेमेंट को प्राथमिकता देता है जिसका पहचानकर्ता (id, external id, quote या opportunity) उस reference में दिखता है; (3) टाई तोड़ने के लिए कोई reference न होने पर, यह तभी रिकॉन्साइल करता है जब उस amount का ठीक एक ही लंबित पेमेंट हो। अगर कई पेमेंट्स की amount समान है और कुछ भी उन्हें अलग नहीं करता, तो ट्रांज़ैक्शन बिना रिकॉन्साइल हुए रहता है (आपके मैन्युअल रूप से संभालने के लिए)।

Example: Transaction: { amount: 199.90, currency: "USD", reference: "Payment quote q_8f2a", external_id: "tx_123" } → 199.90 के उस लंबित पेमेंट से मेल खाता है जिसका quote q_8f2a है और उसे paid चिह्नित करता है।
💡 रिकॉन्सिलिएशन idempotent है: चूँकि मिलान में केवल लंबित पेमेंट्स ही शामिल होते हैं, अगर बैंक वही ट्रांज़ैक्शन फिर से भेजे तो पहले से paid पेमेंट को दोबारा नहीं छुआ जाता। जो ट्रांज़ैक्शन मेल नहीं खाते वे प्राप्ति को बाधित किए बिना लॉग किए जाते हैं।

टेस्ट कैसे करें

  1. ERP: कनेक्टर सक्रिय होने पर, "ERP / बिलिंग" कार्ड पर "टेस्ट भेजें" पर क्लिक करें और अपने ERP में पुष्टि करें कि POST पहुँचा (प्राप्त webhook रिकॉर्ड/लॉग देखें)।
  2. बैंक रिकॉन्सिलिएशन: अनोखी amount वाला लंबित पेमेंट बनाएँ और अपने बैंक/aggregator में उसी amount और quote/opportunity का हवाला देने वाले reference वाला ट्रांज़ैक्शन ट्रिगर करें (या सिमुलेट करें)। जाँचें कि पेमेंट "Paid" बन गया।
  3. प्राप्त कॉल्स और रिकॉन्सिलिएशन परिणाम देखने के लिए integration history/log जाँचें।

समस्या निवारण

  • "टेस्ट भेजें" 401/403 के साथ विफल होता है: ERP API key गलत है या ऑथेंटिकेशन header/prefix मेल नहीं खाता। key फिर से पेस्ट करें और header नाम जाँचें (जैसे, Authorization "Bearer ", या X-Api-Key)।
  • भेजते समय 404: ERP endpoint गलत है या रूट मौजूद नहीं है। POST प्राप्त करने वाला पूरा URL पुष्टि करें।
  • रिकॉन्सिलिएशन पर Invalid signature (webhook अस्वीकृत): CRM में webhook secret बैंक द्वारा sign करने में उपयोग किए जाने वाले से अलग है, या signature X-Signature header में नहीं आ रही (HMAC-SHA256, hex या base64)। दोनों तरफ एक ही secret रखें।
  • ट्रांज़ैक्शन रिकॉन्साइल नहीं होता: एक ही amount के एक से अधिक लंबित पेमेंट्स हो सकते हैं और टाई तोड़ने के लिए कोई reference नहीं है, इसलिए ट्रांज़ैक्शन description में id/quote शामिल करें, या मैन्युअल रूप से रिकॉन्साइल करें। यह भी पुष्टि करें कि currency मेल खाती है।
  • भेजते समय कुछ नहीं होता: स्वचालित भेजना केवल तभी होता है जब कनेक्टर सक्रिय हो। सहेजने के बाद इसे सक्रिय करें।

Open this article inside the system

Read it and want to see it working?

The account is free and the whole manual is available inside the system, with an assistant that answers from this very content.

मुफ़्त खाता बनाएँ
ERP, बिलिंग और बैंक रिकॉन्सिलिएशन · Sellio