डेवलपर गाइड

Tally Prime Sales Order XML

TallyPrime उस मशीन पर HTTP के माध्यम से वॉचर स्वीकार करता है जहाँ यह चल रहा है। यह गाइड एक पूर्ण Sales Order अनुरोध दिखाता है, हर भाग की व्याख्या करता है, और उन त्रुटियों की सूची देता है जो आपको सबसे अधिक मिल सकती हैं।

शुरू करने से पहले

  • Tally को कंपनी खुली हुई स्थिति में चलना चाहिए और सर्वर के रूप में कार्य करने के लिए सेट होना चाहिए (डिफ़ॉल्ट पोर्ट 9000)।
  • ऑर्डर प्रोसेसिंग सक्षम होनी चाहिए (F11), ताकि Sales Order वॉचर प्रकार मौजूद हो।
  • पार्टी लेजर, सेल्स लेजर, GST लेजर और हर स्टॉक आइटम पहले से मौजूद होना चाहिए, बिल्कुल उन नामों के साथ जो आप भेज रहे हैं।
  • XML सर्वर में कोई प्रमाणीकरण (authentication) नहीं है। इसे उसी मशीन से कॉल करें और पोर्ट 9000 को कभी भी उस नेटवर्क पर न खोलें जिसे आप नियंत्रित नहीं करते।

एक पूर्ण अनुरोध

यह अनुरोध उसी कोड द्वारा जनरेट किया गया था जिसे OrderDak प्रोडक्शन में उपयोग करता है, दो लाइनों वाले एक नमूना ऑर्डर से। इसे POST http://localhost:9000 के साथ और शरीर (body) को दिखाए गए अनुसार भेजें।

<ENVELOPE>
 <HEADER><TALLYREQUEST>Import Data</TALLYREQUEST></HEADER>
 <BODY>
  <IMPORTDATA>
   <REQUESTDESC>
    <REPORTNAME>Vouchers</REPORTNAME>
    <STATICVARIABLES><SVCURRENTCOMPANY>Sample Electricals Distributors</SVCURRENTCOMPANY></STATICVARIABLES>
   </REQUESTDESC>
   <REQUESTDATA>
    <TALLYMESSAGE xmlns:UDF="TallyUDF">
     <VOUCHER VCHTYPE="Sales Order" ACTION="Create" OBJVIEW="Invoice Voucher View">
      <DATE>20261017</DATE>
      <VOUCHERTYPENAME>Sales Order</VOUCHERTYPENAME>
      <REFERENCE>MES/PO/2026-27/0412</REFERENCE>
      <PARTYLEDGERNAME>Mehta Electric Stores</PARTYLEDGERNAME>
      <PARTYNAME>Mehta Electric Stores</PARTYNAME>
      <PERSISTEDVIEW>Invoice Voucher View</PERSISTEDVIEW>
      <ISINVOICE>Yes</ISINVOICE>
      <LEDGERENTRIES.LIST>
       <LEDGERNAME>Mehta Electric Stores</LEDGERNAME>
       <ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>
       <ISPARTYLEDGER>Yes</ISPARTYLEDGER>
       <AMOUNT>-65608.00</AMOUNT>
      </LEDGERENTRIES.LIST>
      <LEDGERENTRIES.LIST>
       <LEDGERNAME>CGST</LEDGERNAME>
       <ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
       <AMOUNT>5004.00</AMOUNT>
      </LEDGERENTRIES.LIST>
      <LEDGERENTRIES.LIST>
       <LEDGERNAME>SGST</LEDGERNAME>
       <ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
       <AMOUNT>5004.00</AMOUNT>
      </LEDGERENTRIES.LIST>
      <ALLINVENTORYENTRIES.LIST>
       <STOCKITEMNAME>FR PVC Insulated Wire 1.5 sqmm Red 90m</STOCKITEMNAME>
       <ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
       <RATE>1540.00/Coil</RATE>
       <AMOUNT>30800.00</AMOUNT>
       <ACTUALQTY> 20 Coil</ACTUALQTY>
       <BILLEDQTY> 20 Coil</BILLEDQTY>
       <BATCHALLOCATIONS.LIST>
        <GODOWNNAME>Main Location</GODOWNNAME>
        <BATCHNAME>Primary Batch</BATCHNAME>
        <ORDERNO>MES/PO/2026-27/0412</ORDERNO>
        <AMOUNT>30800.00</AMOUNT>
        <ACTUALQTY> 20 Coil</ACTUALQTY>
        <BILLEDQTY> 20 Coil</BILLEDQTY>
        <ORDERDUEDATE P="22-Oct-2026">22-Oct-2026</ORDERDUEDATE>
       </BATCHALLOCATIONS.LIST>
       <ACCOUNTINGALLOCATIONS.LIST>
        <LEDGERNAME>Sales GST 18%</LEDGERNAME>
        <ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
        <AMOUNT>30800.00</AMOUNT>
       </ACCOUNTINGALLOCATIONS.LIST>
      </ALLINVENTORYENTRIES.LIST>
      <ALLINVENTORYENTRIES.LIST>
       <STOCKITEMNAME>FR PVC Insulated Wire 2.5 sqmm Red 90m</STOCKITEMNAME>
       <ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
       <RATE>2480.00/Coil</RATE>
       <AMOUNT>24800.00</AMOUNT>
       <ACTUALQTY> 10 Coil</ACTUALQTY>
       <BILLEDQTY> 10 Coil</BILLEDQTY>
       <BATCHALLOCATIONS.LIST>
        <GODOWNNAME>Main Location</GODOWNNAME>
        <BATCHNAME>Primary Batch</BATCHNAME>
        <ORDERNO>MES/PO/2026-27/0412</ORDERNO>
        <AMOUNT>24800.00</AMOUNT>
        <ACTUALQTY> 10 Coil</ACTUALQTY>
        <BILLEDQTY> 10 Coil</BILLEDQTY>
        <ORDERDUEDATE P="22-Oct-2026">22-Oct-2026</ORDERDUEDATE>
       </BATCHALLOCATIONS.LIST>
       <ACCOUNTINGALLOCATIONS.LIST>
        <LEDGERNAME>Sales GST 18%</LEDGERNAME>
        <ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
        <AMOUNT>24800.00</AMOUNT>
       </ACCOUNTINGALLOCATIONS.LIST>
      </ALLINVENTORYENTRIES.LIST>
     </VOUCHER>
    </TALLYMESSAGE>
   </REQUESTDATA>
  </IMPORTDATA>
 </BODY>
</ENVELOPE>

हर भाग क्या करता है

  • Envelope: TALLYREQUEST में Import Data, REPORTNAME में Vouchers, और SVCURRENTCOMPANY में कंपनी का नाम Tally में दिखने के बिल्कुल उसी रूप में लिखा जाता है।
  • तारीखें: DATE में YYYYMMDD का प्रयोग होता है। बैच अलोकेशन के भीतर ऑर्डर की देय तारीख Tally के प्रदर्शन रूप में होती है, जैसे 22-Oct-2026।
  • साइन नियम: डेबिट ISDEEMEDPOSITIVE Yes के साथ ऋणात्मक होते हैं; क्रेडिट No के साथ धनात्मक होते हैं। सेल्स ऑर्डर में पार्टी को GST सहित कुल राशि के लिए डेबिट किया जाता है, और सेल्स तथा GST लीजर को क्रेडिट किया जाता है। वॉचर शून्य पर संतुलित होना चाहिए।
  • इन्वेंट्री प्रविष्टियाँ: दर में इकाई शामिल होती है (1540.00/Coil), मात्रा में आगे खाली स्थान और इकाई होती है ( 20 Coil), और अकाउंटिंग अलोकेशन में सेल्स लीजर का नाम होता है।
  • बैच अलोकेशन: गोदाम (Main Location यदि गोदाम बंद हों), ऑर्डर नंबर और देय तारीख रखती है।
  • GST: अपने राज्य के भीतर की बिक्री के लिए CGST और SGST लीजर भेजें, दूसरे राज्य में बिक्री के लिए IGST। कुछ सेटअप्स में Tally स्टॉक आइटम से कर की गणना करता है; देखने के लिए अपनी कंपनी से एक हाथ से बनाया गया सेल्स ऑर्डर निर्यात करें कि कौन सा लागू होता है।
  • Escape: Mehta & Co जैसे नामों को Mehta &amp; Co के रूप में लिखना होगा।

प्रतिक्रिया का पठन

<RESPONSE>
  <CREATED>1</CREATED>
  <ALTERED>0</ALTERED>
  <LASTVCHID>812</LASTVCHID>
  <ERRORS>0</ERRORS>
</RESPONSE>

सफलता का अर्थ है CREATED में 1 और ERRORS में 0। बाद में वॉचर बदलने या रद्द करने के लिए LASTVCHID रखें। जब कुछ विफल हो, तो ERRORS शून्य से अधिक होता है और LINEERROR कारण बताता है।

सामान्य त्रुटियाँ

  • स्टॉक आइटम या लीजर मौजूद नहीं है: नाम Tally से अंतर, खाली स्थान, अक्षर के आकार या बिंदु के कारण भिन्न है। पहले Tally से मास्टर पढ़ें और उनसे मिलाएँ।
  • वाउचर कुल मेल नहीं खा रहे: राउंडिंग। टैक्स और पार्टी राशि जोड़ने से पहले प्रत्येक पंक्ति को दो दशमलव स्थानों तक राउंड करें।
  • वाउचर प्रकार मौजूद नहीं है: ऑर्डर प्रोसेसिंग बंद है, या वाउचर प्रकार का नाम बदल दिया गया है।
  • कुछ नहीं होता: कोई कंपनी खुली नहीं है, या Tally सर्वर के रूप में चल नहीं रहा है।

क्या आप इसे स्वयं बनाना और बनाए रखना नहीं चाहते?

OrderDak आपके ग्राहकों के खरीद ऑर्डर पढ़ता है, उन्हें आपके स्टॉक आइटम से मिलाता है और ऊपर दिए गए जैसा सेल्स ऑर्डर पोस्ट करता है, जिसमें कीमत, क्रेडिट और स्टॉक की जाँच शामिल है।