Why Tally Prime Doesn't Natively Support the Cloud

Tally Prime is the accounting backbone of millions of Indian SMEs. It is exceptionally reliable, deeply understood by accountants, and handles GST, TDS, payroll, and inventory out of the box. However, it was built in a desktop-first era — all your data lives in a local .900 data file on a Windows PC, accessible only on that machine or over a LAN.

This creates a critical gap in 2025: business owners cannot check their cash balances from a phone, CFOs cannot review outstanding receivables while traveling, and multi-branch companies cannot get a consolidated view without manually exporting and merging reports.

The question then is: how do you get Tally Prime data into the cloud without replacing Tally itself?

The Architecture: Tally HTTP Server + Sync Agent

The key is that Tally Prime ships with a built-in HTTP Server that runs on port 9000 by default. When enabled, it accepts TDL (Tally Definition Language) XML queries and returns structured accounting data. This is an official, documented Tally feature — not a hack.

A cloud sync agent can exploit this interface to read data incrementally without any modification to Tally itself:

  1. Enable Tally HTTP Server — In Tally Prime, go to F12 Configuration → Advanced Configuration and enable the HTTP server on port 9000.
  2. Run the sync agent — A lightweight Windows daemon polls this port at configurable intervals (every 30–60 seconds is typical) and requests only records modified since the last checkpoint.
  3. Delta-only uploads — Using WAL (Write-Ahead Log) checkpoint markers stored in an SQLite database, the agent tracks exactly which ledgers, vouchers, and stock items have changed. Only those changed records are uploaded — drastically reducing bandwidth.
  4. Secure transmission — Each payload is GZIP-compressed and signed with an HMAC-SHA256 signature using a pre-shared key. The cloud endpoint verifies this signature before accepting any data, preventing spoofing.
  5. Cloud persistence — Verified data lands in a multi-tenant PostgreSQL database (Supabase) with row-level security, ensuring each business can only read its own records.

What Data Can Be Synced?

The Tally HTTP Server exposes virtually all accounting entities via XML reports. The most valuable for real-time monitoring are:

  • Ledger balances — Current balance for any ledger (debtors, creditors, bank, cash)
  • Vouchers — Sales invoices, purchase bills, receipts, payments as they are entered
  • Outstanding receivables — Bill-by-bill aging of debtor balances
  • Stock summary — Quantity and value of stock items
  • Trial balance and P&L — Financial statement snapshots
  • Daybook — Chronological list of all daily transactions

Performance Impact on Local Tally

A common concern is whether the sync agent will slow down Tally for the accounts team. In practice, the impact is negligible because:

  • Tally's HTTP server runs as a separate thread and does not block the UI
  • Incremental queries fetch far less data than full reports — a typical delta update for a mid-sized company transfers under 50 KB
  • The sync interval can be tuned to 60+ seconds during peak working hours

In our tests with a company having 10,000+ vouchers and 500+ ledgers, the average sync query completes in 800ms and causes zero measurable impact on the Tally UI responsiveness.

Security Considerations

Financial data deserves the highest security standards. A well-designed Tally sync implementation should include:

  • No inbound ports — The agent initiates outbound HTTPS connections. No firewall ports need to be opened, and no static IP is required.
  • HMAC-SHA256 payload signing — Every upload includes a cryptographic signature. The server rejects any payload that doesn't match the expected signature.
  • TLS encryption in transit — All data travels over HTTPS (TLS 1.3).
  • Row-Level Security in the database — Even if an attacker obtained database credentials, they could only read rows tagged with their own company code.
  • No Tally credentials stored — The agent only accesses Tally's HTTP server on localhost. It never stores Tally passwords.

Getting Started with Niragas Tally Sync

Niragas Tally Sync implements this architecture as a production-grade managed service. Setup takes under 10 minutes:

  1. Subscribe and receive your unique company_code and api_key
  2. Download and install tally-agent.exe on your Tally PC
  3. Paste your credentials into the config.yaml file
  4. Start the Windows service — sync begins immediately

Your cloud dashboard is populated within the first sync cycle. From that point, any change made in Tally Prime is reflected in the cloud dashboard in under 30 seconds.