TallyPrime and SAP Ariba integration
TallyPrime keeps the books, inventory, and supplier ledgers. SAP Ariba runs procurement, sourcing, and supplier management in the cloud. Connecting the two means the purchase orders and invoice headers raised in SAP Ariba reach TallyPrime as vouchers without re-keying, and supplier details stay aligned between the two systems. Because TallyPrime is a desktop application with no cloud endpoint, ml-connector reaches it through a local agent on the customer network. SAP Ariba returns most procurement data through async reporting jobs, so the sync polls those jobs on a schedule you control.
What moves between them
The main flow runs from SAP Ariba into TallyPrime. ml-connector submits reporting jobs for purchase orders and invoice headers, polls them to completion, downloads the paged results, and writes each one into TallyPrime as a Purchase Order or Purchase voucher tied to the matching supplier ledger. Supplier records move the other direction: TallyPrime ledger details such as name, address, and tax registration are pushed to the SAP Ariba Supplier Data API to keep supplier master data aligned. Purchase orders and invoices are read-only in SAP Ariba over REST, so ml-connector never writes those documents back. Reads run on a schedule, with the high-water mark advanced by the job filter window each cycle.
How ml-connector handles it
ml-connector stores both credential sets encrypted. For SAP Ariba it fetches an OAuth2 token, caches it, refreshes it before the one-hour expiry, and sends the apiKey header and realm query parameter on every call. For TallyPrime it talks to a local agent that the customer runs next to TallyPrime, since port 9000 is reachable only on the local machine or LAN and must be manually enabled. Because most Ariba data arrives through async jobs, the connector submits a job filtered by an updated-date window, polls until it is ready, and downloads the pages, respecting the one-year window limit and the per-minute rate-limit header. Each Ariba supplier is matched to a TallyPrime ledger first, so every voucher line references a real party. TallyPrime has no idempotency key, so ml-connector tracks imported voucher numbers and uses the Alter action to update rather than re-import, which prevents duplicate vouchers. Dates are converted to the YYYYMMDD format Tally requires, and Tally errors returned as text in a LINEERROR block are parsed and surfaced. Every record carries a full audit trail and can be replayed if a write fails.
A real-world example
A mid-sized manufacturer in India runs TallyPrime for accounting, GST, and inventory, and its larger customers require it to transact through SAP Ariba for purchase orders and invoicing. Before the integration, a clerk watched the Ariba supplier portal for new purchase orders and manually re-entered each one into TallyPrime, then reconciled invoice statuses by hand at month-end, which was slow and error-prone across hundreds of lines. With TallyPrime and SAP Ariba connected, each Ariba purchase order and invoice header lands in TallyPrime as a voucher against the right supplier ledger automatically, and supplier details stay in step. The clerk stops re-keying documents and the books reflect Ariba activity within each polling cycle.
What you can do
- Write SAP Ariba purchase orders into TallyPrime as Purchase Order vouchers against the matching supplier ledger.
- Bring SAP Ariba invoice headers into TallyPrime as Purchase vouchers without manual re-entry.
- Push TallyPrime supplier ledger details up to the SAP Ariba Supplier Data API to keep supplier master data aligned.
- Bridge SAP Ariba OAuth2 tokens and the apiKey header to TallyPrime through a local agent that reaches port 9000.
- Poll SAP Ariba reporting jobs on your schedule, track imported voucher numbers to avoid duplicates, and replay any failed write.
Questions
- Which direction does data move between TallyPrime and SAP Ariba?
- Purchase orders and invoice headers move from SAP Ariba into TallyPrime as vouchers, while supplier details move from TallyPrime up to the SAP Ariba Supplier Data API. Purchase orders and invoices are read-only over the Ariba REST APIs, so ml-connector does not write those documents back to SAP Ariba.
- Why does TallyPrime need a local agent?
- TallyPrime is a desktop application whose HTTP server on port 9000 is reachable only on the local machine or LAN, and it must be enabled manually. ml-connector runs a small agent next to TallyPrime that accepts authenticated requests from the cloud and forwards the XML or JSON envelopes to port 9000. The TallyPrime application must be running with the target company open for any call to work.
- How does the sync handle SAP Ariba's async jobs and lack of webhooks?
- SAP Ariba has no general-purpose webhook, so ml-connector polls. It submits a reporting job filtered by an updated-date window, polls until the job is ready, then downloads the paged results and advances a high-water mark. The job window is capped at one year and the per-minute rate-limit header is watched so the connector backs off before hitting a limit.
Related integrations
More TallyPrime integrations
Other systems that connect to SAP Ariba
Connect TallyPrime and SAP Ariba
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started