A blog on Tally Integration, to import and export data from Tally.ERP programmatically using VB6, VB.NET,C#,ASP.NET etc

Thursday, March 20, 2008

Tally 9 Release 2.1 has a major BUG!!!

We have recently noticed a major issue with Tally 9 Release 2.1. Though this issue is NOT yet officially confirmed by Tally Solutions-Bangalore, it prima facie appears to be a BUG.

What is the BUG ?

This BUG relates to XML tags that are generated when data is exported from Tally 9 Release 2.1 either manually or programmatically. The XML tags names in Tally 9 Release 2.1 have been changed.

You can verify the same using the following option in Tally:-
Gateway of Tally -> Display -> Daybook -> Alt+E

Now, let's have an in-depth look at this issue. XML tags for both Tally 9 Release 2.1 and Release 2.0 have been provided underneath for your reference.

Tally 9 Release 2.1 exported XML Tags (extracts)

<Voucher REMOTEID="ea93b61d-be0a-4c3d-a725-55de09b86d37-00000001" VCHTYPE="Purchase" ACTION="Create">
<Date>20080331</Date>
<GUID>ea93b61d-be0a-4c3d-a725-55de09b86d37-00000001<GUID>
...other tags...
</Voucher>

Now, just look at the XML tags generated by Tally 9 Release 2.0 (or lower version)

<VOUCHER REMOTEID="ea93b61d-be0a-4c3d-a725-55de09b86d37-00000001" VCHTYPE="Purchase" ACTION="Create">
<DATE>20080331</DATE>
<GUID>ea93b61d-be0a-4c3d-a725-55de09b86d37-00000001<GUID>
...other tags...
</VOUCHER>

Noticed anything. No, not yet. No problem, just continue reading....

XML tags are case-sensitive
Yes. XML tags are case-sensitive. Notice that the Tags generated by Tally 9 Release 2.1 are in proper-case whereas in the previous Releases the XML tags were in upper-case. In simple words, <Voucher> is not the same as <VOUCHER>

Tally 9 Release 2.1 generates this :-
<Voucher>

Tally 9 Release 2.0 or previous version generates this:-
<VOUCHER>

Who all will be affected by this ?
End-users and programmers both who are using or have developed DATA transformation modules. Like converting Sales data of one Company as Purchase data for another Company.

There might be several other situations wherein this issue might create problems. One of such situations is given below.

Technical stuff for programmers
This will NOT work with Tally 9 Release 2.1 but works with previous Tally versions
SelectNodes('//VOUCHER')

This will work with Tally 9 Release 2.1 but will NOT work with previous Tally versions
SelectNodes('//Voucher')

Solution for this BUG

As the aforesaid BUG will affect some specific type of programs only, developers need to understand and analyze whether their programs would be affected in Tally 9 Release 2.1 or not. If your program is affected, then changes need to be done in your code/program.

Alternative 1
One solution for the above issue is to convert all nodes-names (XML-tag names) to upper-case and then do the processing. In other words, the XML-tags that are generated by Tally 9 Release 2.1 which are in proper-case need to be converted into upper-case, so that there is uniformity.

Alternative 2
Another alternative is to keep provision for both types of XML-tags (i.e. having XML-tags with proper-case and upper-case) in your programs.

The last and the easiest is to wait for Tally Solutions, Bangalore to fix this issue or advice your Client to use Tally 9 Release 2.0 (and not Release 2.1).



No comments: