TallyPrime and Microsoft Power BI integration
TallyPrime runs accounting and inventory for your business. Microsoft Power BI visualizes that data for reporting and analysis. Connecting the two brings your latest transactions, ledger balances, and stock levels into Power BI dashboards without manual exports or ETL overhead. Finance teams see real-time cash flow, expense trends, and inventory turns in a single workspace, and new transactions flow in automatically on a schedule you define.
What moves between them
The integration polls TallyPrime on a schedule (hourly, daily, or custom interval) for ledger transactions, vouchers, and stock items within a date range. Each poll extracts the transactions that have occurred since the last run, transforms them to match the Power BI dataset schema, and pushes the rows via the Power BI REST API. Historical transactions are read once; ongoing updates are incremental based on date ranges. The data flows one direction from TallyPrime to Power BI. Power BI remains the analytics destination; no data writes back to TallyPrime.
How ml-connector handles it
ml-connector runs a local polling agent that connects to TallyPrime via HTTP POST on port 9000, using the company name and optional credentials from your configuration. Since TallyPrime is single-user, ml-connector queues requests and executes them sequentially to avoid inconsistency. For each poll cycle, it sends an Export Data request with SVFROMDATE and SVTODATE filters to retrieve new transactions, parses the XML response, and compares returned voucher IDs against the last-seen state to detect changes. The connector then transforms each transaction into a row matching your Power BI push dataset schema (for example, mapping TallyPrime ledger names to account codes, voucher dates to transaction dates, stock quantities to inventory levels). Once transformed, it calls the Power BI REST API, authenticates with your service principal OAuth2 token, and pushes the rows into the named push dataset. If the Power BI token has expired (typically after one hour), ml-connector re-authenticates and retries. If the TallyPrime instance is unavailable or the company is not open, the next poll cycle will retry. Every record carries a full audit trail including the source voucher ID, the transformation applied, and the Power BI push result, so any row can be inspected or replayed.
A real-world example
A mid-sized trading company in India runs TallyPrime for accounting, inventory, and GST compliance across three regional offices. The finance director needs real-time visibility into regional revenue, expense trends, and inventory turns, but currently exports TallyPrime reports weekly and manually rebuilds Power BI dashboards. With TallyPrime and Microsoft Power BI connected, ledger transactions and stock movements flow into Power BI on a daily schedule at 6 AM before the finance team starts their day. The director opens Power BI to see the latest revenue by region, cost of goods sold, and inventory aging without re-keying, and the weekly manual rebuild step is eliminated.
What you can do
- Stream ledger transactions, vouchers, and stock items from TallyPrime to Microsoft Power BI on a schedule you define.
- Transform TallyPrime accounting records into Power BI dataset schemas automatically, mapping accounts, cost centers, and items.
- Poll TallyPrime sequentially to respect its single-user architecture and avoid concurrent request failures.
- Authenticate with TallyPrime using company credentials and Power BI using OAuth 2.0 service principal client credentials.
- Track every transaction with a full audit trail, including source ID, transformation, and result, for replay and troubleshooting.
Questions
- How does ml-connector handle TallyPrime running on a local desktop?
- ml-connector includes a local agent that runs on the same machine or LAN as TallyPrime and connects to its HTTP API on port 9000. The agent polls your TallyPrime instance on a schedule you set, extracts ledgers and vouchers using date-range filters, and streams them to Microsoft Power BI in the cloud. Your company name and optional login credentials are stored encrypted.
- What happens if TallyPrime is offline or a transaction fails to push to Power BI?
- If TallyPrime is unavailable, ml-connector logs the failure and retries on the next poll cycle; no data is lost. If a Power BI push fails, the connector retries with a fresh OAuth2 token (tokens expire after one hour) and tracks the result in the audit trail. All records are timestamped and can be replayed if needed.
- Does every transaction from TallyPrime go into Power BI, or can I filter?
- You define the TallyPrime ledgers, vouchers, and stock items to include when setting up the integration. The connector polls using date-range filters, so only new or updated transactions since the last run are extracted, transformed, and pushed to Power BI. This keeps your Power BI dataset current without duplicates.
Related integrations
More TallyPrime integrations
Other systems that connect to Microsoft Power BI
Connect TallyPrime and Microsoft Power BI
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started