{"id":2297,"date":"2026-06-18T10:00:00","date_gmt":"2026-06-18T10:00:00","guid":{"rendered":"https:\/\/aaxonix.com\/resources\/?p=2297"},"modified":"2026-04-02T10:32:56","modified_gmt":"2026-04-02T10:32:56","slug":"zoho-people-keka-greythr-migration-india","status":"publish","type":"post","link":"https:\/\/aaxonix.com\/resources\/zoho-people-keka-greythr-migration-india\/","title":{"rendered":"Zoho People + Keka\/GreytHR Migration: Moving Indian HRMS Data to Zoho"},"content":{"rendered":"<style>\n.aax-post{font-family:'Poppins',sans-serif;color:#1a2332;max-width:820px;margin:0 auto;line-height:1.75}\n.aax-post h2{font-size:1.55rem;font-weight:600;margin:2.5rem 0 .9rem;color:#0a1628}\n.aax-post h3{font-size:1.15rem;font-weight:600;margin:1.8rem 0 .6rem;color:#1a2332}\n.aax-post p{margin:0 0 1.1rem}\n.aax-post ul,.aax-post ol{margin:0 0 1.1rem;padding-left:1.5rem}\n.aax-post li{margin-bottom:.45rem}\n.aax-post table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.93rem}\n.aax-post th{background:#0a1628;color:#fff;padding:.6rem 1rem;text-align:left}\n.aax-post td{padding:.55rem 1rem;border-bottom:1px solid #e8edf4}\n.aax-post tr:nth-child(even) td{background:#f5f7fb}\n.aax-post .faq-section{background:#f5f7fb;border-radius:10px;padding:1.8rem 2rem;margin:2.5rem 0}\n.aax-post .faq-item{margin-bottom:1.2rem;border-bottom:1px solid #e0e6ef;padding-bottom:1.2rem}\n.aax-post .faq-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}\n.aax-post .faq-question{font-weight:600;color:#0a1628;margin-bottom:.5rem}\n.aax-post .faq-answer{color:#3a4a5c;line-height:1.65}\n.aax-post .aax-cta{background:linear-gradient(135deg,#0a1628 0%,#1a3a5c 100%);border-radius:12px;padding:1.8rem 2rem;margin:2.5rem 0;text-align:center}\n.aax-post .aax-cta p{color:#e8edf4;margin:0 0 1.2rem;font-size:1.05rem}\n.aax-post .aax-cta a{display:inline-block;background:#fff;color:#0a1628;font-weight:600;padding:.65rem 1.6rem;border-radius:6px;text-decoration:none;font-size:.95rem}\n<\/style>\n<div class=\"sp-toc-wrap\"><nav class=\"sp-blog-toc\" id=\"spBlogToc\" style=\"display:none\">\n  <h4><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"8\" y1=\"6\" x2=\"21\" y2=\"6\"\/><line x1=\"8\" y1=\"12\" x2=\"21\" y2=\"12\"\/><line x1=\"8\" y1=\"18\" x2=\"21\" y2=\"18\"\/><line x1=\"3\" y1=\"6\" x2=\"3.01\" y2=\"6\"\/><line x1=\"3\" y1=\"12\" x2=\"3.01\" y2=\"12\"\/><line x1=\"3\" y1=\"18\" x2=\"3.01\" y2=\"18\"\/><\/svg> On this page<\/h4>\n  <ol class=\"sp-toc-list\" id=\"spTocList\"><\/ol>\n<\/nav><\/div>\n<div class=\"aax-post\">\n\n<p>Migrating from Keka or GreytHR to Zoho People is a common project for Indian companies outgrowing their first HR software. Both Keka and GreytHR are well-adopted platforms for Indian payroll compliance, but companies switching to the Zoho ecosystem often need Zoho People as their central HRMS to integrate tightly with Zoho CRM, Zoho Payroll, and Zoho Books. This guide covers the complete migration from Keka to Zoho People or GreytHR to Zoho People: what to export, how to map data, import sequences, leave balance transfer, and a cutover checklist for zero-disruption go-live.<\/p>\n\n<figure style=\"margin:36px 0;text-align:center;line-height:0;\"><img decoding=\"async\" src=\"https:\/\/aaxonix.com\/resources\/wp-content\/uploads\/2026\/04\/zoho-people-keka-migration-inline-1.jpg\" alt=\"hr team office planning meeting\" style=\"width:100%;max-width:820px;height:auto;border-radius:10px;box-shadow:0 4px 20px rgba(10,22,40,.13);\" loading=\"lazy\" \/><\/figure><h2>Why Indian Companies Migrate to Zoho People<\/h2>\n<p>The most common reasons Indian companies move from Keka or GreytHR to Zoho People include:<\/p>\n<ul>\n<li><strong>Zoho ecosystem integration:<\/strong> Companies already using Zoho CRM, Zoho Books, or Zoho One want a single-vendor HR system that connects without middleware. Zoho People integrates natively with all other Zoho apps.<\/li>\n<li><strong>Cost consolidation:<\/strong> Zoho One bundles Zoho People with 40+ other apps, making standalone Keka or GreytHR licences redundant once a company commits to the Zoho ecosystem.<\/li>\n<li><strong>Custom module flexibility:<\/strong> Zoho People allows custom modules, forms, and workflows through its low-code builder, which many growing companies find more flexible than Keka&#8217;s fixed structure.<\/li>\n<li><strong>Global expansion:<\/strong> Companies with offshore teams or international employees find Zoho People&#8217;s multi-currency and multi-geography support easier to manage than Keka&#8217;s India-first architecture.<\/li>\n<\/ul>\n\n<h2>Phase 1: Pre-Migration Audit and Data Export<\/h2>\n<p>Before touching Zoho People, complete a thorough audit of your current system. The goal is to know exactly what data exists, what is clean enough to migrate, and what should be left in archive-only mode.<\/p>\n<h3>Data to Export from Keka<\/h3>\n<p>From your Keka Admin panel, export the following categories. Keka provides bulk CSV exports for most of these under <strong>HR &gt; Reports<\/strong> and <strong>Payroll &gt; Reports<\/strong>:<\/p>\n<table>\n<thead><tr><th>Data Category<\/th><th>Keka Export Location<\/th><th>Format<\/th><th>Migration Priority<\/th><\/tr><\/thead>\n<tbody>\n<tr><td>Employee master data<\/td><td>HR &gt; Reports &gt; Employee<\/td><td>CSV<\/td><td>Critical<\/td><\/tr>\n<tr><td>Department and designation hierarchy<\/td><td>Settings &gt; Organization<\/td><td>Manual copy<\/td><td>Critical<\/td><\/tr>\n<tr><td>Leave balances (current year)<\/td><td>Leave &gt; Reports &gt; Balance<\/td><td>CSV<\/td><td>Critical<\/td><\/tr>\n<tr><td>Leave transactions (history)<\/td><td>Leave &gt; Reports &gt; Transactions<\/td><td>CSV<\/td><td>Optional<\/td><\/tr>\n<tr><td>Attendance records<\/td><td>Attendance &gt; Reports<\/td><td>CSV<\/td><td>Archive only<\/td><\/tr>\n<tr><td>Payroll history (payslips)<\/td><td>Payroll &gt; Payslips<\/td><td>PDF bulk export<\/td><td>Archive only<\/td><\/tr>\n<tr><td>Salary structures<\/td><td>Payroll &gt; Salary Structures<\/td><td>Manual document<\/td><td>Recreate in Zoho<\/td><\/tr>\n<tr><td>Employee documents<\/td><td>HR &gt; Documents<\/td><td>ZIP download<\/td><td>Upload to Zoho WorkDrive<\/td><\/tr>\n<\/tbody>\n<\/table>\n<h3>Data to Export from GreytHR<\/h3>\n<p>GreytHR export paths differ slightly. Access most reports under <strong>Reports &gt; Employee Reports<\/strong> and <strong>Reports &gt; Payroll Reports<\/strong>. Notably, GreytHR&#8217;s leave balance export is under <strong>Leave &gt; Reports &gt; Leave Balance Statement<\/strong>, and you must select a specific &#8220;as of&#8221; date (use the migration go-live date).<\/p>\n\n<h2>Phase 2: Map Source Data to Zoho People Data Model<\/h2>\n<p>Zoho People organises employees differently from Keka and GreytHR. Before importing, map each source field to its Zoho People equivalent:<\/p>\n<table>\n<thead><tr><th>Keka \/ GreytHR Field<\/th><th>Zoho People Field<\/th><th>Module<\/th><th>Notes<\/th><\/tr><\/thead>\n<tbody>\n<tr><td>Employee ID<\/td><td>Employee ID<\/td><td>Employee<\/td><td>Keep same if possible<\/td><\/tr>\n<tr><td>Full Name<\/td><td>First Name + Last Name<\/td><td>Employee<\/td><td>Split into two fields<\/td><\/tr>\n<tr><td>Date of Joining<\/td><td>Date of Joining<\/td><td>Employee<\/td><td>Format: DD\/MM\/YYYY<\/td><\/tr>\n<tr><td>Department<\/td><td>Department<\/td><td>Employee<\/td><td>Must pre-create departments<\/td><\/tr>\n<tr><td>Designation<\/td><td>Designation<\/td><td>Employee<\/td><td>Must pre-create designations<\/td><\/tr>\n<tr><td>Reporting Manager<\/td><td>Reporting To<\/td><td>Employee<\/td><td>Import managers first<\/td><\/tr>\n<tr><td>Work Location<\/td><td>Location<\/td><td>Employee<\/td><td>Must pre-create locations<\/td><\/tr>\n<tr><td>PAN Number<\/td><td>PAN<\/td><td>Employee &gt; Personal<\/td><td>Statutory compliance<\/td><\/tr>\n<tr><td>Aadhaar Number<\/td><td>Aadhaar<\/td><td>Employee &gt; Personal<\/td><td>Handle as sensitive data<\/td><\/tr>\n<tr><td>Bank Account<\/td><td>Bank Details<\/td><td>Employee &gt; Pay<\/td><td>Import separately<\/td><\/tr>\n<tr><td>PF Number<\/td><td>PF Account Number<\/td><td>Employee &gt; Statutory<\/td><td>EPF compliance field<\/td><\/tr>\n<tr><td>ESI Number<\/td><td>ESI Number<\/td><td>Employee &gt; Statutory<\/td><td>If applicable<\/td><\/tr>\n<\/tbody>\n<\/table>\n\n<h2>Phase 3: Import Sequence in Zoho People<\/h2>\n<p>The import order matters. Zoho People validates references between records, so parent records must exist before child records can reference them. Follow this sequence precisely:<\/p>\n<ol>\n<li><strong>Configure Organisation Settings:<\/strong> Set your company name, GSTIN, PAN, registered address, and Indian payroll settings (PF\/ESI thresholds, professional tax state).<\/li>\n<li><strong>Create Departments and Designations:<\/strong> Go to <em>Settings &gt; Organisation &gt; Departments<\/em> and create all departments from your export. Do the same for Designations.<\/li>\n<li><strong>Create Leave Types:<\/strong> In <em>Leave &gt; Leave Types<\/em>, create leave types matching your source system (Earned Leave, Sick Leave, Casual Leave, and any company-specific types). Configure accrual rules and carry-forward policies to match your existing policy.<\/li>\n<li><strong>Import Managers First:<\/strong> If employees report to other employees, import senior employees first so the Reporting To field can reference them. Export your org chart and sort the CSV by level before import.<\/li>\n<li><strong>Import Employee Master Data:<\/strong> Use <em>HR &gt; Employees &gt; Import<\/em>. Map CSV columns to Zoho People fields. Run a test import with 5 records first to validate field mapping.<\/li>\n<li><strong>Import Leave Balances:<\/strong> After employees are imported, go to <em>Leave &gt; Leave Balance &gt; Adjust Balance<\/em> and use the bulk import CSV option. This is the most error-prone step \u2014 validate each employee&#8217;s balance against the source export.<\/li>\n<li><strong>Upload Documents:<\/strong> Upload employee documents (offer letters, ID proofs) to Zoho WorkDrive and link them in each employee&#8217;s Document tab.<\/li>\n<\/ol>\n\n<h2>Phase 4: Transfer Leave Balances<\/h2>\n<p>Leave balance migration is the most sensitive part of the project. Errors here directly affect employee payouts and morale.<\/p>\n<h3>Preparing the Balance Import CSV<\/h3>\n<p>Zoho People&#8217;s leave balance import CSV requires these columns:<\/p>\n<pre style=\"background:#f5f7fb;padding:1rem;border-radius:6px;overflow-x:auto;font-size:.85rem;\"><code>Employee ID, Leave Type, Balance Type, Number of Days, Notes\nEMP001, Earned Leave, Opening Balance, 12.5, Migrated from Keka\nEMP001, Sick Leave, Opening Balance, 5, Migrated from Keka\nEMP002, Earned Leave, Opening Balance, 8, Migrated from Keka<\/code><\/pre>\n<p>Key rules for the balance import:<\/p>\n<ul>\n<li>Use the exact Leave Type name as configured in Zoho People (case-sensitive).<\/li>\n<li>Set the balance as of your go-live date, not the financial year start. Any leave taken between the financial year start and go-live date must already be deducted from the balance in your export.<\/li>\n<li>Half-day balances should be expressed as 0.5 increments (e.g., 12.5 days).<\/li>\n<li>Verify the total balance for each employee matches the source system before finalising.<\/li>\n<\/ul>\n\n<h2>Phase 5: Payroll History and Zoho Payroll Setup<\/h2>\n<p>Historical payroll data from Keka or GreytHR cannot be processed retroactively in Zoho Payroll. Handle it this way:<\/p>\n<h3>Archive Payslips<\/h3>\n<p>Export all historical payslips as PDFs from Keka or GreytHR. Upload them to a structured folder in Zoho WorkDrive (organised by Financial Year &gt; Month &gt; Employee ID). Link the folder access to the HR team only.<\/p>\n<h3>Configure Zoho Payroll Opening Balances<\/h3>\n<p>In Zoho Payroll, for each employee, set:<\/p>\n<ul>\n<li><strong>Previous employer YTD earnings:<\/strong> Total gross paid in the current financial year from the previous system before migration.<\/li>\n<li><strong>Previous employer TDS deducted:<\/strong> TDS already deducted in the current financial year \u2014 critical for accurate Form 16 generation at year-end.<\/li>\n<li><strong>PF opening balances:<\/strong> Employee PF and Employer PF contributions made so far in the current year.<\/li>\n<\/ul>\n<p>These values feed into the annual Form 16 computation, so accuracy is essential for statutory compliance.<\/p>\n\n<h2>Cutover Checklist<\/h2>\n<p>Run through this checklist on your go-live day:<\/p>\n<ul>\n<li>All employees imported and validated (headcount matches source system)<\/li>\n<li>Leave balances verified for 100% of employees<\/li>\n<li>Zoho Payroll salary structures configured and test payroll run completed<\/li>\n<li>PF, ESI, and professional tax settings validated against state rules<\/li>\n<li>Employee self-service portal enabled and login credentials sent<\/li>\n<li>Leave approval workflows configured and tested<\/li>\n<li>Integration with Zoho CRM (if used) tested for employee data sync<\/li>\n<li>Source system set to read-only (do not process new payroll in Keka\/GreytHR after go-live)<\/li>\n<li>HR team training completed<\/li>\n<\/ul>\n\n<div class=\"faq-section\">\n<h2>Frequently Asked Questions<\/h2>\n<div class=\"faq-item\">\n<p class=\"faq-question\">Can I export all employee data from Keka before migrating to Zoho People?<\/p>\n<p class=\"faq-answer\">Yes. Keka provides bulk export options for employee master data, leave balances, attendance records, and salary structure data from the Admin panel. Export each category as separate CSV files. Keka also provides payroll reports including monthly payslips and Form 16 as PDFs, which should be archived separately before migration. GreytHR offers similar exports under Reports.<\/p>\n<\/div>\n<div class=\"faq-item\">\n<p class=\"faq-question\">How do I handle leave balance carry-forward in Zoho People?<\/p>\n<p class=\"faq-answer\">Zoho People allows manual balance adjustment. After importing employees, use the Leave Balance Adjustment feature in Setup to upload a CSV with employee ID, leave type, and balance units. Map Keka or GreytHR leave type names to your configured Zoho People leave types before importing. Validate every employee&#8217;s balance against the source system export before go-live.<\/p>\n<\/div>\n<div class=\"faq-item\">\n<p class=\"faq-question\">Does Zoho People support the same leave policies as Keka?<\/p>\n<p class=\"faq-answer\">Zoho People supports configurable leave policies including earned leave accrual, sick leave, casual leave, compensatory off, and company-specific leave types. Most Keka and GreytHR leave configurations can be replicated in Zoho People. Complex encashment and carry-forward rules may need to be manually reconfigured in Zoho People&#8217;s Leave Settings after consulting the Zoho People documentation for your specific policy requirements.<\/p>\n<\/div>\n<div class=\"faq-item\">\n<p class=\"faq-question\">How long does a typical Keka to Zoho People migration take?<\/p>\n<p class=\"faq-answer\">For a company with 100-500 employees, the technical migration takes 2-4 weeks including data cleaning, import, and validation. Add 1-2 weeks for a parallel-run period where both systems remain active. Training and change management add another 1-2 weeks. Budget 6-8 weeks total for a complete cutover with minimal disruption to HR operations.<\/p>\n<\/div>\n<div class=\"faq-item\">\n<p class=\"faq-question\">Is historical payroll data from Keka usable in Zoho Payroll?<\/p>\n<p class=\"faq-answer\">Historical payroll data from Keka cannot be reprocessed in Zoho Payroll, but prior year-to-date figures must be entered as opening balances in Zoho Payroll for accurate Form 16 generation. Export all historical payslips from Keka as PDFs and archive them in Zoho WorkDrive. Enter TDS already deducted, PF contributions, and gross earnings for the current financial year as previous employer details in Zoho Payroll for each employee.<\/p>\n<\/div>\n<\/div>\n\n<div class=\"aax-cta\">\n<p>Migrating from Keka or GreytHR to Zoho People? Aaxonix manages end-to-end HRMS migrations for Indian companies with zero payroll disruption.<\/p>\n<a href=\"https:\/\/aaxonix.com\/contact\/\">Talk to Our Migration Team<\/a>\n<\/div>\n\n<\/div>","protected":false},"excerpt":{"rendered":"<p>On this page Migrating from Keka or GreytHR to Zoho People is a common project for Indian companies outgrowing their first HR&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[628,630,629,7,627,75],"class_list":["post-2297","post","type-post","status-publish","format-standard","hentry","category-blog","tag-greythr","tag-hr-software","tag-hrms-migration","tag-india","tag-keka","tag-zoho-people"],"_links":{"self":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts\/2297","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/comments?post=2297"}],"version-history":[{"count":1,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts\/2297\/revisions"}],"predecessor-version":[{"id":2298,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/posts\/2297\/revisions\/2298"}],"wp:attachment":[{"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/media?parent=2297"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/categories?post=2297"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aaxonix.com\/resources\/wp-json\/wp\/v2\/tags?post=2297"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}