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

Thursday, December 16, 2010

An Attempt was made to load a program with an incorrect format

The aforesaid error generally appears when you try to use a 32 bit program in 64 bit OS.

To resolve the error (while using RTSlink DLL), you must change/ set the "Compiler - CPU Type" as X86 instead of "Any".

Tuesday, September 21, 2010

Tally ERP 9 Release 2.0 - Stock Journal XML tags bug

Tally ERP 9 Release 2.0 - Bug Internal ID 7783

Stock Journal vouchers when exported manually (or retrieved programmatically) contain some extra xml-tags.

Steps to re-produce the bug
1) Create a new Company in Tally ERP 9 Release 1.82 and entered a "Stock Journal" voucher. Next, export the same using option "Display >> Daybook >> Alt+E" .

2) Create a new Company in Tally ERP 9 Release 2.0 and entered a "Stock Journal" voucher. Next, export the same using option "Display >> Daybook >> Alt+E" .

The XML-output of both the versions is different. If you see the XML output for Tally ERP 9 Release 2.0, then there are some additional tags (see ALLINVENTORYENTRIES.LIST) which are not there in Tally ERP 9 Release 1.82 version.

It has been confirmed by Tally Solutions Pvt Ltdm Bangalore that the aforesaid issue is an bug (Internal Id 47783) as on 21/09/2010.

The aforesaid error has been rectified in Tally ERP 9 Release 3.0 as intimated to us by Tally Solutions, Bangalore on 22/02/2011

Thursday, September 9, 2010

$$ToValue TDL function

The TDL function $$ToValue allows you to retrieve total-value of a specific method upto a specific date.

Function : $$ToValue
Syntax    : $$ToValue : Date  : FieldName

Example1 : $$ToValue:#MyDate:#MyField
Example2 : $$ToValue:($$Date:"02/05/2010"):($ClosingBalance:Ledger:"Cash")

Wednesday, August 11, 2010

Tally ERP 9 Release 1.8 - Memory Access Voilation

We have recently noticed that Tally ERP 9 Release 1.8 raises "Memory access voilation" error and terminates when a UNIT Master record is programmatically pushed. The aforesaid error occurs only in cases wherein the UNIT Master record exists in Tally.

The aforesaid problem does NOT occur in Tally ERP 9 Release 1.82 and Tally ERP 9 Release 1.61

Monday, July 26, 2010


The <RESPONSE> tag received from Tally Software contains a tag named LASTMID. This tag <LASTMID> is as of now (i.e. upto Tally ERP 9 Release 1.82) not assigned any value - which is confirmed by Tally Solutions, Bangalore.

Friday, July 23, 2010

Call to DLLRegisterServer failed with Code 0x80004005

OS : Windows 7, Vista

To resolve the aforesaid error, follow these steps :-

1. Click on Start button.
2. Type cmd into the Start Search textbox. Do NOT press enter.
3. Press Ctrl+Shift+Enter key.
Ctrl-Shift-Enter is the general keyboard shortcut that triggers elevation to “Run as Administrator”.
4. Press Alt+C or press Continue to confirm the UAC elevation warning prompt.

After the run the REGSVR32 to register the DLL.

Saturday, May 1, 2010

Issues in Tally 7.2. while retrieving the PriceLevel

We tested using the following SELECT-SQL with different versions of Tally

Select $$FullList:FullPriceList:$Date,$$FullList:FullPriceList:$PriceLevel from StockItem where $Name='101220'

Tally 7.2 Release 3.12
The SELECT-query returned the DATE but NOT the PriceLevel.

Tally ERP 9 Release 1.61
The SELECT-query returned the both the DATE and the PriceLevel.

It appears that this is an issue with Tally 7.2 Release 3.12.

Wednesday, February 24, 2010

Ledger Opening Balance

You can retrieve the Ledger Opening Balances from Tally using the underneath SQL-SELECT statement :-

Select $Name,$OpeningBalance From Ledger

The above SELECT-SQL returns correct balances if you are working in the 1st year. However, in the 2nd year or later (i.e. if the Current Period beginning is different from the Books beginning date) the above SELECT-SQL returns the OpeningBalance as on the Current period Beginning date which is incorrect. To understand this let's take an example :-

1) Create a New Company in Tally with Books Beginning date as 01-04-2005 (i.e. 1st April, 2005)

2) Next, create a Ledger named "My Bank A/c" under group "Bank Accounts" with Opening Balance of Rs 5000

3) Next, enter a Payment Voucher on 2nd May 2005 as follows :-

Dr: Office Expenses Rs 100
Cr: My Bank A.c Rs 100

4) Next, use the SELECT-SQL mentioned above. It returns the correct opening balance for "My Bank A/c" which is Rs 5000/-

5) Next, change the period using Alt+F2 key and set it as 01-04-2006 to 31-03-2007

6) Now, again use the same SELECT-SQL given above. In this case, it returns the Opening Balance for "My Bank A/c" as Rs 4900/- instead of Rs 5000/-

a) In simple words, the $OpeningBalance returns the Ledger-Opening-balance as on the current-period-beginning-date (i.e as on 01-04-2006 in this example)
b) You must use TDL, to get the Ledger Openingbalance as on the Books-beginning date (i.e. 01-04-2005 in this example) irrespective of what the current period is set in Tally.