Enable TallyPrime's HTTP Interface on Port 9000
Almost every tool that talks to TallyPrime — reconciliation software, MIS dashboards, voucher importers — relies on one setting: the local HTTP interface. Once enabled, TallyPrime listens on a port (9000 by default) and accepts XML or JSON requests to read reports and import vouchers. Here is exactly how to switch it on, prove it works, and avoid the security mistakes that put company data at risk.
What the HTTP interface actually is
TallyPrime is Windows desktop software, and the interface is simply a small web server embedded inside the running application. Per Tally Solutions' documentation, external programs exchange XML or JSON envelopes with it over HTTP: an export request returns report data, an import request posts vouchers or masters. Two things follow from that design. First, TallyPrime must be running with the right company open — the interface dies when the application closes. Second, anything that can reach the port can read and write your books, which is why the security section below matters as much as the setup.
Switching it on, step by step
- Open TallyPrime and load the company you want to integrate.
- Press F1 to open Help, then go to Settings > Connectivity.
- In the Client/Server configuration, set TallyPrime to act as Both — it then behaves as client and server, which is what enables the local listener.
- Leave the port at the default 9000 unless something else on the machine already uses it.
- Restart TallyPrime if prompted so the listener starts cleanly.
There is no separate service to install and no TDL required — this is a built-in capability of the product.
Testing that port 9000 responds
Open a browser on the same machine and visit http://localhost:9000. A running interface answers with a short response from TallyPrime rather than a connection error. For a stronger test, post a simple export request envelope with curl or Postman and confirm you get company data back. If nothing answers, work down this table:
| Symptom | Likely cause | Fix |
|---|---|---|
| Connection refused | TallyPrime not running, or not set to Both | Start Tally, recheck F1 > Settings > Connectivity |
| Port already in use | Another app owns 9000 | Change Tally's port, update your integration to match |
| Responds but imports fail | Wrong company open, or masters missing | Open the correct company; create ledgers first |
| Works locally, not from LAN | Windows Firewall blocking inbound | Allow the port only for trusted internal IPs |
Two more habits make testing painless. First, keep a saved request collection — one export request that lists companies, one that pulls a small Day Book slice, one harmless single-voucher import into a test company — so any future breakage can be triaged in under a minute by replaying them. Second, remember that the interface serves whichever company is open on screen; automated jobs that assume a company is loaded will fail at odd hours when someone closes Tally or switches companies, so schedule imports for windows when the machine's state is known. On multi-user setups, agree who owns the Tally session during import windows, and have the import tool alert when localhost:9000 stops answering.
Security: never expose port 9000 to the internet
The interface has no authentication worth relying on. If port 9000 is reachable from the internet, anyone who finds it can pull your ledgers and post vouchers. The rules are simple: keep the port bound to localhost or the LAN, never port-forward it on your router, and on shared RDP servers — where much of Indian Tally usage lives — make sure the firewall blocks inbound access from outside. This is why the TallySutra security model uses a desktop Gateway that connects outbound only: the Gateway running beside Tally fetches approved batches over HTTPS and posts them to localhost:9000, so nothing on the internet ever connects inward to Tally. If you run Tally on a hosted server, our RDP integration guide covers the deployment details.
What to do once it is enabled
With the interface live you can automate the boring half of marketplace accounting. TallySutra converts Amazon, Flipkart and Meesho settlement reports into balanced TallyPrime vouchers, routes them through CA approval, and its Gateway posts them to your local port — after first validating that the open company matches the batch, and refusing anything unapproved. You can download the Gateway (beta installers for Windows, macOS and Linux; note they are unsigned, so your OS will ask you to confirm the first launch) and point it at a test company. If you prefer files over HTTP, the same batches export as standard TallyPrime import XML you can load manually — the interface just removes the copy-paste step.
Frequently asked questions
Does enabling port 9000 require TDL or a Tally add-on?
No. The HTTP interface is built into TallyPrime. You enable it under F1 > Settings > Connectivity by setting TallyPrime to act as Both. TDL is only for customising screens and reports, not for basic connectivity.
Can I change TallyPrime's port from 9000 to something else?
Yes. The port is configurable in the same Connectivity settings. If another application already uses 9000, pick a free port and update every integration that talks to Tally so both sides agree.
Is it safe to open port 9000 so my team can connect from home?
No. The interface is designed for local or LAN use and should never be reachable from the internet. Use a VPN or an outbound-only connector like the TallySutra Gateway instead of exposing the port.
TallySutra turns Amazon, Flipkart and Meesho reports into reconciled, reviewed TallyPrime vouchers — duplicate-safe, with every rupee traceable to its source row.
Book a 30-minute demo