HomeDeveloper ReferenceIntegrate with TallyPrimeIntegration Initiated From TPAs 

 

Table of Contents

 

 PDF

Integration Initiated From TPAs 

When Tally operates as a server, third-party applications (TPAs) can either pull data from Tally for reporting and analysis or push data into Tally to create or update masters and transactions. This enables real-time synchronization and integration with external systems.

TPA Pulls Data from Tally

Third-party applications can extract data from Tally using HTTP/XML or ODBC for use in external dashboards, business intelligence tools, or reporting systems.

Use Cases

  • Displaying real-time ledger balances or stock summaries in BI dashboards

  • Extracting trial balance or voucher summaries for audit and reporting

  • Syncing master data like customers or stock items with an ERP system

Available Endpoints Exposing Company, Voucher, and Ledger Data

  • Tally exposes collections such as Ledger, Voucher, StockItem, CostCentre, etc.

  • Data can be accessed via:

    • ODBC: by marking collections with the attribute IsODBCTable: Yes

    • HTTP/XML: by sending an Export Data request with appropriate report and variables

Sample XML Responses Expected by TPAs

<ENVELOPE>
<BODY>
<DATA>
<LEDGER>
<NAME>Customer A</NAME>
<CLOSINGBALANCE>23500</CLOSINGBALANCE>
</LEDGER>
</DATA>
</BODY>
</ENVELOPE>

Each object such as a ledger, voucher, or item is mapped to a row, and attributes are returned as XML tags.

Access Permissions, Authentication, and Security Considerations

  • Tally must be running in server mode with HTTP listener enabled (default port 9000)

TPA Sends Data to Tally

External applications can push data into Tally using HTTP/XML to automate the creation of vouchers, masters, and other records.

Use Cases

  • Automatically posting invoices from a billing or e-commerce platform

  • Importing journal entries from an accounting engine

  • Syncing inventory movements from a warehouse or POS system

Message Structure and Required XML/JSON Tags

Tally requires a structured XML payload in its native <ENVELOPE> format:

<ENVELOPE>
 <HEADER>
  <TALLYREQUEST>Import Data</TALLYREQUEST>
 </HEADER>
 <BODY>
  <IMPORTDATA>
   <REQUESTDESC>
    <REPORTNAME>Vouchers</REPORTNAME>
   </REQUESTDESC>
  <REQUESTDATA>
<TALLYMESSAGE>
<VOUCHER VCHTYPE=”Sales” ACTION=”Create”>
<DATE>20240617</DATE>
<PARTYLEDGERNAME>Customer A</PARTYLEDGERNAME>
<AMOUNT>10000</AMOUNT>
</VOUCHER>
</TALLYMESSAGE>
</REQUESTDATA>
</IMPORTDATA>
</BODY>
</ENVELOPE>

Mandatory elements include TALLYREQUEST, REPORTNAME, TALLYMESSAGE, VOUCHER, and context-specific fields.

Success Criteria and Validation of Data Entry

After processing the request, Tally sends a structured XML response:

<RESPONSE>
<CREATED>1</CREATED>
<ALTERED>0</ALTERED>
<ERRORS>0</ERRORS>
</RESPONSE>

  • A successful request will return CREATED=1 and ERRORS=0

  • Invalid or duplicate requests will reflect in the error count

Logs Access and Debugging Tips to Troubleshoot Issues

  • Tally maintains a runtime log file in the installation directory under /logs/

  • To troubleshoot XML, use Tally’s Calculator Pane to validate queries and field values

  • Enable message logging in TDL or use external proxies to inspect request/response flow

TallyHelpwhatsAppbanner
Is this information useful?
YesNo
Helpful?