Export Receipt data from Tally

349 Views Asked by At

I am trying to read receipt data using Invoice Number from Tally server and i am successfully read data. Following is the request which i send to Tally and get corrected response.

<?xml version="1.0" encoding="UTF-8"?>
<ENVELOPE>  
  <HEADER>  
    <VERSION>1</VERSION>  
    <TALLYREQUEST>EXPORT</TALLYREQUEST>  
    <TYPE>COLLECTION</TYPE>  
    <ID>RTSAllVouchers_FilterForVchNoAndVchType</ID>  
  </HEADER>  
  <BODY>  
    <DESC>  
      <STATICVARIABLES>  
      <SVCURRENTCOMPANY>Company Name</SVCURRENTCOMPANY>
      
        <SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>   
        <SVFROMDATE>20170701</SVFROMDATE>
        <SVTODATE>20170731</SVTODATE>  
        <RTS_KEY>Invoice Number</RTS_KEY>
        <RTS_VOUCHERTYPENAME>Receipt</RTS_VOUCHERTYPENAME>  
      </STATICVARIABLES>  
      <TDL>  
        <TDLMESSAGE>   
          <COLLECTION NAME="RTSAllVouchers_FilterForVchNoAndVchType" ISINITIALIZE="Yes">  
              <TYPE>Voucher</TYPE>  
              
              <FETCH>NARRATION.*</FETCH>
              <FETCH>LEDGERENTRIES.LIST.*</FETCH>
              <FILTER>RTS_FilterForVchNoAndVchType</FILTER>  
          </COLLECTION>  
          <VARIABLE NAME="RTS_KEY">  
            <TYPE>String</TYPE>  
          </VARIABLE>  
          <VARIABLE NAME="RTS_VOUCHERTYPENAME">  
            <TYPE>String</TYPE>  
          </VARIABLE>  
          <SYSTEM TYPE="FORMULAE" NAME="RTS_FilterForVchNoAndVchType">  
             $ALLLEDGERENTRIES.BILLALLOCATIONS.NAME = $$String:##RTS_KEY and $VoucherTypeName = $$String:##RTS_VOUCHERTYPENAME          </SYSTEM>
        </TDLMESSAGE>  
      </TDL>  
    </DESC>  
  </BODY>  
</ENVELOPE>  

This working fine when receipt have only 1 Invoice. But in my scenario there are multiple Invoice in single receipt i.e for Single receipt Number there are multiple Invoice Number.

When I send this request to Tally then this matches only for First Invoice Number present in receipt. This request Not work for other invoice which is enter after 1st invoice.

For Example- Suppose I have Receipt with receipt Number R1. In this receipt if I add three invoices says Inv1,Inv2 and Inv3.

If <RTS_KEY>Inv1</RTS_KEY> this request send to Tally then it return correct output as receipt.

But if <RTS_KEY>Inv2</RTS_KEY> this request send then it not found any receipt .

Please help me to send request as it search for any invoice number that present in Receipt.

1

There are 1 best solutions below

0
On

This should help you with the data. As you need voucher details and ledger entries list

<ENVELOPE>
  <HEADER>
    <VERSION>1</VERSION>
    <TALLYREQUEST>EXPORT</TALLYREQUEST>
    <TYPE>DATA</TYPE>
    <ID>Voucher Register</ID>
  </HEADER>
  <BODY>
    <DESC>
      <STATICVARIABLES>
        <SVFROMDATE TYPE="DATE">20210101</SVFROMDATE>
        <SVTODATE TYPE="DATE">20210101</SVTODATE>
        <VOUCHERTYPENAME TYPE="STRING">Receipt</VOUCHERTYPENAME>
      </STATICVARIABLES>
    </DESC>
  </BODY>
</ENVELOPE>