I am new to TDL development I am using Code: <?xml version="1.0" encoding="utf-8" ?> <ENVELOPE> <HEADER> <TALLYREQUEST> Export Data </TALLYREQUEST> </HEADER> <BODY> <EXPORTDATA> <REQUESTDESC> <STATICVARIABLES> <SVFROMDATE> 20210101 </SVFROMDATE> <SVTODATE> 20210116 </SVTODATE> <VOUCHERTYPENAME> Purchase </VOUCHERTYPENAME> <EXPLODEFLAG> Yes </EXPLODEFLAG> <SVEXPORTFORMAT> $$SysName: XML </SVEXPORTFORMAT> </STATICVARIABLES> <REPORTNAME> Voucher Register </REPORTNAME> </REQUESTDESC> </EXPORTDATA> </BODY> </ENVELOPE> The above mention XML request successfully gives me the list of purchase voucher. All the invoice level information can be found in ENVELOPE/BODY/IMPORTDATA/REQUESTDATA/TALLYMESSAGE node. each TALLYMESSAGE node consist of all the invoice level information and comes with multiple LEDGERENTRIES.LIST nodes which then consist of multiple amount fro eg. Code: <LEDGERENTRIES.LIST> <AMOUNT>123</AMOUNT> </LEDGERENTRIES.LIST> <LEDGERENTRIES.LIST> <AMOUNT>-12</AMOUNT> </LEDGERENTRIES.LIST> <LEDGERENTRIES.LIST> <AMOUNT>-12</AMOUNT> </LEDGERENTRIES.LIST> These negative values denotes the tax amount but i am unable to find a way to identify the type of tax (CGST,IGST,SGST) in the voucher. Is there any way to identify the type of tax. I also posted this question on stack overflow (https://stackoverflow.com/questions/66437037/how-to-find-tax-type-in-tally-xml-export) maybe this will help you under stand my problem better.
Here it is. This is the case of IGST. DOnt get confused by LEDGERNAME node as it can be changed from tally. i want a generic identifier. https://codebeautify.org/xmlviewer/cb341373 Moreover i cosidered a case where STATE and SUPPLY sate are equal then CSGT adn SGST is applicable but this fails in case of SEZ.
In order to distinguish Tax ledgers, We need to have information like its parent name (Duties & Taxes) and Gst Duty Type (Central,State,Integrated) But there is no such information in the response and its normal because we are asking about only purchase vouchers, not Masters information So we only get information regarding voucher-like (Ledger name, amount, is deemed positive..) So if you want to identity GST types, there are 3 ways : 1)You need to store ledger information, so you can compare it with your storage cache to identify whether the ledger is a GST duty ledger and its type. 2)You need to get Ledgers information like(parent, GST duty type, etc....) in the response 3)Creating a custom collection, where you can whatever information you want.
Ok, i tried this but again i am stuck on the same thing i.e. Ledger name can be altered. If we put all the duties and taxes under specific group and try to fetch which all ledgers that fall under duties and taxes group, but again group names can also be changed. moreover if i knew that specific ledger name falls under duties and taxes group then i could have solved the issue from the above mentioned response as it also contains that ledger name (INPUT SGST/CGST/IGST)
Let me clarify one thing For every master (Accounting) there is one method $_PrimaryGroup That cannot be changed irrespective of ledger name, group name, etc... Tax ledgers Primary Group will be Duties and Taxes (Never change, even if you change group name) So you check whether the Primary group is Duties and Taxes or not. Second: Ledger name can be altered Yes names can be changed, but GUID cannot be changed So you have to match or compare Ledgers using their GUID.
i am new to tally development. I guess according to below attached image INPUT CSGT falls under Duties And Taxes (name changed from duties & taxes). The XML request i am sending is Code: <ENVELOPE> <HEADER> <TALLYREQUEST>Export Data</TALLYREQUEST> </HEADER> <BODY> <EXPORTDATA> <REQUESTDESC> <STATICVARIABLES> <SVFROMDATE>20190101</SVFROMDATE> <SVTODATE>20210301</SVTODATE> <GROUPNAME>Duties And Taxes</GROUPNAME> </STATICVARIABLES> <REPORTNAME>GST</REPORTNAME> </REQUESTDESC> </EXPORTDATA> </BODY> </ENVELOPE> TBH i don't know what should be the report name so i tried hit and trial and every time i got response was unable to find report name. I Used Group Voucehr as REPORTNAME and used Duties And Taxes as Group name and i got the appropriate response, But names can be changes (like my request dsnt work for duties & taxes). please help me crafting xml request for fetching the required info that can tell me thetax type. please help
tH That was just for RnD. Right now all i want is to identify the type of tax imposed in purchase register via XML. last thing i did was used the code in #7 post where i changed the report name to Group Voucher and Group name to duties and taxes. But the problem is this group name can be changed by tally user. i want to be in a blackbox condition where i dont know anything about the users tally not even the ledger or group name that handles the tax value.
<DBIncludeFamily>Yes</DBIncludeFamily> Code: <?xml version="1.0" encoding="utf-8" ?> <ENVELOPE> <HEADER> <TALLYREQUEST> Export Data </TALLYREQUEST> </HEADER> <BODY> <EXPORTDATA> <REQUESTDESC> <STATICVARIABLES> <SVFROMDATE> 20210101 </SVFROMDATE> <SVTODATE> 20210116 </SVTODATE> <VOUCHERTYPENAME> Purchase </VOUCHERTYPENAME> <EXPLODEFLAG> Yes </EXPLODEFLAG> <DBIncludeFamily>Yes</DBIncludeFamily> <SVEXPORTFORMAT> $$SysName: XML </SVEXPORTFORMAT> </STATICVARIABLES> <REPORTNAME> Voucher Register </REPORTNAME> </REQUESTDESC> </EXPORTDATA> Now in response tally will send all the master's information involved in the voucher, so you can identify whether the ledger is a duty ledger and its tax type.