ml-connector
TallyPrimePaylocity

TallyPrime and Paylocity integration

TallyPrime runs accounting and inventory on premise. Paylocity runs payroll and HR in the cloud. Connecting the two keeps employee records and payroll GL postings aligned without manual re-entry. New hires and terminations in Paylocity flow into TallyPrime, and the payroll vouchers Paylocity generates after each pay run post into TallyPrime's general ledger on the ledgers and cost centers that match your company structure.

How TallyPrime works

TallyPrime exposes ledgers, groups, vouchers (purchase, sales, payment, receipt, purchase order), and stock items through an XML-based HTTP API served on port 9000 of the local TallyPrime machine. The application authenticates at the network level (no API keys) but accepts optional company name, username, and password in request envelopes. All read operations use Export Data requests with date range filters; all write operations use Import Data. The TallyPrime server is LAN-accessible only, so a local agent must bridge cloud connectors to port 9000. TallyPrime has no native webhooks, so polling is the only option.

How Paylocity works

Paylocity exposes employees, pay statements, deductions, earnings, companies, work locations, positions, and pay grades through REST JSON APIs at https://api.paylocity.com/api/v2 in production. All requests use OAuth 2.0 client credentials (client_id and client_secret obtained via POST to https://dc1prodgwext.paylocity.com/public/security/v1/token), with a 3600-second token lifetime. Paylocity also emits webhooks for New Hire, Employee Change, Termination, Payroll Processed, and Time Off Approval events, delivered as JSON POST with 30-minute retries for up to 24 hours on failure; webhook payloads carry identifiers only, so full record data must be fetched via API calls. TLS 1.2 is required.

What moves between them

Employee and payroll data flow from Paylocity into TallyPrime. After each payroll run in Paylocity, ml-connector reads the pay statements and deductions, maps them to TallyPrime ledger accounts and groups, and creates or updates payroll vouchers in TallyPrime. Employee changes (hires, terminations, role changes) in Paylocity trigger updates to TallyPrime employee or cost center records. Reference data such as pay grades and work locations can be aligned in both directions. Because TallyPrime is pull-only and requires a local agent, ml-connector polls Paylocity on a schedule tied to your payroll calendar and then writes to TallyPrime when data is ready.

How ml-connector handles it

ml-connector deploys a local agent that connects to TallyPrime on port 9000, bridging the on-premise application to the cloud integration. On the Paylocity side, it obtains an OAuth 2.0 bearer token, refreshes it before expiry, and makes authenticated REST calls to fetch employee and pay statement data. The integration maps Paylocity pay statement lines to TallyPrime voucher entries, allocating each line to the correct ledger account and group (typically expense accounts for salary, benefits, taxes). Because TallyPrime is a single-user desktop application, the integration keeps requests sequential to avoid inconsistent behavior and uses Alter actions for updates rather than creating duplicate vouchers. Paylocity webhook events (New Hire, Payroll Processed) are optional; if enabled, they inform the polling schedule so TallyPrime stays current without waiting for the next poll window. Employee terminations in Paylocity are tracked to TallyPrime, and failed records carry a full audit trail so they can be replayed or debugged. TallyPrime's lack of native pagination means each poll may return many records in a single response, so ml-connector batches imports to avoid overwhelming the single-user application.

A real-world example

A mid-sized services or manufacturing business operates TallyPrime on a Windows desktop in India or Southeast Asia for accounting and inventory, and uses Paylocity for payroll and HR in the cloud (or has moved some operations to Paylocity while keeping TallyPrime on premise). Before the integration, the finance team exported pay registers from Paylocity every pay period and manually entered the salary and benefits totals into TallyPrime, then spent hours chasing differences between Paylocity headcount and the salary accounts in TallyPrime's ledger. With TallyPrime and Paylocity connected, each payroll run automatically creates the vouchers in TallyPrime, allocated to the correct expense accounts, and employee changes keep both systems in sync. Month-end close starts with the salary accounts already reconciled, and the manual data entry step is eliminated.

What you can do

  • Sync employee records from Paylocity into TallyPrime whenever hires, terminations, or role changes occur.
  • Create and update payroll vouchers in TallyPrime for each Paylocity pay run, allocated to the correct expense accounts and groups.
  • Map Paylocity pay statement lines (salary, benefits, deductions, taxes) to TallyPrime ledger accounts based on your company structure.
  • Authenticate TallyPrime via optional credentials and company name, and Paylocity via OAuth 2.0 client credentials with automatic token refresh.
  • Poll both systems on a schedule tied to your payroll calendar, with a full audit trail and error replay on every record.

Questions

How does ml-connector connect to TallyPrime if it is on-premise and cloud-only?
ml-connector deploys a lightweight local agent on the same machine or LAN as your TallyPrime instance. The agent listens for integration commands, connects to TallyPrime on port 9000 (which you enable in TallyPrime Settings), and bridges requests from the cloud integration to the on-premise application. The agent can be deployed in a cloud VM that has LAN access to your TallyPrime machine.
What happens if Paylocity and TallyPrime diverge on employee count or pay totals?
ml-connector maintains a full audit trail on every employee record and payroll voucher, including the source data from each system and any errors encountered during sync. If a record failed to sync, you can review the error, correct the source data, and replay the record from the audit log. If systems diverge due to manual changes in TallyPrime, you can use the audit trail to identify which records changed and when.
Can the integration handle Paylocity webhook events, or does it only poll?
Paylocity emits webhooks for New Hire, Payroll Processed, and other key events, though webhook payloads contain identifiers only, so the integration still fetches full record data via API calls. If you configure Paylocity webhooks, ml-connector can use them to optimize its polling schedule; otherwise, it polls on a fixed schedule tied to your payroll calendar.

Related integrations

Connect TallyPrime and Paylocity

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

Get started