ZaffreZaffre Axon
Feature

Auto-default reference data

Every new tenant lands with departments, designations, leave types, banks, cities, expense categories already seeded.

Zaffre HRM auto-provisions every new tenant with the common reference data they need on day one: 7 departments, 45+ designations, 8 standard leave types (Annual / Casual / Sick / Maternity / Paternity / Bereavement / Hajj / Unpaid), 10 expense categories with sensible receipt thresholds, 10 asset types with depreciation methods, 15 regional banks, 16 countries + 26 cities, 5 grades, 11 document types, 5 cost centres, plus loan / arrear / exemption / deduction / allowance / reimbursement-category baselines.

The seeder is idempotent — re-running it never duplicates data. So we keep adding to it; existing tenants get backfilled with whatever is new, and new tenants start at the current default set.

This eliminates the most painful first hour of every new HRM rollout: a POC opening every dropdown and discovering it's empty.

How it works

  1. 1

    Create company

    Super-admin creates the company + owner-user.

  2. 2

    Seeder runs

    Immediately after, the CompanyDefaultsSeeder service runs idempotently against the new tenant.

  3. 3

    Tenant lands ready

    Within the same response, the new tenant has 100+ reference rows already populated — every dropdown shows real values.

  4. 4

    Backfill any time

    A `pnpm cli seed-company-defaults` command lets us backfill new defaults across every existing tenant safely.

Frequently asked questions

Do I need to set up departments, designations and leave types manually?
No. Zaffre HRM auto-seeds every new tenant with 100+ reference rows: 7 departments, 45+ designations, 8 leave types, 10 expense categories, 10 asset types, 15 banks, 16 countries, 26 cities, and more. You can edit any of them and add your own.
Can I add a default we don't ship?
Yes — every reference type has a Create button. New entries you add belong only to your tenant.
Is the seeder safe to run again?
Yes — the seeder is idempotent. Re-running it never duplicates data. We use this property to backfill new defaults across existing tenants whenever we add to the seed set.

See auto-default reference data in action

Book a demo