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

Saturday, January 10, 2009

Tally 9 - Support for UNICODE characters

Support for UNICODE characters is available in Tally 9. This post deals with some issues relating to UNICODE.

1) When we programmatically import / export data from Tally 9, the default character-set used by Tally Software is ASCII.

2) However, in case if NO Company is opened in Tally 9 and we programmatically send a SQL-Request to Tally (like to check if any company is open or not), the RESPONSE received from Tally is always in UNICODE. This may cause error as generally the Tally Integration programs written now-a-days do not provide support for handling UNICODE characters. This prima-facia appears to be a BUG in Tally 9, but has not been confirmed by Tally Solutions, Bangalore as of now.

BUG
Tally 9 returns data in UNICODE even though the character-set is set as ASCII (i.e. UNICODE="No"). This occurs when we send a SQL-Request to Tally when NO company is open in Tally 9. It does not occur in any other situations tested by us till now.



Sunday, December 14, 2008

Tally SQL-SELECT returns incorrect results at times

While using SQL-SELECT to retrieve Tally data, we found that in certain cases, Tally Software returns incorrect results. This problem prima-facia appears to be a bug in Tally.

The BUG relating to SQL-SELECT statements
The SQL-SELECT statement in Tally returns incorrect result when some specific characters are used like period (a dot).

Steps to replicate the problem:-

Step 1
Create a new Company in Tally (we tested it with Tally 7.2, Tally 9 Release 2.14, Tally 9 Release 3 [Beta])

Step 2
Select option "Gateway of Tally >> F12 >> Accts / Inventory Info". Next, set the option "Use PART NUMBERS for Stock Items" to YES under the section "Inventory Masters"

Step 3
Next, create two Stock Items using option "Gateway of Tally >> Inventory Info >> Stock Items >> Create" as shown below:-

STOCKNAME PARTNUMBER
Cylinder 100
Cyl. Block 101

Step 4
Try out the using following SQL-SELECT statement.

SELECT $Name,$AdditionalName FROM Ledger where $Name="Cylinder"

Result:-
Correct. You get one record.

Step 5
Next, try out the following SQL-SELECT statement.

SELECT $Name,$AdditionalName FROM Ledger where $Name="Cyl. Block"

Result:-
Incorrect. There is no output even though the Stock-Item "Cyl. Block" exists in Tally.

Step 6
Next, try out the following SQL-SELECT statement.

SELECT $Name,$AdditionalName FROM Ledger where $Name="Cyl Block"

Result:-
Correct. You get one record.

Conclusion

Case 1 (refer Step 5)
$Name="Cyl. Block" does not work even though the Stock Item exists in Tally. This is because we have used a dot (period) i.e (Cyl. Block)

Case 2 (refer Step 6)
$Name="Cyl Block" works fine and the query returns data.

Wednesday, November 12, 2008

EFFECTIVE DATE in Tally Software

FAQs: What is the usage of EFFECTIVE DATE in Tally

The HELP menu in Tally describes EFFECTIVE DATE. Refer topic Voucher-types which provides explanation for Effective Date. The same is given below for your reference.

Use EFFECTIVE dates for vouchers?

Select Yes if you want to enter effective dates for vouchers. You would opt for this if you have instances where a transaction under consideration for overdue/ageing analysis is recorded currently but will take effect from another date. If effective date is entered, the overdue/ageing will be considered from the effective date and not from voucher date.


Monday, September 22, 2008

Escape Sequences in XML, XSL

What is an Escape Sequence ?

"An Escape sequence is a series of characters which cause an escape from normal interpretation".

Escape sequences use a Special (Escape) character to change the meaning of characters that follow it.

For example, you cannot use the & (ampersand sign) in XML as you would normally use it elsewhere. The & (ampersand sign) is a special character and is to be used differently in XML.

This tag contains incorrect value.
<NAME>ABC & Company Ltd</NAME>

Here's the corrected tag.
<NAME>ABC &amp; Company Ltd</NAME>

XML Escape Sequences

In XML, there are 5 Escape sequences. Refer this link for more information on XML Escape sequences.

XSL Escape Sequences

XML Escape sequences are well documented and you can get lot's of information about it. But, what about using special characters in XSL ?

Well, the Escape sequences used in XML do NOT work in XSL. Now, let's try understand this.

Task 1
Search for all LEDGER nodes that have an attribute named NAME which contains "some-value".

This works fine.

//LEDGER[@NAME='some-value']

Task 2
Search for all LEDGER nodes that have an attribute named NAME which contains "Here's a special one".

This does not work :-

//LEDGER[@NAME="Here's a special one"]

This does not work :-

//LEDGER[@NAME='Here&apos;s a special one']

This WORKS!!!

//LEDGER[@NAME='Here\'s a special one']

Remarks:-
In Task 2, we search for a text-value that contains a special character ( ' ) .i.e. an apostrophe.



Friday, September 19, 2008

Tally Software || What is a Cancelled Voucher ?

Deleted voucher Vs Cancelled voucher

Deleting a Voucher

You can use Alt+D to manually delete a Voucher in Tally Software. When you delete a voucher, the Voucher and its effect is removed from the Tally Software.

Cancelling a Voucher

You can use Alt+X to manually cancel a Voucher in Tally Software. Cancelling a Voucher does not delete/remove the Voucher from Tally; but its effect is removed. In simple words, the Cancelled Voucher still appears in Tally; but it's effect is not reflected in Books of Accounts.

The XML tag <ISCANCELLED> is used to programmatically specify whether the Voucher is Cancelled or not.


Monday, September 15, 2008

Tally Group-Master XML tags contain Invalid unicode character

This prima-facie appears to be a BUG with Tally 9 and Tally 7.2

Steps to replicate the PROBLEM
1) Use the following SQL-SELECT to retrieve Tally data :-

Select $name , $parent from GROUPS

2) Extract of the XML-output generated by the above SQL-SELECT is given below for your reference:-

<ROW>
<COL>Branch / Divisions</COL>
<COL>&#4; Primary</COL>
</ROW>

Notice the line shown in RED color. It contains an invalid unicode character. When you load the data in XML DOM object, it does not work as there is an INVALID UNICODE CHARACTER.

This problems occurs even with Tally 7.2 which does not support UNICODE.


Thursday, August 28, 2008

Tally 9 Release 3 BETA issues

Tally Solutions, Bangalore has come out with a new Release of Tally Software. i.e. Tally 9 Release 3 Beta.

What is BETA Software?
Beta is a nickname for software which has passed the alpha testing stage of development and has been released to a limited amount of users for software testing before its official release.

Tally 9 Release 3 BETA
Some new and advanced features have been introduced in the Tally 9 Release 3 which relate to :-
a) Tally Synchronization
b) Accessing Tally data over Internet

The new features and functionality are applaudable. However, this is a BETA version and many problems have been reported with this new Release 3 BETA. As there are several issues; I am not putting up all the problems / issues here.

As a result we advice all our Customers (users of RTSlink DLL and UDIMagic software) to wait till Tally Solutions, Bangalore comes out with a stable Release.


Saturday, July 12, 2008

Programmatically create a Company in Tally

FAQs: Can I programmatically create a Company in Tally ?

No. This has been confirm by Tally Solutions, Bangalore. Maybe, in future this may be supported.

Sunday, June 29, 2008

Tally 9 bug - Importing Standard Cost / Price data

Recently, we noticed a problem while importing the Standard Price data into Tally 9. Though this issue is NOT yet officially confirmed by Tally Solutions-Bangalore, it prima facie appears to be a BUG with Tally 9.

Preface
One of our Clients provided an Excel sheet that contained Stock-Item Masters with Standard-Price details (i.e. Standard Price Effective Date and Rate). The objective was to update the new PRICE-LIST in Tally 9.

Problem
On importing the Stock-Item Masters with Standard Price Date/Rate into Tally 9, the existing Standard-price data was overwritten.

On further analysis, we noticed :-

1) Tally 7.2 and Tally 9 behave/function differently when we import the Standard-Cost and Standard-Price data (into Stock-Item Master).
2) Tally 7.2 appends the Standard Cost / Price data to the existing Standard Cost/Price data.
3) Tally 9 overwrites the existing Standard Cost / Price data.

Here are the steps to check-out the same.

STEP 1
Create (manually create) a Stock-Item master in both Tally 7.2 and Tally 9. The details as given below:-

NAME: Bush
PARENT: Spares
UNIT: Nos
ALTER STANDARD COST/PRICE: Yes
Under the Standard Price, enter the following:-
Date: 01-04-2008
Rate: 100



STEP 2
Download the XML file which contains Standard Price data for 01-05-2008.

STEP 3
Now, try importing the Standard Price data from this XML file into Tally 7.2 and Tally 9.

For Tally 7.2, use Option "Gateway of Tally >> Import Masters"
For Tally 9, use Option "Gateway of Tally >> Import of Data >> Masters"

Notice, that the existing data for 01-04-2008 gets overwritten in Tally 9, whereas in Tally 7.2 it gets appended to the existing Standard Price data.



Monday, May 19, 2008

Tally 9 Release 2.12 - XML tags bug has been rectified

The bug in Tally 9 Release 2.1 relating to XML tags in proper-case issue has been rectified in Tally 9 Release 2.12.

In March 2008, we had noticed it and had put it up at this blog-site. For those who are not aware of it, can read it here.

Now, in Tally 9 Release 2.12 when we export Masters or Vouchers, the XML tags that are generated are in UPPER-CASE and this is in line with Older versions of Tally except for Tally 9 Release 2.1 wherein the XML tags were generated in Proper-case.