WhatsApp पर TallyPrime इनवॉइस भेजें¶
TallyPrime से इनवॉइस की PDF एक फ़ोल्डर में एक्सपोर्ट करें। फिर एक Windows स्क्रिप्ट उसे Template मैसेज की तरह ग्राहक के WhatsApp नंबर पर भेज देती है। जो फ़ाइल चली जाती है, वह Processed फ़ोल्डर में पहुँच जाती है। जो फ़ाइल नहीं जाती, वह Failed फ़ोल्डर में चली जाती है, और कारण लॉग में लिखा रहता है।
शुरू करने से पहले¶
- आपका WhatsApp नंबर Ohanvi से कनेक्ट हो। देखें अपना WhatsApp नंबर कनेक्ट करें।
- आपके पास Developer API key हो। देखें Developer API से WhatsApp मैसेज भेजें।
- आपके पास Document हेडर वाला अप्रूव्ड Utility Template हो, जैसे
Hello {{1}}, your invoice {{2}} dated {{3}} is attached.देखें WhatsApp मैसेज Template बनाएँ। - कंप्यूटर में Windows 10 या 11 हो और वह ऑनलाइन हो। स्क्रिप्ट
curl.exeऔर PowerShell इस्तेमाल करती हैं। ये Windows में पहले से होते हैं। - TallyPrime में हर ग्राहक के लेजर में 10 अंकों का मोबाइल नंबर भरा हो।
यह कैसे काम करता है¶
| स्टेप | क्या होता है |
|---|---|
| 1 | आप TallyPrime से इनवॉइस को PDF बनाकर Incoming फ़ोल्डर में एक्सपोर्ट करते हैं। |
| 2 | स्क्रिप्ट फ़ाइल के नाम से ग्राहक का नाम, मोबाइल नंबर, इनवॉइस नंबर और तारीख़ पढ़ती है। |
| 3 | स्क्रिप्ट आपकी API key के साथ PDF को Ohanvi के पास भेजती है। Ohanvi उसे Template के Document हेडर में लगाकर भेजता है। |
| 4 | WhatsApp के मैसेज ले लेने पर फ़ाइल Processed में चली जाती है। नाम गलत हो या मैसेज रिजेक्ट हो जाए, तो फ़ाइल Failed में चली जाती है। |
PDF Template के साथ ही जाती है। इसलिए जिस ग्राहक ने पिछले 24 घंटे में आपको मैसेज नहीं किया, उसे भी यह पहुँच जाती है।
स्टेप्स¶
PDF का नाम रखें¶
- TallyPrime में सेव किया हुआ इनवॉइस खोलें।
- Ctrl+P (Print) दबाएँ और Save as PDF चुनें [VERIFY: exact label in your TallyPrime version]।
- फ़ाइल का नाम
ClientName_Mobile_InvoiceNo_DD-MM-YYYY.pdfके रूप में लिखें, जैसेSanjay_9416388827_2026-27-045_13-10-2026.pdf। - अपना Incoming फ़ोल्डर चुनें और सेव करें।
नाम में इन नियमों का ध्यान रखें:
- हर हिस्से में अक्षर, अंक और हाइफ़न ही रखें। स्पेस न डालें।
- मोबाइल नंबर 10 अंकों का हो और 6, 7, 8 या 9 से शुरू हो।
- इनवॉइस नंबर में
/की जगह-लिखें, जैसेINV-186। - तारीख़
DD-MM-YYYYमें लिखें।
TallyPrime यह नाम खुद नहीं बनाता। PDF सेव करते समय आप इसे खुद टाइप करें। मोबाइल नंबर पार्टी के लेजर से देखकर भरें।
स्क्रिप्ट डाउनलोड करें¶
- Ohanvi में अपने नाम पर क्लिक करें, फिर Developer के नीचे Developer APIs खोलें।
- Docs टैब खोलें और Tally scripts पर क्लिक करें।
Ohanvi-Tally-WhatsApp-Scripts.zipनाम की फ़ाइल डाउनलोड हो जाएगी। - इसे Windows कंप्यूटर पर किसी फ़ोल्डर में एक्सट्रैक्ट करें, जैसे
C:\TallyWhatsApp\।
ज़िप में 2 फ़ाइलें हैं:
| फ़ाइल | किसलिए है |
|---|---|
tally_run_now.bat |
Incoming में रखी सारी फ़ाइलें अभी भेजने के लिए इस पर डबल-क्लिक करें। विंडो खुली रहती है और नतीजा दिखाती है। |
tally_send_invoices.bat |
शेड्यूल के हिसाब से चलती है, हर 2 मिनट में। |
डाउनलोड सिर्फ़ वेब ऐप में होता है।
सेटिंग्स भरें¶
- हर फ़ाइल पर राइट-क्लिक करें, Edit पर क्लिक करें, और SETTINGS के नीचे की लाइनें भरें। दोनों फ़ाइलों में एक जैसी वैल्यू डालें।
- फ़ाइल सेव करें।
| सेटिंग | क्या लिखें |
|---|---|
API_BASE_URL |
पहले से आपके Ohanvi के पते से भरा होता है। |
API_KEY |
आपकी Developer API key। यह wak_ से शुरू होती है। |
TEMPLATE_NAME |
आपके अप्रूव्ड Template का बिल्कुल सही नाम। |
TEMPLATE_LANG |
Template की भाषा का कोड, जैसे en। |
VAR_ORDER |
फ़ाइल के नाम के कौन-से हिस्से {{1}}, {{2}} और {{3}} में एक-एक करके भरेंगे। CLIENT, MOBILE, INVOICE, DATE में से चुनें। डिफ़ॉल्ट CLIENT INVOICE DATE है। गिनती Template की बॉडी के वेरिएबल जितनी होनी चाहिए। |
COUNTRY_CODE |
10 अंकों के नंबर के आगे जुड़ता है, जैसे 91। |
ROOT |
मुख्य फ़ोल्डर। स्क्रिप्ट इसके अंदर Incoming, Processed, Failed और Logs बना देती हैं। डिफ़ॉल्ट D:\TallyInvoices है। |
CHECK_DELIVERY |
1 रखने पर स्क्रिप्ट हर मैसेज के लिए WhatsApp की पुष्टि का इंतज़ार करती है। 0 रखने पर Ohanvi के मैसेज ले लेते ही रुक जाती है। |
अभी भेजें¶
- Incoming में 2 टेस्ट PDF रखें। एक का नाम सही हो और उसमें आपका अपना मोबाइल नंबर हो। दूसरे का नाम जान-बूझकर गलत रखें।
tally_run_now.batपर डबल-क्लिक करें।- विंडो में नतीजा पढ़ें। सही नाम वाली फ़ाइल Processed में चली जाएगी और PDF आपके WhatsApp पर आ जाएगी। गलत नाम वाली फ़ाइल Failed में चली जाएगी।
हर 2 मिनट में भेजें¶
- Start पर क्लिक करें,
cmdटाइप करें, Command Prompt पर राइट-क्लिक करें और Run as administrator पर क्लिक करें। -
यह कमांड चलाएँ। जहाँ आपने फ़ाइलें एक्सट्रैक्ट की हैं, पाथ में वही जगह लिखें।
schtasks /Create /TN "Tally WhatsApp Invoices" /TR "C:\TallyWhatsApp\tally_send_invoices.bat" /SC MINUTE /MO 2 /RU SYSTEM -
इसे बंद करना हो, तो
schtasks /Delete /TN "Tally WhatsApp Invoices" /Fचलाएँ।
दो रन कभी एक साथ नहीं चलते। जिस फ़ाइल को TallyPrime अभी लिख ही रहा है, स्क्रिप्ट उसे छोड़ देती है और अगले रन में उठा लेती है। कंप्यूटर ऑफ़लाइन हो, तो फ़ाइलें Incoming में पड़ी रहती हैं और अगले रन में भेज दी जाती हैं।
ध्यान दें
लैपटॉप स्लीप में हो, तो टास्क नहीं चलता। इसे बैटरी पर चलाना हो, तो Task Scheduler में टास्क खोलें। फिर Conditions टैब पर Start the task only if the computer is on AC power का टिक हटा दें।
फ़ेल हुई फ़ाइल ठीक करें¶
- मुख्य फ़ोल्डर में
Logs\api_log.txtखोलें और उस फ़ाइल की लाइन ढूँढें। - कारण ठीक करें। नाम गलत था, तो फ़ाइल का नाम बदलें।
- फ़ाइल को Failed से वापस Incoming में डाल दें। अगले रन में वह दोबारा भेजी जाएगी।
हर फ़ाइल पर Ohanvi ने क्या जवाब दिया, यह Logs\responses में सेव रहता है।
समस्या का समाधान¶
| समस्या | कारण | समाधान |
|---|---|---|
लॉग में लिखा है कि फ़ाइल का नाम ClientName_Mobile_... जैसा होना चाहिए |
नाम तय पैटर्न से मेल नहीं खाता। | फ़ाइल का नाम बदलकर ClientName_Mobile_InvoiceNo_DD-MM-YYYY.pdf रखें। |
| लॉग में HTTP 400 है और Template का ज़िक्र है | Template का नाम गलत है, Template अप्रूव्ड नहीं है, या उसमें Document हेडर नहीं है। | TEMPLATE_NAME देखें। साथ ही Template का स्टेटस और हेडर भी देखें। |
लॉग में लिखा है कि {{n}} के लिए वैल्यू चाहिए |
VAR_ORDER में उतनी वैल्यू नहीं हैं जितने वेरिएबल Template की बॉडी में हैं। |
हर वेरिएबल के लिए CLIENT, MOBILE, INVOICE या DATE में से एक हिस्सा लिखें। |
| लॉग में HTTP 401 या 403 है | API key गलत है, कैंसिल हो चुकी है या एक्सपायर हो गई है। | नई key बनाएँ और उसे दोनों स्क्रिप्ट में पेस्ट करें। |
| लॉग में HTTP 402 है | Pay as you go प्लान के इस महीने के API मैसेज ख़त्म हो गए हैं। | ज़्यादा मैसेज भेजने के लिए कोई प्लान चुनें। |
| लॉग में लिखा है कि WhatsApp ने मैसेज रिजेक्ट कर दिया | WhatsApp ने मैसेज नहीं लिया, जैसे नंबर WhatsApp पर है ही नहीं। | लॉग की लाइन में कारण पढ़ें और नंबर ठीक करें। |
| लॉग में लिखा है कि API तक पहुँच नहीं हो पा रही | कंप्यूटर ऑफ़लाइन है या API_BASE_URL गलत है। |
इंटरनेट कनेक्शन देखें। फ़ाइलें Incoming में रहती हैं और दोबारा कोशिश होती है। |
| Tally scripts पर क्लिक करने से फ़ाइल डाउनलोड नहीं होती | डाउनलोड सिर्फ़ वेब ऐप में होता है। | Ohanvi को ब्राउज़र में खोलें। |