TallyPrime and Snowflake integration
TallyPrime runs accounting, inventory, and payroll on-site. Snowflake stores data in the cloud for analysis and reporting. Connecting them moves your accounting records from the desktop into the warehouse automatically, so finance data is always current without manual export and re-import. Vouchers, ledger entries, and master data flow into Snowflake tables on a schedule you control, keeping downstream reporting and analytics current with the source of truth in TallyPrime.
What moves between them
Vouchers and ledger entries flow from TallyPrime into Snowflake tables. ml-connector polls TallyPrime Day Book and specific collections using date range filters, compares returned IDs against last-seen state, and pushes new records into Snowflake tables as INSERT statements. Master data such as ledgers, groups, and stock items sync into dimension tables. The connection is one-way: TallyPrime is the source, Snowflake is the destination for storage and reporting.
How ml-connector handles it
ml-connector bridges TallyPrime's local HTTP server to Snowflake's cloud API. On the TallyPrime side, it polls periodically using Export requests with SVFROMDATE and SVTODATE filters, accepts the company name and optional credentials, and handles offline windows when TallyPrime is closed or the application is not running. Because TallyPrime is single-user desktop software, ml-connector keeps requests sequential and does not attempt concurrent polling. It detects duplicate records by tracking voucher IDs and implements change detection via timestamp watermarks. On the Snowflake side, it authenticates with Key Pair Authentication or a Programmatic Access Token, maps TallyPrime voucher types (Purchase, Sales, Payment, Receipt, Purchase Order) to Snowflake table schemas, and uses the SQL API to insert records in batches. It handles the 5 to 15 minute practical minimum polling interval on the TallyPrime side and respects Snowflake's 429 rate-limit responses with exponential backoff.
A real-world example
A mid-sized India-based distributing company runs TallyPrime for accounting, inventory, and GST filing across branch offices. Finance and operations teams use Snowflake for consolidated reporting and analytics across all branches, but updates were manual: export from TallyPrime weekly, load into Snowflake, reconcile mismatches, and re-run reports. With TallyPrime and Snowflake connected, all vouchers and ledger entries flow into the warehouse automatically on a daily schedule. Branch managers can build standardized reports on live data, month-end close references current balances, and the manual export-and-load step is eliminated.
What you can do
- Push TallyPrime vouchers (purchase, sales, payment, receipt, purchase order) into Snowflake tables on a periodic schedule.
- Sync master data such as ledgers, groups, and stock items as dimensions in Snowflake.
- Map TallyPrime company and date filters to SQL WHERE clauses so you can control the scope and frequency of each sync.
- Handle TallyPrime offline windows and the single-user desktop constraints of the application.
- Detect duplicate vouchers by ID and skip re-insertion, ensuring accurate ledger records in the warehouse.
Questions
- Does ml-connector need to run on the same machine as TallyPrime?
- No. ml-connector runs in the cloud or on any machine with network access to the TallyPrime local HTTP server on port 9000. The TallyPrime instance must be running and the target company must be open for API calls to succeed. Port 9000 must be manually enabled in TallyPrime Settings and is LAN-only accessible, so a firewall rule or VPN may be needed depending on your network.
- What happens if TallyPrime is offline during a poll cycle?
- ml-connector will retry the failed poll. Because TallyPrime is a single-user desktop application, it can be closed or restarted. ml-connector tracks the last successful poll timestamp and resumes from that point when TallyPrime comes back online, so no records are missed.
- How are ledger entries and vouchers mapped into Snowflake?
- ml-connector polls TallyPrime using Export requests with date range filters to retrieve vouchers and ledger entries, then maps each voucher type (Purchase, Sales, Payment, Receipt, Purchase Order) to a Snowflake table and inserts the full record including amounts, dates, and ledger references. Master data such as ledger names and groups become dimension tables so reporting queries can join on ledger details.
Related integrations
More TallyPrime integrations
Other systems that connect to Snowflake
Connect TallyPrime and Snowflake
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started