Skip to main content
GullySystem
A practical guide

Tally XML, TDL and ODBC: what each integration route involves

Ganesh HSStrategy and Technology, GullySystem
Practical advice · 4 min read

In this guide 7 sections
The short answer

Tally offers three routes. The XML gateway lets another program post requests over HTTP to import or export data. TDL is Tally’s own language for customising screens and, per Tally’s help pages, for JSON and ODBC links. ODBC suits reading data into reports. Pick by direction of flow and who will maintain it.

Two directions: Tally as server and as client

Tally’s help pages describe two roles. When Tally acts as a server, an outside program pushes requests in, for example a mobile app sending sales. When Tally acts as a client, Tally starts the exchange and pulls from another system.

Start with the question of who should be in control. If an event elsewhere should create a voucher, Tally is the server. If an accountant wants to fetch data on demand, Tally is the client.

Most small projects use the first role.

The XML gateway over HTTP

The XML integration page says you enable the HTTP server in Tally’s advanced configuration, and external programs post XML to the machine’s address on port 9000 by default.

A request names a type, import, export or execute, and an ID such as a report or collection. Import carries data, for example a voucher. Export can return a report, a collection or an object.

Responses carry a status, with a code and description on failure. The page does not state rate or size limits, so test with your own volume.

TDL: customising from inside Tally

TDL is the language Tally uses for customisation. Tally’s integration pages say it can define requests that Tally sends out. One example is an HTTP POST to a system with an endpoint, with reports for success and error.

The same overview says JSON and ODBC links go through TDL customisation. If your plan needs JSON, check which TallyPrime release you run and read the current help page for it.

TDL code lives inside the company, so it needs an owner. Our guide to unmaintained TDL add-ons covers keeping, rewriting or replacing them.

  • Who wrote it and where is the source
  • Which Tally release was it tested on
  • What breaks if the company file is upgraded
  • Who gets called when it fails

ODBC for reading

Tally’s overview lists ODBC for pulls from external databases and for real-time dashboards and Excel queries. It is the usual route for reports that read Tally data.

Tally lists ODBC as read and write through TDL, but treat writing carefully. Test any write on a copy of the company and ask an accountant to review the vouchers.

Tally Solutions’ site also lists ODBC as an optional server in the same configuration screen.

Choose and test

For pushing sales, purchases or receipts into Tally, XML over HTTP is the common starting point. For dashboards, ODBC or exports feed a reporting tool. For behaviour inside Tally screens, TDL.

Whatever you pick, test on a copy of the company, keep a log of every request and compare totals daily for the first month.

Expect middleware when the other system speaks REST and JSON. Tally’s help states that it does not use SOAP natively, and a wrapper can add it when needed.

Tally integration route decision sheet

A one-page sheet with three columns for XML gateway, TDL and ODBC. Rows cover direction of flow, who starts the request, data type, release needed, owner of the code, test on a copy, and the alert contact when it fails.

Open a blank worksheet to print

Questions owners ask

Does Tally have a REST API?

Tally’s own documentation describes XML over HTTP and, through TDL, JSON and ODBC links. A REST layer, if you need one, is built in middleware that translates calls.

Do I need to buy extra to use the XML gateway?

Check Tally’s current licensing and help pages. The gateway is switched on in advanced configuration, and your partner can confirm what your licence includes.

Is TDL safe to upgrade?

Only if you test it. Customisations written for an older release can fail after an upgrade, so keep the source and test on a copy first.

Which route is best for a dashboard?

ODBC or a scheduled export usually suits reading. Use XML when you need to push entries or fetch a specific report.

Browse all guidesBack to top ↑
Next step

Have a specific situation to work through?

This article covers the general case. Tell us what you’re actually dealing with and we’ll respond directly.

Share Your Requirements