Effortlessly Automate Next Invoice Number Generation in Google Sheets with HTML Invoice Apps Script

Learn how to automate the process of generating the next invoice number in Google Sheets using HTML Invoice Apps Script. With this easy-to-follow guide, you can set up an automatic system that ensures each new invoice is numbered sequentially and accurately. Say goodbye to manual numbering and streamline your invoicing process today!

Welcome Friends, मैं हूं संदीप निगम और आज मैं आपको बताने वाला हूं किस तरह से आप Google Sheet में Apps Script का उपयोग कर कोई HTML Invoice बना रहे हैं तो उसमें Next Invoice Number किस तरह से Generate कर सकते हैं आज के इस आर्टिकल में मैं आपको बहुत ही सरल भाषा में समझाऊंगा।

Next Invoice Number Generate करने के लिए हमें 2-Step में काम करना होगा।

  • Step 1 :  Apps Script Code : इसमे हम अभी तक की जो invoice बनी हैं उसमे से max number find करेंगे और उसमे +1 कर वैल्यू को Return कर देंगे ।
  • स्टेप 2 : हमे जो Apps Script से नया Number Generate किया हैं उसकी वैल्यू JavaScript मे Get कर उस वैल्यू को Invoice पर Invoice Number वाले Column पर Set कर देंगे।

यहा पर हमने हमारे पिछले आर्टिकल (Complete Invoice with Calculation + Print (Bootstrap + JS + jQuery) its Free) मे यह HTML Bootstrap Invoice बनाई थी इस Invoice की किस तरह से Scratch से बनाया हैं यह देखने के लिए यहाँ क्लिक करे ।


Step 1: Apps Script code for Next Invoice Number Generation

इस Apps Script Code में हमने एक Google Sheet को कनेक्ट किया है और उसमें से जो Invoice Number वाला Column है उस कॉलम में से जो भी Max Invoice Number है उसको हमने Find किया है और उसमें +1 यानी कि 1 जोड़ कर उस Invoice Number को Return किया है आइए मैं आपको एक एक स्टेटमेंट का अर्थ समझाता हूं, प्रत्येक स्टेटमेंट के पीछे मैंने कमेंट में Number से लिखे हैं जैसे 01, 02, 03 आदि,  और उस नंबर पर मैंने नीचे की तरफ प्रत्येक नंबर का उपयोग समझाया है।

let MySheets = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/...");//01                                       
let InvSheet = MySheets.getSheetByName("Inv");                       //02 
function doGet(e) {
  let page = e.parameter.page;                                       //03 
  if (page == null || page == undefined) {                      
    page = "index";
    return HtmlService.createTemplateFromFile(page).evaluate();
  }
  else if (page == 'max') {                                           //04
    let table = InvSheet.getRange("A:A").getValues().filter(Number);  //05
    let myMax = Math.max(...table) + 1 ;                              //06
    return ContentService.createTextOutput(myMax);                    //07
  }
}
  • 01 : जिस Google Sheet से हमें डाटा लेना है उस Sheet की लिंक हमें यहां पर लिखना होती है।
  • 02 : यहां पर हमने जो Sheet सिलेक्ट कि हैं उसमें बहुत से अलग-अलग पेजेस होते हैं तो उसमें से जिस पेज पर हमारा Invoice का डाटा है उस पेज का नाम यानी Sheet का नाम हमें यहां पर लिखना है ।
  • 03 : doGet Function में जो हमारे पास पैरामीटर आते हैं उन पैरामीटर में हम “Page” में वह वैल्यू पहुंचाते हैं जिस से रिलेटेड Function हमें चलाना है यहां पर हम पैरामीटर पेज की वैल्यू एक वेरिएबल में Get करेंगे।
  • 04 : हमने अभी एक पेज Variable में Parameter Page की Value Set की थी उसमें हम यहां पर Value (Max) को यहां पर चेक करेंगे।
  • 05 : यहां पर हमने रेंज में A:A लिया है यानी कि जो पहला Column में उसकी वैल्यू हमने यहां पर एक Array में ली है और Filter(Number) का उपयोग कर जो हमने केवल वही Value Get की हैं जिसमें नंबर है, Blank Cell को हमने यहां पर नहीं लिया है ।
  • 06 : यहां पर हमने Array मे जो Max value हैं उसे Find की है। और उस Value मे +1 किया है।
  • 07 : यहा से जो Final Value थी myMax उसे Return किया हैं।

इसके बाद हम Apps Script को Deploy करेंगे और Deploy करने के बाद जो Link आएगी उसे JavaScript में उपयोग करेंगे। Apps Script Project को किस तरह से Deploy कैसे किया जाता है यह समझने के लिए पढे ।

Related Video : How to Generate Next Invoice Number


Step 2 : JavaScript Code for Get Max Number from Apps Script and Set on HTML

यहां पर हम JavaScript का उपयोग करें हमने जो अभी Apps Script से Project Deploy किया था उस Link को Paste कर उसमें पैरामीटर Page मे “max” Pass कर वहां से जो हमें Next Invoice Number मिलेगा उसे Get कर HTML में सेट कर देंगे।

function MaxInv()
{
       //01
        $.getJSON("https://script.google.com/macros/s/"+AppsScriptLink+"/exec?page=max", 
        function (data) {
             $("input[name='inv_no']").val(data); //02
        });
}
  • 01: AppsScriptLink की जगह पर आपने जो अभी प्रोजेक्ट Deploy किया था वह लिंक आपको Paste करना हैं ।
  • 02: HTML के जिस भी Element पर Next Invoice Number सेट कराना चाहते हैं वह आप यहां पर लिख दीजिएगा।

हमने यहां पर HTML में jQuery CDN Use की है इसलिए हमने jQuery Syntax का उपयोग किया हैं ।

अब उपरोक्त Function MaxInv() को जो अभी हमने बनाया है उसे Page Load पर कल कॉल कर देंगे

$(document).ready(function () {
     MaxInv();
});

इतना करने के बाद JavaScript Page को Save करेंगे और आपका जो भी HTMLपेज होगा आप उसे रिफ्रेश करेंगे और Preview देखेंगे तो यह Program Next Invoice Number HTML पर Set कर देगा।

इस Article मे हमने किसी भी How to Generate Next Invoice Number के बारे मे बताया हैं आशा हैं की आपको यह Article बहुत अच्छे से समझ मे आ गया होगा।

आपको यह Article (How to Generate Next Invoice Number) कैसा लगा ? बताना न भूले, मिलते हैं Next Article मे Thanks for Reading ।

हमारे अन्य आर्टिकल

Add a Comment

Your email address will not be published. Required fields are marked *