ml-connector
TallyPrimeIBM Sterling

TallyPrime and IBM Sterling integration

TallyPrime runs accounting and inventory across small and mid-sized businesses in India and Southeast Asia. IBM Sterling B2B Integrator manages EDI transactions with trading partners. Connecting the two lets you send purchase orders and invoices from TallyPrime directly to your suppliers and customers as EDI documents without manual re-entry or file export. Orders and invoices flow from TallyPrime through Sterling to your trading partners on a schedule you control.

How TallyPrime works

TallyPrime exposes ledgers, groups, vouchers (purchase orders, sales invoices, payments, receipts), and stock items through an HTTP API on a local server at port 9000. The API accepts XML or JSON POST requests to a single endpoint, with all operations controlled by a TALLYREQUEST envelope field (Export Data for reads, Import Data for writes). The application runs on a single user's desktop, requires the target company to be open in TallyPrime, and provides no native webhooks, so ml-connector must poll the local server periodically with date range filters to detect new records. Network security relies on firewall or VPN; there is no transport-layer authentication unless the company itself has a password.

How IBM Sterling works

IBM Sterling B2B Integrator runs on-premises or in a customer-managed cloud, exposing trading partners, mailbox messages, documents, workflows, and routing rules through a REST API via embedded WebSphere Liberty. Authentication uses HTTP Basic auth or OAuth 2.0 Client Credentials against a local token endpoint. The platform handles translation, validation, and routing of EDI documents (ANSI X12, EDIFACT, TRADACOMS) and manages file transfer protocols including SFTP, FTP, AS2, and FTPS. Sterling's REST API does not support outbound webhooks, so ml-connector must poll the mailbox API to detect new documents and retrieve payloads.

What moves between them

Purchase orders and sales invoices from TallyPrime flow into IBM Sterling B2B Integrator. ml-connector polls TallyPrime's HTTP server at regular intervals, retrieves vouchers with date range filters, translates them into EDI 850 purchase order or EDI 810 invoice format, and posts them to Sterling's mailbox API for delivery to trading partners. Reference data such as ledger accounts and company names is aligned so documents carry the correct seller and buyer identifiers. The flow is one-way from TallyPrime into Sterling; acknowledgements and responses from trading partners are handled within Sterling and optionally pulled back into TallyPrime as receipt vouchers.

How ml-connector handles it

ml-connector runs a local agent on the same LAN as the TallyPrime instance to bridge cloud connectivity to port 9000, since TallyPrime is desktop-only and not directly internet-accessible. It polls TallyPrime's Export Data endpoint with date range filters (SVFROMDATE, SVTODATE) in YYYYMMDD format every 5 to 15 minutes, compares returned voucher IDs against the last-seen state, and extracts matching purchase orders and invoices. For each TallyPrime voucher, ml-connector maps the ledger name to a trading partner in Sterling, retrieves the company name from the SVCURRENTCOMPANY field, translates the voucher line items into EDI 850 or 810 segments, and POSTs the document to Sterling's mailbox API at /B2BAPIs/svc/mailboxMessages/. It handles TallyPrime's lack of native pagination by processing all returned records in a single response, manages the HTTP connection to port 9000, and stores both Sterling OAuth tokens and TallyPrime company names encrypted. Because TallyPrime is single-user and requests are sequential, ml-connector serializes all operations and backs off if the application is not running or the company is not loaded. Sterling's REST API is queried using OAuth 2.0 Client Credentials, and ml-connector tracks Sterling's HTTP 429 rate limit responses, applying exponential backoff before retrying.

A real-world example

A mid-sized garment exporter in India uses TallyPrime for accounting, inventory, and GST compliance, and works with yarn suppliers in Southeast Asia and finished goods distributors in Europe and North America. Before the integration, the export coordinator manually created purchase orders in TallyPrime, exported them as printed PDFs or spreadsheets, and re-entered key details into Sterling to send as EDI 850 documents to suppliers, then re-keyed supplier invoices from Sterling's mailbox back into TallyPrime as received goods vouchers. With TallyPrime and Sterling connected, each purchase order created in TallyPrime flows directly to Sterling as an EDI 850 document and transmits to the supplier automatically; when a supplier sends an EDI 810 invoice, ml-connector retrieves it from Sterling and posts it as a purchase invoice voucher in TallyPrime, complete with account allocations. The manual re-entry step is gone, invoices match orders, and month-end reconciliation is immediate.

What you can do

  • Translate TallyPrime purchase orders and sales invoices into EDI 850 and 810 formats and post them to IBM Sterling for delivery to trading partners.
  • Poll TallyPrime's HTTP API at a configurable interval with date range filters to detect and process new vouchers.
  • Map TallyPrime company names and ledger accounts to Sterling trading partners and mailbox destinations.
  • Handle TallyPrime's local-only desktop server and single-user constraints by running a local agent and serializing requests.
  • Retrieve supplier responses and acknowledgements from Sterling and optionally post them back into TallyPrime as receipt or debit note vouchers.

Questions

How does ml-connector access TallyPrime if it only runs locally?
ml-connector runs a local agent on the same LAN as the TallyPrime instance. The agent bridges cloud connectivity to TallyPrime's HTTP server on port 9000, which must be manually enabled in TallyPrime Settings. The local agent handles all polling and data translation, sending the results to IBM Sterling via the cloud.
What EDI formats does ml-connector use when sending TallyPrime data to Sterling?
ml-connector translates TallyPrime purchase order vouchers into EDI 850 (purchase order request) and sales invoice vouchers into EDI 810 (invoice) format. It maps TallyPrime's ledger names and item codes to the corresponding EDI segments and trading partner identifiers in Sterling, then posts the documents to Sterling's mailbox API for transmission.
How are TallyPrime and Sterling authenticated together?
TallyPrime uses company name and optional password (if the company is protected). IBM Sterling uses OAuth 2.0 Client Credentials against a local token endpoint. ml-connector stores both credential sets encrypted and manages authentication separately for each system, with support for local network constraints on TallyPrime and remote HTTPS connectivity to Sterling.

Related integrations

Connect TallyPrime and IBM Sterling

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

Get started