Platform · Core HR

All your people info, in one calm place.

Profiles, org chart, documents, lifecycle events. The single source of truth that every other HR system, manager, and employee can rely on.

One record, one source of truth

A 60+ field employee master with India statutory built in.

Personal (name, DOB, gender, marital status, emergency contacts), contact (full Indian address hierarchy), India statutory (PAN, Aadhaar, UAN, PF, ESI, PRAN), badge ID, profile image with avatar fallback. Subordinate-tree traversal for hierarchy, archive logic that blocks if employee has active relationships, audit history on every change.

  • Audit on every record. Tracked through django-auditlog and django-simple-history. Every create / update / delete attributed to an actor with timestamp.
  • Custom dynamic fields. Five field types (CharField, IntegerField, TextField, DateField, FileField) extend any model without code. Per-organisation.
  • Document requests per category. HR creates a DocumentCategory, sends an EmployeeDocumentRequest, employee uploads through a request page.
  • Excel import / export. Bulk operations on employee data with field-selection on export.
See pricing
Employee · EMP-2418
Aarav Mehta
Active
Designation
Senior SDE
Joined
14 Aug 2024
CTC (FY 25-26)
₹28,40,000
UAN
100123456789
PAN
ABCDE1234F
Manager
Priya Nair
Org chart · live
Engineering · 92 people
Updated 12 min ago
Engineering
92 · ↑3 this month
Product
18 · stable
Design
11 · ↑1
Customer Success
16 · ↑2
Sales
8 · ↓1
Operations
5 · stable
Org chart

An org chart that doesn't go stale.

The chart rebuilds itself the moment a reporting line changes. Drag-and-drop reorgs, dotted lines for matrix structures, and a history view that shows what the structure looked like in any past month.

  • Live and historic. See the org as it is today, or as it was on any past date for audit.
  • Filter and slice. By department, location, function, band. Export to PNG, SVG, or CSV.
  • Permission-aware. Confidential teams stay confidential per your access rules.
  • Render in under 400 ms. Tested on charts of 420 people. Bigger charts paginate.
Talk to sales
Documents that don't get lost

A document store, with category-driven workflows.

DocumentType, DocumentRequest, Document. File format restrictions, approval workflow. Per-employee document requests live alongside in-pipeline candidate document requests on the ATS side, both supported. Local filesystem storage by default with django-storages S3 available as a configuration option.

  • Standalone offer-signing app. Magic-link tokens (7-day validity), OTP delivered to candidate email, IP and user-agent recorded. Generalises to asset-acceptance signing.
  • Document requests per category. HR creates a DocumentCategory and EmployeeDocumentRequest, employee uploads through a request page. Status pending / submitted / rejected.
  • Backups to Google Drive or local disk. Service-account JSON. Interval or fixed-time scheduling. DB and media included.
  • Comprehensive audit log. Through django-auditlog with custom audit-tag taxonomy.

Field-level encryption is on the roadmap. Today bank account, IFSC, PAN, Aadhaar are stored as standard CharFields. DigiLocker pull and Aadhaar / NSDL e-Sign integrations are not in current release; signature is in-house OTP-verified.

See security details
Document store
Aarav Mehta · 14 documents
All submitted
Offer letter
Signed (OTP, audit)
Appointment letter
Submitted
PAN card
Submitted
Aadhaar copy
Submitted
BGV upload
Manual stage
Backup destination
Google Drive
Lifecycle · this quarter
127 events processed
Auto-generated letters
Promotions
84 · letters issued
Transfers
34 · cost-centre updated
Exits
38 · F&F median 2.4 days
Rehires
5 · gratuity continuity preserved
Role changes
62 · access auto-updated
Maternity / paternity
9 · 26+6 wks tracked
Lifecycle events

Promotions, transfers, exits, automated end-to-end.

Each event triggers the right downstream action: revised CTC into payroll, updated cost-centre allocation in finance, new approval routes for expenses, statutory letters generated and stored.

  • F&F in 2.4 days. Notice pay, leave encashment, gratuity, recoveries, in one workflow.
  • Automatic statutory letters. Promotion letters, transfer letters, experience letters, all auto-generated.
  • PF and ESIC handoff. Settlement filing initiated as part of exit cycle.
  • Rehire support. Past employee record reactivates with continuity for gratuity and PF.
See payroll integration
Built for India

India statutory fields, native on the employee.

Indian compliance is the deepest path. The employee record carries PAN, Aadhaar, UAN, PF, ESI, PRAN as first-class fields, and these flow into the payroll engine without re-entry.

India statutory fields

PAN, Aadhaar, UAN, PF, ESI, PRAN on the Employee model. Stored as standard CharFields today; field-level encryption is on the roadmap.

See trust center

Comprehensive audit log

django-auditlog + django-simple-history across all HorillaModel-derived rows. Custom AuditTag and HorillaAuditInfo extend the standard log.

See security

Per-company isolation

HorillaCompanyManager filters all querysets by Company FK. CompanyMiddleware injects context. Row-level isolation, not schema-per-tenant.

See security

Custom dynamic fields

Five field types (Char, Integer, Text, Date, File). Extend any model without code. Migration runs programmatically.

See Core HR

Subordinate-tree traversal

Direct + indirect reports for hierarchical views, audits, broadcasts. Birthday tracker with days-until ready for HR reminders.

See hierarchy

9-language i18n

en, de, es, fr, ar, pt-br, zh-hans, zh-hant, it. Translation coverage varies; we don't claim "fully localised" on the new design system yet.

Talk to sales

Why Core HR matters

It's the foundation. Every other HR action runs on top of clean, current employee data.

60+ field employee master
Personal, contact, India statutory, badge ID, profile image. Custom JSON fields. Per-company. Audit on every change.
India statutory fields native
PAN, Aadhaar, UAN, PF, ESI, PRAN as first-class columns. Flow into payroll without re-entry.
Subordinate trees + birthday tracker
Direct + indirect reports for org views and broadcasts. Birthday tracker with days-until counter for HR anniversary reminders.
Live integrations
Microsoft 365 SSO, Microsoft Teams, WhatsApp Business, Google Meet, Google Drive backup, Outlook OAuth, Anthropic Claude. SAML / SCIM / Slack on the roadmap.
Calmly designed
No five-modal-deep workflows. Less noise, more space to think.
Field-level audit
Every edit attributed and reversible. Quarterly access reviews on Enterprise.
Frequently asked

Questions about Core HR.

Excel import is the primary path. The HRMS uses pandas-backed bulk import with a generic horilla_views import block and an export-fields modal across modules. We don't ship dedicated one-click connectors for BambooHR / Greytip / Zoho People / Keka yet; we work with you on field mapping when you migrate.
Yes. The HRMS uses per-company filtering via HorillaCompanyManager and CompanyMiddleware. Models are scoped to a Company FK. Note this is row-level isolation, not schema-per-tenant (which is how the ATS product is built); flag this for your security review if isolation depth matters.
Standard Django Group + Permission RBAC, with custom decorators (@manager_can_enter, etc.). Per-module workflow roles add an extra layer: payroll has HR / Finance / CEO; monthly performance has 7 default roles. The custom-permission-string system used by the ATS product is more granular.
Yes, via the responsive web self-service portal. The HRMS does not have a native mobile app today; the web app works in any phone or laptop browser. Self-service updates flow through the same audit log as admin edits.
Yes. JWT-authenticated REST API with Swagger / OpenAPI docs via drf-yasg. Endpoints across employee, attendance, leave, payroll, asset and notifications, paginated 20 per page. Outgoing webhooks, SCIM and rate limiting are on the roadmap (rate limiting is high priority).
Per person per month. See the pricing page for current tiers. Self-hosted via Docker Compose is also available; the HRMS is forked from open-source Horilla v2.0 under LGPL-2.1.

Ready to get started?

Start a free 14 day trial in minutes, or chat with us about a custom rollout for your team.

See what you'll pay

Clear per person pricing. No surprise setup or onboarding fees.

Pricing details

Book a demo

A 30 minute walkthrough, tailored to how your team actually works.

Schedule a demo