Why connecting Tally is harder than it looks
TallyPrime is where most Indian businesses keep their books, but it was designed as a desktop application, not as a platform for other software. There is no modern REST API out of the box. That is why so many teams still export reports to Excel and retype orders from their store or CRM.
Tally does offer ways in. The trick is choosing the right one for the job, because each has limits that only show up once real data starts flowing.
1. The XML over HTTP gateway
TallyPrime can act as a server on a local port (9000 by default). Other programs send it XML requests to read reports and masters or to import vouchers, and Tally replies in XML.
This is the most capable route: it can both read and write, it works with the company open in Tally, and it doesn’t need anything installed inside Tally. Its weak points are that it handles one request at a time, can fail silently when a ledger name is slightly wrong, and expects exact debit and credit signs. In practice it works best behind an API layer that queues requests, checks names first and turns Tally’s replies into clear errors. That is the approach behind my Tally API Gateway.
2. ODBC
Tally exposes some of its data through ODBC, which lets tools like Excel or reporting software query it like a database. It is quick to set up for read-only reporting.
It is not suitable for writing entries into Tally, and complex reports are easier to get through the HTTP gateway. Use it when someone needs a simple live table in Excel.
3. TDL customisations
TDL is Tally’s own language for changing what Tally shows and does. It is the right tool when the change belongs inside Tally itself: a custom report, an extra field on a voucher, or a validation rule for your team.
On its own, TDL doesn’t connect Tally to the outside world. It is often combined with the HTTP gateway, for example to expose a custom report that an external dashboard then reads.
4. Excel and XML imports and exports
Tally can import vouchers and masters from XML or Excel, and export most reports. For a monthly batch, such as loading a bank statement or exporting a sales register, this is often enough.
It stays a manual step, though: someone has to run the export, check the file and import it, and errors in a big file can stop an import halfway. As volumes grow, this is usually the first thing worth automating.
Which one should you use?
For reports in Excel, use ODBC or scheduled exports. For a change inside Tally, use TDL. For anything live or two-way, such as store orders posting to Tally, dashboards that refresh themselves, or WhatsApp alerts on overdue payments, use the HTTP gateway behind a proper API layer, with checks against Tally’s own totals so you can trust what arrives.
Frequently asked questions
Not out of the box. It offers an XML interface over HTTP, which can be wrapped in a REST API layer so other software can use ordinary JSON.
Yes, through an integration that reads orders and settlements from the store and posts them to Tally through its HTTP gateway.
Yes, using a small connector on that PC or a secured tunnel, so the cloud software can reach Tally without moving your data elsewhere.
Related service: Integrations