How to Migrate from Excel to Zoho CRM
Step-by-step guide to migrating from Excel spreadsheets to Zoho CRM for Indian sales teams. Covers…
Running payroll in India involves more moving parts than most finance heads anticipate: employee records live in HR software, attendance data flows from a separate module, salary journals need to hit the accounting system before month-end close, and three statutory filings demand their own payable ledgers every quarter. When those systems do not talk to each other, someone on the team is reconciling spreadsheets at 11 PM on pay-run day. Zoho Payroll setup for Indian businesses becomes substantially more powerful once you wire it into the rest of the Zoho stack. This guide covers exactly how to configure zoho payroll integration with both Zoho People and Zoho Books, what data flows where, how statutory liabilities are posted automatically, and what to do when the sync breaks.

Most SMBs using the Zoho stack start with the tools in isolation. HR managers configure Zoho People for onboarding and leave management. Finance sets up Zoho Books for invoicing and GST returns. Payroll administrators process salary in Zoho Payroll. Each team exports CSVs and emails them to the next. The problems this creates are predictable:
The zoho payroll integration with Zoho People and Zoho Books eliminates all four of these failure points. Employee master data flows from People to Payroll automatically. Attendance and leave balances sync before each pay run. After payroll is approved, journal entries post directly to Books against the correct accounts. Statutory deductions appear as payable liabilities the moment the payroll is finalized, not days later.
A single source of truth also matters for audits. When a GST officer or statutory auditor asks for the salary expense breakup for a quarter, you can pull a reconciled report from Books that matches the Zoho Payroll run history exactly, with no manual adjustments.
The Zoho People to Zoho Payroll connection is the HR-to-payroll leg of the integration. It covers four distinct data categories.
When you enable the integration, Zoho Payroll pulls employee records from Zoho People HR management including name, department, designation, date of joining, PAN, Aadhaar-linked UAN (for PF), bank account details, and pay grade. Any update made in People, such as a promotion that changes the basic pay bracket or a bank account correction, propagates to Payroll before the next pay run. You do not need to update both systems separately.
New hires added to Zoho People with a confirmed date of joining automatically appear in Zoho Payroll as active employees eligible for the current pay period, provided the joining date falls within the open pay run window.
This is where the zoho payroll zoho people integration pays its most tangible dividend. Zoho People tracks leave approvals in real time. When the integration is active, Zoho Payroll reads the approved leave data for the pay period directly from People rather than from an exported report.
Leave Without Pay days are computed automatically against the employee’s per-day salary (monthly CTC divided by the number of pay days in that month). If an employee at Tata Consultancy Services equivalent grade takes three unpaid leave days in a 26-pay-day month and their monthly basic is INR 40,000, the LOP deduction is calculated as (40,000 / 26) x 3 = INR 4,615. That figure flows directly into the salary slip without manual intervention.
If your organization uses Zoho People’s attendance module (biometric integration or manual punching), Zoho Payroll can read attendance records to compute pay for piece-rate or hourly workers, or to validate present-day counts for salary calculations. The zoho payroll attendance leave sync means payroll administrators do not need to export an attendance register and cross-check it against leave records manually.
Zoho People supports custom employee fields. If you track a field like “Sales Incentive Eligible” or “Shift Allowance Category” in People, you can map those to variable pay components in Zoho Payroll. The mapping is configured once in Payroll settings, and the component values update each pay cycle based on the People record.
The Zoho Books accounting platform handles the accounting leg of this integration. After a pay run is approved and salaries are disbursed (or marked ready for disbursement), Zoho Payroll creates a journal entry in Zoho Books automatically.
A standard payroll journal entry in Zoho Books after integration looks like this:
| Account | Type | Debit (INR) | Credit (INR) |
|---|---|---|---|
| Salary Expense | Expense | 8,50,000 | |
| Employee PF Contribution (Employer) | Expense | 72,000 | |
| ESI Contribution (Employer) | Expense | 28,500 | |
| Bank / Salary Payable | Liability | 8,50,000 | |
| PF Payable (Employee + Employer) | Liability | 1,16,000 | |
| ESI Payable | Liability | 42,750 | |
| TDS Payable (Salary) | Liability | 38,000 |
The zoho payroll journal entry zoho books creates this structure automatically for each approved pay run. The journal date matches the pay period end date, and the reference number ties back to the Zoho Payroll run ID, making reconciliation straightforward.
Before the first pay run posts, you map each pay component in Zoho Payroll to a specific account in your Zoho Books chart of accounts. Basic salary maps to your “Salaries and Wages” expense account. HRA maps to “HRA Expense.” Employer PF maps to “Employer PF Contribution.” This mapping is done once and applies to all future pay runs unless you change a component’s accounting treatment.
If you are new to setting up Zoho Books for Indian businesses, ensure your chart of accounts is structured with separate liability accounts for PF Payable, ESI Payable, and TDS Payable before configuring the payroll integration. Posting all deductions to a single “Statutory Dues” account works initially but makes compliance reporting harder as the company scales.

For Indian businesses, statutory compliance in Zoho Payroll is not optional. PF, ESI, and TDS on salary are monthly obligations with hard deadlines: PF by the 15th of the following month (remitted to the Employees’ Provident Fund Organisation), ESI by the 21st, and TDS by the 7th. Missing these triggers interest under Section 201 of the Income Tax Act and penalties under the Employees’ Provident Fund and Miscellaneous Provisions Act.
Zoho Payroll computes PF contributions at 12% of basic salary (up to INR 15,000 per month for EPF wage ceiling purposes), with an equal employer contribution. ESI applies at 0.75% employee and 3.25% employer on gross salary for employees earning up to INR 21,000 per month. TDS on salary is computed using the New Tax Regime by default (or Old Regime if the employee opts in) based on projected annual income, and deducted monthly as advance tax under Section 192.
When the zoho payroll integration posts a pay run to Zoho Books, each statutory deduction appears as a separate payable liability:
This means your Zoho Books balance sheet reflects the correct liability position on pay-run day, not after manual journal entry. Finance heads at companies like mid-sized IT services firms in Pune or manufacturing units in Faridabad find this particularly useful for month-end close: the books balance on the same day payroll is approved, not three days later after manual entry.
Salary payments are not subject to GST (they fall outside the scope of supply under Schedule III of the CGST Act). However, some allowances paid to employees, such as car hire charges reimbursed without supporting invoices or mobile bills without GST credit transfer, may have indirect GST implications. The Zoho Payroll to Zoho Books integration does not create GST entries for salary; those are handled separately in the Books GST module if applicable.
This happens when a pay run is approved, the journal posts, the run is then voided and re-approved (for a correction), and a second journal is created without voiding the first. Zoho Payroll does not automatically reverse the original journal when a pay run is voided.
Fix: When voiding a pay run, manually create a reversal journal in Zoho Books before re-running payroll. The reversal journal debits all credit accounts from the original entry and credits all debit accounts. Mark both journals with matching reference notes for audit clarity.
If an employee’s bank account or PAN is updated in Zoho People but the change does not appear in Zoho Payroll before the next run, the most common cause is a sync permission issue. Zoho People field-level permissions can restrict which roles can view employee financial data. If the API user connecting the integration lacks permission to read the bank account field, that field will not sync.
Fix: In Zoho People, go to Settings > Roles and Permissions, locate the role used for the integration (typically “Payroll Integration” or the admin role), and confirm it has view access to all employee financial fields.
Pay component mapping errors are the most common cause of incorrect journal entries. They typically appear as salary expense posted to a liability account, or a deduction appearing as an expense rather than a payable. This usually happens when the initial mapping was done hastily or when a new pay component is added post-setup without mapping it.
Fix: In Zoho Payroll Settings > Integrations > Zoho Books, review the full component mapping list. Any component showing “Unmapped” will default to a generic expense account, which is almost never correct for deductions. Map all components before the next pay run. If a past journal has a mapping error, void and recreate it after correcting the mapping.
If a leave type in Zoho People has no counterpart in Zoho Payroll’s leave mapping table, the system treats those leaves as paid. An employee who takes two days of an unmapped “Paternity Leave” type will have zero LOP deduction even if the policy calls for one day unpaid. The error shows up in the pay slip as a discrepancy between approved leave and computed deduction.
Fix: After any new leave type is added in Zoho People, revisit the leave mapping table in Zoho Payroll and classify the new type as paid, unpaid, or partially paid according to your policy document. Cross-reference your TDS liability account balance against the Income Tax portal’s TDS/TCS services after each quarter to catch any mis-mapped components before the Form 24Q filing deadline.

Does Zoho Payroll integration with Zoho Books work for multi-company setups in India?
Yes, but each Zoho Books organization must be connected separately to its corresponding Zoho Payroll entity. If you run payroll for two separate legal entities (for example, a parent company and a subsidiary registered separately under MCA), each entity needs its own Zoho Payroll organization linked to its own Zoho Books organization. Cross-entity journal posting is not supported natively.
How does the zoho payroll attendance leave sync handle half-day leaves?
Zoho People supports half-day leave entries. When synced to Zoho Payroll, a half-day leave is counted as 0.5 days for LOP computation if the leave type is unpaid. The per-day rate is halved accordingly. For example, if the per-day rate is INR 1,800, a half-day LOP deduction will be INR 900. This calculation is automatic provided the leave type mapping correctly classifies the leave as unpaid or partially paid.
Can I post salary journals to a different financial year in Zoho Books?
Zoho Books journals from Zoho Payroll post with the date matching the pay period end date. If the pay period end date falls in the previous financial year (for example, a March 2026 payroll run processed in early April 2026), the journal will carry a March 31 date and post to the FY 2025-26 books, provided that financial year is not locked in Books. If the year is locked, you must unlock it temporarily under Settings > Fiscal Year, post the journal, then re-lock.
What happens to the Zoho Books integration if a pay run is voided after disbursement?
Voiding a pay run in Zoho Payroll does not automatically reverse the journal entry in Zoho Books. You must manually create a reversal journal in Books. This is an intentional design choice to protect the accounting record. After creating the reversal, process a corrected pay run, which will generate a fresh journal entry when approved.
Does the integration handle arrear payments and revised salaries mid-month?
Zoho Payroll supports arrear pay runs for salary revisions effective from a past date. When an arrear pay run is approved, it creates a separate journal entry in Zoho Books for the arrear amount, not a modification of the original pay run’s journal. This keeps the accounting clean. Map the arrear salary component to the same expense account as basic salary to ensure correct expense classification.
Is there a way to verify the TDS computed by Zoho Payroll against Form 24Q requirements?
Zoho Payroll generates Form 24Q data as part of its statutory reports. After each quarterly pay period, navigate to Reports > Statutory Reports > TDS Reports in Zoho Payroll to download the 24Q summary. Cross-reference the TDS Payable balance in Zoho Books against this report. If they match, your Challan 281 remittance amount is confirmed. Any mismatch typically points to a component mapping error where a taxable component was not included in the TDS computation base.
Configuring zoho payroll integration across People and Books involves mapping decisions that affect statutory compliance, month-end close accuracy, and audit readiness. Getting the chart of accounts mapping and leave type classifications right the first time saves significant correction effort later. Aaxonix helps Indian SMBs set up and validate this integration end-to-end, including a test pay run review before you go live.
Book a free consultationA properly configured zoho payroll integration eliminates the manual handoffs that cause errors in Indian payroll: mis-stated LOP deductions, late statutory postings, and journal entries that do not match the pay run. Once Zoho People, Zoho Payroll, and Zoho Books are connected and tested, your payroll close cycle shrinks from a multi-day spreadsheet exercise to an approved pay run and an automatically posted journal. The compliance position is accurate in real time, and the audit trail runs from the leave approval in People through the salary slip in Payroll to the ledger entry in Books, all in one connected system.
Tell us what you are working through and a senior architect from our team will get back to you with a straight answer, usually within a couple of working days. No bot, no hard sell.
A senior architect will get back to you at , usually within a couple of working days. Worth checking your spam folder, just in case.
Tell us what you are actually trying to do. You will get a straight answer from a senior architect who has done this before, not a sales rep.
A senior architect will get back to you at , usually within a couple of working days. Worth checking your spam folder, just in case.
Ask it now and a senior architect will get back to you, usually within a couple of working days. It goes to our team, not a mailing list.
A senior architect will get back to you at , usually within a couple of working days. Worth checking your spam folder, just in case.