1

I am trying to fetch stock item from TallyErp 9. I am able to get particular item details using xml tags but now I require item should come same as that of Tally,i.e on entering search param it should give all stock item related to my search keyword. My Current code to fetch single stock item details is as follows:

`

<?xml version=1.0 encoding=UTF-8>
  <ENVELOPE>
      <HEADER>
        <VERSION>1</VERSION>
        <TALLYREQUEST>EXPORT</TALLYREQUEST>
        <TYPE>OBJECT</TYPE>
        <SUBTYPE>stock item</SUBTYPE>
        <ID TYPE="Name">`+ searchValue + `</ID>
      </HEADER>
      <BODY>
          <DESC>
            <STATICVARIABLES>
               <SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
            </STATICVARIABLES>
            <FETCHLIST>
               <FETCH>OpeningValue</FETCH>
               <FETCH>OpeningRate</FETCH>
               <FETCH>OpeningBalance</FETCH>
               <FETCH>ClosingBalance</FETCH> 
               <FETCH>ClosingRate</FETCH> 
               <FETCH>STANDARDPRICELIST.RATE</FETCH>
           </FETCHLIST>
       <TDL>
         <TDLMESSAGE>
           <OBJECT NAME="stock item" ISINITIALIZE="Yes">
          </OBJECT>
         </TDLMESSAGE>
      </TDL>
        </DESC>
      </BODY>
    </ENVELOPE></xml>

`

Here I am passing searchValue from input box and getting all request successfully. Looking forward some answers which can really help me.

Thanks in advance.

Saquib Akhter
  • 130
  • 11

2 Answers2

2

This XML request retrieves all stockitem names from Tally ERP 9 wherein the StockItem Name starts with 'My Item' or the StockItem Alias starts with 'My Item'.

Example: My Item1 (Name starts with My Item)
My Item2 (Name starts with My Item)
ABC (Alias starts with My Item)

As you can see, even though the third StockItem Name is 'ABC', it is returned by the query as the Alias starts with 'My Item'

Here's the XML request :

<ENVELOPE>
  <HEADER>
    <TALLYREQUEST>Export Data</TALLYREQUEST>
  </HEADER>
  <BODY>
    <EXPORTDATA>
      <REQUESTDESC>
        <REPORTNAME>ODBC Report</REPORTNAME>
        <SQLREQUEST Type='General' Method='SQLExecute'>Select $Name from StockItem where $Name like 'My Item%' or $$Alias like 'My Item%'</SQLREQUEST>
        <STATICVARIABLES>
          <SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
        </STATICVARIABLES>
      </REQUESTDESC>
      <REQUESTDATA/>
    </EXPORTDATA>
  </BODY>
</ENVELOPE>

References : https://www.rtslink.com

1

Here's a sample XML request to fetch a specific StockItem from Tally ERP 9.

<ENVELOPE>
  <HEADER>
    <VERSION>1</VERSION>
    <TALLYREQUEST>EXPORT</TALLYREQUEST>
    <TYPE>COLLECTION</TYPE>
    <ID>RTS_StockItem</ID>
  </HEADER>
  <BODY>
    <DESC>
      <STATICVARIABLES>
        <SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
        <!-- TODO : Values passed to Filter -->
        <!-- Specify the StockItem -->
        <RTS_KEY>Item 4 [GST test]</RTS_KEY>
      </STATICVARIABLES>
      <TDL>
        <TDLMESSAGE>
          <!-- Retrieve specified StockItem -->
          <COLLECTION NAME="RTS_StockItem" ISINITIALIZE="Yes">
            <TYPE>StockItem</TYPE>
            <FETCH>*</FETCH>
            <FILTER>RTS_FilterSingleStockItem</FILTER>
          </COLLECTION>
          <VARIABLE NAME="RTS_KEY">
            <TYPE>String</TYPE>
          </VARIABLE>
          <SYSTEM TYPE="FORMULAE" NAME="RTS_FilterSingleStockItem">
            $Name = $$String:##RTS_KEY
          </SYSTEM>
        </TDLMESSAGE>
      </TDL>
    </DESC>
  </BODY>
</ENVELOPE>

In the aforesaid XML request, we fetch Collection from Tally ERP 9. A filter is applied to the Collection to export a specified StockItem record. The tag <FETCH>*</FETCH> specifies that all methods / fields are to be retrieved from Tally Software.

Additional References : https://www.rtslink.com

  • I have tried your xml tag but I am not getting what this RTS_StockItem and RTS_KEY. It is returning me empty collection though I am passing stockItem name. – Saquib Akhter Mar 02 '18 at 07:09
  • You need to pass the StockItem Name in the tag RTS_KEY – Shweta Softwares Mar 03 '18 at 10:52
  • You need to pass the StockItem Name in the tag RTS_KEY. See the extracts underneath :
    $$SysName:XML Item 4 [GST test]
    – Shweta Softwares Mar 03 '18 at 10:53
  • Yes I am passing stockItem Name, In response I am getting details of only one stock item, Though I requre tally like autto suggestion if I type stock name partially as well it should give all stock item related to my keywords. – Saquib Akhter Mar 05 '18 at 10:39
  • Is there a way to delete a stock item using XML? I am trying ``, but it causes the TAlly application to crash. – notANerdDev Mar 10 '22 at 14:28