🇮🇳

Onboarding Indian Companies

Complete setup guide for HRSanad — Indian Labour Law, statutory deductions, salary structure, and compliance calendar.

Covers: EPF · ESI · Professional Tax · TDS · Indian Gratuity · CL/SL/PL Leave · Indian Salary Structure · April–March Fiscal Year

🌐 How HRSanad Supports Indian Companies

HRSanad is built as a multi-tenant SaaS platform. Every company is an isolated tenant with its own configuration — currency, fiscal year, gratuity slabs, pay components, and leave policies are all per-company, per-tenant. Nothing is hardcoded to UAE.

🏦
Currency = INR

Set payroll_currency = 'INR' on the company record. All payslips and exports use ₹.

📅
Fiscal Year = April–March

Set fiscal_year_start = 4. India's financial year runs 1 April → 31 March.

🗄️
Country Code = IN

Set country_code = 'IN'. India is already seeded in the nationalities table.

UAE defaults vs Indian requirements — key differences

Setting
🇦🇪 UAE Default
🇮🇳 India Setup
Currency
AED
INR (₹)
Fiscal Year
January – December
April – March
Gratuity Divisor
30 days
26 days (working days)
Gratuity Trigger
1 year service
5 years continuous service
Gratuity Rate
21 days/yr (1–5 yrs)
30 days/yr (>5 yrs)
15 days/yr for all service bands
Wage Protection
WPS (SIF file) mandatory
No WPS — use JV export or NEFT/bank file
Annual Leave Min
30 calendar days
15 earned days (Factories Act)
+ CL + SL separately
Statutory Deductions
None mandatory
EPF + ESI + PT + TDS
Income Tax
Zero (no income tax)
TDS u/s 192 (monthly deduction)
Trade Licence Field
Required
Leave blank (use CIN / GST instead in address)

⚙️ Step-by-Step Company Setup

  1. Create the Company Record

    Go to Admin → Company → New Company. Fill in these critical India-specific fields:

    FieldValue for IndiaWhy
    country_codeINIdentifies company as Indian for rule application
    payroll_currencyINRAll payslips, reports, JV exports use ₹
    fiscal_year_start4 (April)India's April–March financial year
    wps_mol_idLeave blankWPS is UAE-only; not required for India
    wps_agent_idLeave blankWPS is UAE-only; not required for India
  2. Create Grades

    Indian organisations typically use these grade bands. Create them in Admin → Grade Master:

    L1 – Junior
    0–3 yrs exp
    L2 – Mid
    3–7 yrs exp
    L3 – Senior
    7–12 yrs exp
    L4 – Lead
    12+ yrs exp

    Also create: Manager, Senior Manager, Director, VP — based on your org structure.

  3. Configure Indian Gratuity Slabs

    The default slabs in the system are UAE-specific. You must create Indian slabs for your tenant in Admin → Finance → Gratuity Slabs:

    Years FromYears ToDays Per YearDivisorEffective Date
    00.990 (no gratuity)26Company joining date
    5null (unlimited)1526Company joining date
    🇮🇳 India-specific: The "26" divisor Indian gratuity uses 26 working days as the divisor (not 30 like UAE). The formula is:
    Gratuity = (Basic + DA) × 15 ÷ 26 × Years of Service
    The salary_divisor field in the gratuity slab is read from the database — just set it to 26.
  4. Set Up Leave Types

    Create the Indian leave types in Admin → Leave → Leave Types. See the full Leave Configuration section below.

  5. Set Up Pay Components

    Create the Indian salary components in Admin → Pay Component Master. See the Indian Salary Structure section below for the full list.

  6. Assign Components to Grades

    In Admin → Grade Master → [Grade] → Default Pay Components, assign the standard components for each grade. Employee-level overrides are applied individually.

  7. Add Employees

    When adding Indian employees, capture these India-specific fields in addition to standard details:

    • PAN — Permanent Account Number (mandatory for TDS)
    • Aadhaar Number — 12-digit unique identity (store masked)
    • UAN — Universal Account Number for EPF/PF
    • ESIC Number — if wage ≤ ₹21,000/month
    • Bank Account + IFSC Code — for NEFT salary transfer
    • Nomination Form F — gratuity nominee
    • Tax Regime Choice — Old or New Regime
    • Investment Declarations — Form 12BB for TDS computation

    Store PAN and Aadhaar in the Documents tab of the Employee Master with appropriate expiry alerts (use the existing document expiry system).

💰 Indian Salary Structure

A typical Indian salary (CTC — Cost to Company) is made up of several components. The structure is designed to optimise tax liability for the employee while meeting legal requirements. Here is a standard structure and how to configure each component in HRSanad:

CTC ₹12 L/yr example GROSS SALARY Basic (40%) HRA (20%) LTA (5%) Medical (1%) Special Allow. ~86% of CTC + EMPLOYER COSTS EPF Employer 12% ESI Employer 3.25% Gratuity Accrual ~14% of CTC = TAKE-HOME Gross Salary − EPF Employee 12% − ESI Employee 0.75% − Professional Tax − TDS (income tax)

CTC = Gross Salary + Employer Statutory Contributions. Take-home = Gross − Employee Deductions.

Pay Component setup in HRSanad

Component NameTypeCalc MethodTypical ValueTax Status
Basic Salary Earning fixed 40–50% of gross CTC Fully taxable
Dearness Allowance (DA) Earning pct_basic 0–20% of Basic (varies by sector; many private IT companies set 0%) Fully taxable
HRA (House Rent Allowance) Earning pct_basic 50% of Basic (metro cities); 40% (non-metro) Partially exempt u/s 10(13A) if rent paid
LTA (Leave Travel Allowance) Earning fixed ₹15,000–₹50,000/year (paid annually) Exempt u/s 10(5) for actual travel (twice in 4-yr block)
Conveyance Allowance Earning fixed ₹1,600/month Exempt up to ₹19,200/year under old regime
Medical Allowance Earning fixed ₹1,250/month Exempt up to ₹15,000/year with bills (old regime)
Special Allowance Earning formula CTC − (Basic + HRA + LTA + Medical + other fixed) — the "balancing" component Fully taxable
Performance Bonus / Variable Pay Earning fixed Paid quarterly or annually Fully taxable; TDS must be deducted at payment
EPF Employee Contribution Deduction pct_basic 12% of (Basic + DA) Employee deduction; exempt u/s 80C up to ₹1.5L
ESI Employee Contribution Deduction pct_gross 0.75% of gross wages (only if gross ≤ ₹21,000/month) Employee deduction
Professional Tax Deduction fixed ₹200/month (Karnataka, Maharashtra) — see state table Employee deduction; exempt u/s 16(iii)
TDS (Income Tax) Deduction fixed Calculated per employee per month (see TDS section) Mandatory deduction under Section 192
EPF Employer Contribution Employer Cost pct_basic 12% of (Basic + DA): 3.67% → EPF, 8.33% → EPS Not paid to employee; employer expense
ESI Employer Contribution Employer Cost pct_gross 3.25% of gross wages (only if employee eligible for ESI) Not paid to employee; employer expense
NPS Employer Contribution Employer Cost pct_basic 10% of (Basic + DA) — optional, if company has NPS Employer contribution; tax-exempt
⚠️ EPF Ceiling EPF contribution is mandatory only on the first ₹15,000 of Basic + DA. If Basic + DA exceeds ₹15,000, the statutory EPF is capped at 12% × ₹15,000 = ₹1,800/month. However, employees can voluntarily contribute on the actual Basic + DA. Configure this using HRSanad's formula engine: min(basic + da, 15000) * 0.12
💡 The "is_gratuity_base" flag When creating pay components, mark Basic Salary and DA as is_gratuity_base = true. The gratuity engine uses only these components for calculation. HRA, LTA, Special Allowance, and other components must NOT be flagged — this matches the Payment of Gratuity Act which specifies "last drawn wages" as Basic + DA.

📋 Statutory Deductions — Deep Dive

1. EPF — Employee Provident Fund

Who is covered?

  • All employees earning Basic + DA ≤ ₹15,000/month must be enrolled (mandatory)
  • Employees above ₹15,000 can opt in voluntarily
  • Establishments with 20+ employees must register under EPF Act

Contribution rates

  • Employee: 12% of (Basic + DA)
  • Employer: 12% of (Basic + DA) — split as:
      • 3.67% → Employee Provident Fund (EPF account)
      • 8.33% → Employees' Pension Scheme (EPS)
  • EDLI (insurance) contribution: 0.5% of Basic + DA by employer

What the employee gets

  • Accumulates a retirement corpus (both employee + employer EPF share)
  • UAN (Universal Account Number) is portable across employers
  • Can withdraw on retirement, housing, medical emergency
  • Full withdrawal only on resignation after 2 months of unemployment

Monthly return

File ECR (Electronic Challan cum Return) on EPFO portal by 15th of the following month. Use HRSanad's JV export to get the component-level totals.

EPF Slab Example — Employee Basic = ₹25,000/month
Mandatory EPF:    12% × ₹15,000 = ₹1,800  (employee deduction)
Employer EPF:      3.67% × ₹15,000 = ₹550.50  (to PF account)
Employer EPS:      8.33% × ₹15,000 = ₹1,249.50  (to pension)
Total employer: ₹1,800

If opted for full contribution:
  Employee: 12% × ₹25,000 = ₹3,000
  Employer: 12% × ₹25,000 = ₹3,000 (split same way)

2. ESI — Employee State Insurance

Who is covered?

  • Employees with gross wages ≤ ₹21,000/month
  • Establishments with 10+ employees (in most states)
  • Applicable in notified areas/states (check ESIC portal for your city)

Contribution rates

  • Employee: 0.75% of gross wages
  • Employer: 3.25% of gross wages

What the employee gets

  • Medical care for self and family at ESIC hospitals/dispensaries
  • Maternity benefit (26 weeks paid)
  • Sickness benefit (70% of wages during illness)
  • Disablement benefit
  • Dependent benefit in case of death

Monthly return

File contribution on ESIC portal by 15th of the following month.

⚠️ ESI Ceiling Reset ESI eligibility is determined at the start of each contribution period (April–September, October–March). If an employee's wages cross ₹21,000 mid-period, they remain covered until the end of that period. They exit from the next period. Configure this in HRSanad using a formula-type component: if(gross <= 21000, gross * 0.0075, 0)

3. Professional Tax (PT)

Professional Tax is a state-level tax deducted monthly from employee wages. The rates and slabs differ by state. It is capped at ₹2,500/year by the Constitution. Configure as a fixed deduction per month in HRSanad.

🏙️ Maharashtra

Salary ≤ ₹7,500: Nil
₹7,501–₹10,000: ₹175/mo
>₹10,000: ₹200/mo (₹300 in Feb)

🌳 Karnataka

Salary ≤ ₹14,999: Nil
₹15,000–₹29,999: ₹150/mo
≥ ₹30,000: ₹200/mo

🐟 West Bengal

Salary ≤ ₹8,500: Nil
₹8,501–₹25,000: ₹90–₹110/mo
>₹25,000: ₹200/mo

🌿 Andhra/Telangana

Salary ≤ ₹15,000: Nil
₹15,001–₹20,000: ₹150/mo
>₹20,000: ₹200/mo

🌊 Tamil Nadu

Salary ≤ ₹3,500: Nil
₹3,501–₹5,000: ₹22.5/mo
₹5,001–₹7,500: ₹52.5/mo
>₹7,500: ₹182.5/mo

🏔️ Gujarat / Delhi

Professional Tax is not applicable in Gujarat (abolished) and Delhi has no PT. Set component value to ₹0 or skip.

4. TDS — Tax Deducted at Source (Section 192)

TDS on salary is the employer's responsibility to deduct and deposit monthly. The amount is based on the employee's projected annual income and their chosen tax regime.

How to calculate TDS monthly

  1. Project the employee's full-year income (salary × 12 + bonus)
  2. Subtract eligible deductions (80C, HRA exemption, etc.) — only under Old Regime
  3. Apply the tax slabs to get annual tax liability
  4. Divide by 12 → monthly TDS deduction

HRSanad configuration

  • Add TDS as a fixed deduction component, manually updated each April after investment declarations are collected
  • Mid-year: adjust TDS if bonus/increment changes projected income
  • December/January: recalculate based on actual investments
  • The formula calc method can be used for simple progressive calculations

📊 Income Tax — New Regime vs Old Regime

From FY 2023-24, the New Tax Regime is the default. Employees must explicitly opt for the Old Regime. Capture this choice during onboarding via the employee form.

New Regime (Default from FY 2023-24)

Budget 2023. Simpler, lower rates, but most deductions not available.

Up to ₹3,00,000
NIL
₹3L – ₹7L
5%
₹7L – ₹10L
10%
₹10L – ₹12L
15%
₹12L – ₹15L
20%
Above ₹15L
30%

✅ Rebate u/s 87A: No tax for income up to ₹7L. Standard deduction ₹50,000 allowed.

Old Regime (Employee must opt in)

Traditional regime. More tax but allows exemptions and deductions.

Up to ₹2,50,000
NIL
₹2.5L – ₹5L
5%
₹5L – ₹10L
20%
Above ₹10L
30%

Key deductions available: 80C (₹1.5L) · HRA exemption · LTA · 80D (medical) · 80CCD(1B) NPS ₹50K · Standard deduction ₹50K

💡 Form 12BB — Investment Declaration At the start of each financial year (April), collect Form 12BB from every employee. This declares their planned investments (PPF, LIC, ELSS, etc.) so you can compute the correct TDS from April itself. Collect actual proofs by January–February for final adjustment. Store these as documents in HRSanad's Document Management section.

🏅 Indian Gratuity — Payment of Gratuity Act, 1972

Key Rules

  • Minimum service: 5 continuous years (exception: death or disability — no minimum)
  • Rate: 15 days' wages per completed year of service
  • Divisor: 26 working days (NOT 30 like UAE)
  • Maximum: ₹20 lakh (tax-exempt up to this limit)
  • Salary base: Basic + DA only (not HRA, allowances, bonus)
  • Partial year: > 6 months counts as full year; ≤ 6 months ignored

Formula

Daily Rate = (Basic + DA) ÷ 26

Gratuity  = Daily Rate × 15
          × Years of Service

Max Gratuity = ₹20,00,000

Example: Basic + DA = ₹30,000/month. Service = 8 years.
Daily rate = 30,000 ÷ 26 = ₹1,153.85
Gratuity = ₹1,153.85 × 15 × 8 = ₹1,38,461

HRSanad Gratuity Slab Configuration for India

Create these rows in the finance.gratuity_slabs table for the Indian tenant. The existing UAE slabs belong to a different tenant and will not affect your Indian company.

Slabyears_fromyears_todays_per_yearsalary_divisorNote
No gratuity 0 4.49 0 26 Less than 5 years: no entitlement (except death/disability)
Standard gratuity 5 NULL 15 26 The core India rule. Applies forever — no upper limit on years.
🚨 The most critical difference from UAE: divisor = 26, not 30 UAE divides by 30 (calendar days). India divides by 26 (working days). Using the wrong divisor increases gratuity by 15% — a significant underpayment to the employee or overpayment to the employer. The HRSanad salary_divisor field on the slab row handles this correctly — just set it to 26.

🌴 Indian Leave Configuration

India has a multi-leave system where each leave type has its own rules, accrual, and carry-forward policy. Configure all of these in Admin → Leave → Leave Types.

The three core leave types

Leave TypeCodeDaysAccrualCarry ForwardDocument Required
Privilege / Earned Leave (EL) PL 15 days/year (Factories Act minimum) monthly (1.25 days/month) Yes — up to 30 days; expires after 3 years No
Sick Leave (SL) SL 7–12 days/year (varies by state/Shop Act) annual (full credit on April 1) No — lapses at year end Medical certificate for > 3 consecutive days
Casual Leave (CL) CL 7–12 days/year (varies by state) annual (full credit on April 1) No — strictly no carry forward; lapses Dec 31 or Mar 31 No (purpose is typically personal/emergency)

Additional leave types to configure

Leave TypeDaysLaw ReferenceNotes
Maternity Leave (ML) 26 weeks (first 2 children); 12 weeks (3rd+ child) Maternity Benefit Act, 1961 (amended 2017) 8 weeks can be availed before delivery. Fully paid. Female employees only. Requires medical certificate.
Paternity Leave Not statutory — company policy typically 5–15 days No central law; some state laws and PSU rules Configurable in HRSanad as a custom leave type
National Holidays (NH) 3 mandatory Negotiable Instruments Act Republic Day (26 Jan), Independence Day (15 Aug), Gandhi Jayanti (2 Oct). All other public holidays are state-optional or company-declared.
Restricted Holidays (RH) 5–7 days/year (employee chooses) Company policy A list of ~14 festivals given; employee picks 5–7. Requires advance application. Configure with negative_balance = false and a fixed annual entitlement of 5 days.
Compensatory Off (Comp-off) 1 day per 1 day worked on holiday/weekend Company policy / state Shops Acts Employees who work on a public holiday earn 1 comp-off. Configure with accrual_method = on_joining and manual HR adjustments after each holiday worked.
Bereavement Leave 3–5 days (company policy) No central law (states may differ) For death of immediate family member. Not statutory but standard practice.
Sabbatical Leave Varies — typically 30–90 days Company policy Long-term leave for education, personal projects. Usually unpaid or partially paid.
🇮🇳 Important: CL and SL are NOT the same as Annual Leave In India, Casual Leave and Sick Leave are completely separate leave banks from Earned/Privilege Leave. Employees cannot use CL instead of EL or vice versa. They cannot be combined. Configure them as three completely separate leave types in HRSanad with independent balances and accrual rules.

Recommended HRSanad leave type settings for India

SettingPL / ELSick LeaveCasual Leave
unitdaysdaysdays
is_paidtruetruetrue
requires_approvaltruetruetrue
requires_documentfalsetrue (if >3 days)false
min_notice_days70 (apply retrospectively)1
accrual_methodmonthlyannualannual
carry_forward_max300 (no carry)0 (no carry)
negative_balancefalsefalsefalse
max_consecutive_days307 (then medical cert)3

🪪 Employee Identity & Documents

Indian employees have a specific set of identity documents that HR must collect and maintain. Store these in the Employee Master → Documents tab. Use the existing document expiry alert system for anything with an expiry date.

DocumentWho Needs ItWhy CriticalExpiry?
PAN (Permanent Account Number) All employees Mandatory for TDS deduction u/s 192. If not provided, TDS is deducted at the maximum 20% rate. No expiry
Aadhaar Number All employees Mandatory for EPF registration. Must be linked to PAN by law. Required for Aadhaar-based UAN KYC. No expiry (store masked — last 4 digits only)
UAN (Universal Account Number) All EPF-enrolled employees Portable EPF account number. Stays with employee across all employers. Employee generates via EPFO portal. No expiry
ESIC Card / IP Number Employees with gross ≤ ₹21,000/month Insurance number for ESIC medical benefits. Employer generates during ESIC registration. No expiry (but benefits depend on active contributions)
Passport Employees traveling internationally Required for overseas assignments. Set expiry alert at 6 months before expiry. Yes — alert at 180/90/30 days
Educational Certificates All Background verification. Store highest qualification. No expiry
Form F — Gratuity Nomination All employees Designates who receives gratuity if employee passes away. Required under Gratuity Act. No expiry (update on life events)
Form 12BB (Investment Declaration) All employees paying TDS Lists planned 80C investments, HRA receipts etc. Needed for TDS calculation. Annual — April each year
Bank Account + IFSC Code All employees Required for NEFT salary transfer. Validate IFSC code format. No expiry
✅ HRSanad Document Expiry System The daily cron job at 03:00 UTC already sends email alerts at 90, 60, and 30 days before document expiry. For Indian companies, configure Passport as the key expiry-tracked document. Add alert contacts for HR and the employee directly.

⚖️ Indian Labour Laws — Reference

India consolidated 29 central labour laws into 4 Labour Codes (passed 2019–2020, pending full state-level notification as of 2024). HR must be familiar with both the existing Acts and the upcoming Codes.

The 4 Labour Codes (New)

  1. Code on Wages, 2019
    Minimum wages, payment of wages, equal remuneration. Replaces MW Act, PW Act, PB Act, ER Act.
  2. Industrial Relations Code, 2020
    Trade unions, strikes, layoffs, retrenchment. Standing orders required for 300+ employee establishments.
  3. Code on Social Security, 2020
    EPF, ESI, Gratuity, Maternity Benefit, BOCW, Unorganised Workers.
  4. Occupational Safety, Health & Working Conditions Code, 2020
    Workplace safety, working hours, leave, health certificates.

Key Existing Acts (Still in Force)

  • Payment of Gratuity Act, 1972 — gratuity rules
  • Employees' Provident Fund Act, 1952 — EPF/EPS
  • ESI Act, 1948 — medical insurance for workers
  • Maternity Benefit Act, 1961 (amended 2017) — 26 weeks ML
  • Payment of Bonus Act, 1965 — 8.33% to 20% of annual wages
  • Income Tax Act, 1961 s.192 — TDS on salary
  • Shops & Establishments Act — state-specific; governs working hours, leave, holidays for IT/services companies
  • POSH Act, 2013 — Prevention of Sexual Harassment (10+ employee mandate)

Minimum Wages

Minimum wages are set by the Central Government (for central sphere) and State Governments separately. They apply based on skill category and zone. HRSanad stores the basic salary per employee — HR must ensure no employee's basic salary falls below the applicable minimum wage for their skill category and state.

Statutory Bonus (Payment of Bonus Act, 1965)

Who is eligible? Employees with wages up to ₹21,000/month. All establishments with 20+ employees.

Rate: Minimum 8.33% up to maximum 20% of annual wages (or ₹7,000/month whichever is higher, as "set-on"/"set-off" basis).

When paid: Within 8 months of year-end. Typically paid before Dussehra/Diwali.

Ceiling for calculation: Wages are capped at ₹7,000/month for bonus calculation even if actual wages are higher. A monthly bonus of ₹583 (8.33% × ₹7,000) is the minimum.

HRSanad configuration: Add as a fixed earning component paid in a separate payroll run (use run_type = 'bonus' or add as one-time payment in the regular run).

POSH — Prevention of Sexual Harassment

All organisations with 10 or more employees must constitute an Internal Complaints Committee (ICC). Annual compliance filings are required. HRSanad's document management can be used to track ICC member appointments and annual report filing dates.

📆 Indian HR Compliance Calendar

📌 Monthly (by 15th)

EPF ECR filing + payment
ESIC contribution + return
Professional Tax challan
TDS deposit (by 7th)
Salary disbursement (by last working day)

📋 Quarterly

TDS Return Form 24Q (Jul, Oct, Jan, Jun)
Advance tax payment (if applicable) — 15 Jun, 15 Sep, 15 Dec, 15 Mar
ESIC half-yearly return (Apr–Sep → Nov 11; Oct–Mar → May 11)

📅 Annual

Form 16 to employees by 15 June
Form 12BB collection (April)
Maternity Benefit Act return
Shops & Establishments annual return
POSH ICC annual report (Jan 31)
Bonus payment (within 8 months of FY end)
Leave encashment settlement
CL/SL balance reset (April 1)

How HRSanad exports help with compliance

Compliance TaskHRSanad ActionExport/API
EPF ECR monthly file Generate JV export filtered to EPF components; use to fill EPFO portal upload format POST /v1/payroll/runs/:id/generate-jv
ESIC monthly filing Export ESI employee + employer contribution totals per employee JV export + employee export
Professional Tax challan Sum of PT deductions per state from payroll JV JV export filtered by component
TDS quarterly return (24Q) Employee list with PAN, monthly TDS deducted, challan details — use salary slips as source Salary slip data via GET /v1/payroll/runs/:id/slips
Form 16 generation PDF payslip per employee (already built-in) — aggregate 12 months' slips for Form 16 Part B basis Payslip PDF download per employee
Headcount / Manpower report Employee export with joining date, grade, status, salary GET /v1/personnel/employees/export

🔄 Running Payroll — India-Specific Steps

The payroll run flow in HRSanad is the same as for any country (Draft → Calculated → Approved → Finalized). However, for India, the final step differs:

🇮🇳 No WPS for India WPS (Wage Protection System) is a UAE/GCC-only requirement. For Indian companies, skip the "Generate WPS" step. Instead, after finalizing payroll:
  1. Generate the JV export (journal voucher CSV) for accounting
  2. Use the salary slip data to prepare a bank NEFT/RTGS payment file
  3. Upload to your bank's corporate portal (most Indian banks support bulk NEFT via CSV)

India month-end payroll checklist

🔒 Data Privacy — DPDP Act 2023

India's Digital Personal Data Protection Act (DPDP), 2023 governs how employee personal data must be handled. Key obligations for HRSanad Indian tenants:

What must be protected

  • Aadhaar number — must be stored masked (last 4 digits only)
  • PAN number — sensitive financial identifier
  • Bank account + IFSC
  • Salary data — visible only to HR Admin / Payroll Admin
  • Medical/health data (from sick leave documents)
  • Biometric data (attendance fingerprints/face)

HRSanad controls in place

  • Salary data is role-gated — only hr_admin / payroll_admin / sysadmin can see salary fields
  • RLS (Row-Level Security) enforces tenant isolation — one company cannot see another's data
  • All sensitive fields are logged via audit.change_log trigger
  • No sensitive fields are logged to server console or log files
  • Employees can access only their own records via ESS portal
⚠️ Data Residency The production HRSanad instance is deployed on Azure UAE North for UAE PDPL compliance. Indian companies may require data to be hosted in India under DPDP rules. For Indian deployments, consider deploying on Azure Central India (Pune) or South India (Chennai) regions. Consult your legal team on whether DPDP mandates data localisation for your specific use case.

✅ India Go-Live Checklist

System Configuration

Employee Data

Statutory Registrations

HRSanad HRMS — Onboarding Indian Companies Last updated: April 2026  |  Owner: Waheed Rahuman Kamaludeen