ml-connector
TallyPrimeTableau

TallyPrime and Tableau integration

TallyPrime runs accounting and inventory for businesses, especially in India and Southeast Asia. Tableau visualizes business data for finance teams and executives. Connecting the two means your financial dashboards and inventory reports stay current with your TallyPrime records without manual export and re-upload. Ledger balances, vouchers, and stock items flow from TallyPrime into Tableau datasources on a schedule you control, so dashboards reflect the latest actuals and forecasts are grounded in real data.

How TallyPrime works

TallyPrime exposes ledgers, groups, vouchers (purchase, sales, payment, receipt, purchase orders), and stock items through XML or JSON over HTTP POST to a local instance running on port 9000. The application authenticates with optional credentials (company name is required; username and password are optional if the company is password-protected) and requires network-level security via firewall or VPN. Port 9000 must be manually enabled in TallyPrime Settings, and the application must be running with the target company open for API calls to succeed. TallyPrime has no native webhooks, so data is read by polling Export requests with date-range filters on a 5- to 15-minute cycle.

How Tableau works

Tableau exposes workbooks, datasources, views, projects, users, and schedules through REST API with two deployment models: Tableau Cloud (SaaS) and Tableau Server (self-hosted). Authentication uses Personal Access Tokens (PAT) that exchange for a 240-minute session token, or Connected App JWT. Tableau supports 24 event types including datasource-created, datasource-updated, datasource-refresh-started, datasource-refresh-succeeded, and datasource-refresh-failed via webhooks sent to a configured HTTPS endpoint. Views are read-only; extract refreshes are the primary mechanism for keeping published data current.

What moves between them

Ledgers, vouchers, and stock items flow from TallyPrime into Tableau on a scheduled polling cycle (typically once every 15 minutes or at intervals you set). ml-connector polls TallyPrime's Export Data endpoints with date-range filters, maps the returned Tally records (ledgers to dimensions, vouchers to fact rows, stock items to inventory measures) into Tableau datasource schemas, and triggers extract refreshes on Tableau Cloud or Server so that published views and dashboards reflect the latest balances and transactions. The flow is read-only from TallyPrime to Tableau; no data moves back into TallyPrime.

How ml-connector handles it

ml-connector runs a local agent on the same machine or LAN as TallyPrime to reach port 9000 (which is not internet-accessible). It stores the TallyPrime company name and optional credentials encrypted, polls the Export Data endpoint on a configurable schedule, and compares returned entity IDs against last-seen state to detect new or changed records. On the Tableau side, ml-connector authenticates with a Personal Access Token, manages one or more target datasources and their extract schedules, and maps Tally fields to Tableau columns (ledger account codes to dimension keys, voucher amounts to facts, stock item quantities to measures). Because TallyPrime returns all matching records in a single response (no pagination), ml-connector batches smaller exports and uses date-range filtering to keep payloads manageable. Tableau webhooks can signal refresh completion so downstream tasks run only after fresh data lands. Extract refreshes are idempotent, so if a refresh fails, ml-connector retries without creating duplicate records in the published datasource.

A real-world example

A mid-sized manufacturing company in India runs TallyPrime for accounting and inventory and uses Tableau Cloud for executive dashboards and finance analytics. Before the integration, the finance team exported ledger balances and voucher reports from TallyPrime each morning, manually loaded them into Tableau, and refreshed published datasources by hand, a 30-minute daily task prone to errors and delays. With TallyPrime and Tableau connected, the extract refreshes automatically every 15 minutes, so morning dashboards reflect the day's transactions as of the previous night close, and finance executives see current ledger balances and cash flow forecasts without waiting for a manual refresh. The daily export and reload step is eliminated.

What you can do

  • Publish TallyPrime ledger balances and account hierarchies into Tableau as dimensions and measures for real-time financial dashboards.
  • Sync TallyPrime voucher transactions (purchase, sales, payment, receipt) into Tableau fact tables for transaction-level analysis and reconciliation.
  • Export TallyPrime stock items and quantities into Tableau to track inventory positions and stock-on-hand across locations and item categories.
  • Poll TallyPrime on a configurable schedule (every 5 to 15 minutes) and trigger Tableau extract refreshes so published dashboards and views stay current.
  • Map TallyPrime company names, ledger accounts, and voucher types to Tableau datasource columns and refresh schedules, with audit trails and error replay on failed syncs.

Questions

How does ml-connector reach TallyPrime if it runs on a local port?
ml-connector runs a local agent on the same machine or LAN as TallyPrime to bridge the cloud connector to port 9000, since TallyPrime is a desktop application and not internet-accessible. The agent stores the company name and optional credentials encrypted and polls TallyPrime's Export Data endpoints on your schedule. TallyPrime itself must be running and the target company must be open for API calls to succeed.
Does Tableau receive real-time updates from TallyPrime?
No. TallyPrime has no native webhooks, so ml-connector polls the Export Data endpoint on a regular schedule (typically every 5 to 15 minutes). ml-connector detects new or changed records by comparing returned entity IDs against last-seen state and triggers Tableau extract refreshes, so dashboards update on that polling cycle rather than in real time.
Can data flow back from Tableau into TallyPrime?
No. This is a read-only flow. ml-connector publishes TallyPrime records into Tableau datasources and extract refreshes, but does not write or update records back into TallyPrime. Tableau views and dashboards are for analysis only.

Related integrations

Connect TallyPrime and Tableau

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started