TallyPrime and Dayforce integration
TallyPrime runs accounting and inventory for small and mid-sized companies across India and Southeast Asia. Dayforce runs payroll and HR in the cloud. Connecting the two keeps your employee headcount and payroll cost allocations in agreement. Payroll deductions, employee onboarding, and terminations recorded in Dayforce line up with TallyPrime ledger accounts and cost groups, and the labor cost vouchers TallyPrime creates are validated against Dayforce records without manual re-entry. ml-connector bridges TallyPrime's local HTTP server with Dayforce's cloud REST API.
What moves between them
Employee and cost allocation records flow in both directions. When payroll runs in Dayforce, ml-connector reads the updated employee records, org units, and balance periods, then matches them against TallyPrime groups, ledgers, and existing vouchers by polling both systems on a regular schedule. If a new employee is added in Dayforce, ml-connector creates or updates the matching Group and Ledger in TallyPrime via Import Data requests. If an employee is terminated in Dayforce, the corresponding TallyPrime entries are marked inactive. Cost allocations attached to Dayforce positions are matched to TallyPrime cost groups so payroll vouchers debit the correct expense ledger accounts. Changes are detected by comparing Dayforce's employee update timestamps and TallyPrime's voucher inventory; no record is replayed twice.
How ml-connector handles it
ml-connector stores the TallyPrime host IP, port 9000, company name, and optional credentials encrypted. It stores the Dayforce OAuth credentials and ClientMetadata URL encrypted as well. On each sync cycle, ml-connector queries Dayforce by posting to the token endpoint, retrieves a fresh bearer JWT, then uses it to call the employees and org-units endpoints with filterUpdateDateRangeMin and filterUpdateDateRangeMax parameters to fetch only records changed since the last sync. Simultaneously, it polls TallyPrime by POSTing Export Data requests with SVFROMDATE and SVTODATE envelopes to read the Day Book and Ledger collections. It compares the returned employee and ledger IDs against a last-seen inventory stored in its state database. For any new Dayforce employees, ml-connector POSTs Import Data requests to TallyPrime to create Group and Ledger entries with the employee name and Dayforce position cost codes. For terminations, it marks the TallyPrime ledger as inactive using Alter actions. Dayforce tokens expire in 3600 seconds, so ml-connector requests a fresh token at the start of every sync cycle. TallyPrime has no native idempotency, so ml-connector tracks voucher and master IDs locally to prevent duplicate creates. All records carry timestamps and are audit-logged so failed syncs can be replayed after fixing the underlying issue.
A real-world example
A mid-sized accounting firm in India uses TallyPrime for all client bookkeeping and GST compliance, and has recently hired remote staff paid through Dayforce. Before the integration, the partner reconciled Dayforce payroll runs by hand each month, creating groups and ledgers in TallyPrime for new staff and then manually posting deductions to the correct expense accounts. With TallyPrime and Dayforce connected, each new hire in Dayforce automatically creates the corresponding group and ledger in TallyPrime, and monthly payroll reconciliation is reduced to a final audit of the automatically created vouchers. Terminations are also handled automatically, and the firm's compliance audit trail is now complete.
What you can do
- Read employee records from Dayforce on a schedule and create or update matching groups and ledgers in TallyPrime.
- Map Dayforce position cost codes and org units to TallyPrime cost groups so payroll deductions debit the correct expense ledger accounts.
- Authenticate TallyPrime via local HTTP and company credentials, and Dayforce via OAuth 2.0, refreshing Dayforce tokens hourly.
- Detect employee changes in Dayforce by polling with date range filters, and compare TallyPrime voucher inventory against last-seen state to avoid duplicate creates.
- Audit every sync cycle with timestamps and state checkpoints, so failed syncs can be diagnosed and replayed without manual re-entry.
Questions
- Which direction does data move between TallyPrime and Dayforce?
- Employee and cost allocation records flow in both directions. When Dayforce payroll runs, ml-connector reads the updated employee records and org units, then creates or updates matching groups and ledgers in TallyPrime. New employees in Dayforce trigger new group creation in TallyPrime; terminations mark the TallyPrime ledger as inactive. Cost allocations from Dayforce positions are matched to TallyPrime cost groups.
- How does ml-connector handle TallyPrime's local-only HTTP server and lack of webhooks?
- ml-connector runs on a local agent or in the same network as the TallyPrime machine, connecting to the local HTTP server on port 9000 that must be manually enabled in TallyPrime Settings. Since TallyPrime has no webhooks, ml-connector polls at a regular interval (every 5 to 15 minutes) by POSTing Export Data requests with date range filters and comparing the returned voucher and ledger inventory against the previous sync state.
- What happens when Dayforce tokens expire or TallyPrime goes offline?
- Dayforce tokens expire in one hour, so ml-connector requests a fresh OAuth 2.0 bearer token at the start of every sync cycle. If TallyPrime is offline or the target company is not open, ml-connector logs the connection error, audit-logs the failure with a timestamp, and retries on the next polling interval. Failed syncs are recorded in the state database so they can be replayed once TallyPrime is available again.
Related integrations
More TallyPrime integrations
Other systems that connect to Dayforce
Connect TallyPrime and Dayforce
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started