Skip to content
CogniYukti

Lifecycle

An org chart that only shows today cannot answer for last March.

And last March is when the payroll run happened that somebody is now querying — under a different entity, at a different grade, in a structure that has since been reorganised twice.

The decision

An assignment has a start date. A field just has a value.

Which legal entity employs somebody and at what grade are recorded as assignments effective from a date, rather than as fields overwritten when they change.

That is what makes a mid-year move readable a year later — and what lets a payroll question about March be answered with what was true in March.

One person · assignments over timenothing overwritten
  • Legal entityOperating companyfrom joining
  • Legal entityGroup services companyfrom Apr
  • GradeBand 3from joining
  • GradeBand 4from Oct
Payroll for March reads the entity that employed them in March. A record that only holds today cannot answer for a run you already paid.
Illustrative
  • Departments nest, and refuse to loop

    A real tree rather than a flat list, with a depth limit and cycle detection — so a reorganisation cannot accidentally make a department its own parent.

  • A work location knows whether it is a place

    An office carries a city, a state and a pincode; remote does not have to pretend to. Each carries its own timezone and default currency, which is what makes calendars and pay behave for somebody who does not sit at head office.

  • Bands can express two ladders

    A level and an optional track, so an individual-contributor ladder and a management ladder can run in parallel at the same seniority rather than being forced into one line.

  • Multiple legal entities, one workspace

    A group runs several companies without one installation each, and payroll and filings follow the entity that actually employed the person.

  • Departments, designations, locations

    The ordinary structure, and the thing headcount analytics splits on.

  • Bands carry policy and a salary range

    A minimum, a target and a maximum, with the range enforced so a target cannot sit outside it — plus leave overrides, so seniority changes a few numbers rather than spawning a parallel policy.

  • You cannot retire something people are standing on

    A band or an entity with anybody assigned refuses to be deactivated, and tells you how many.

  • Work location drives the calendar

    Which holidays somebody observes follows where they work, rather than being assumed from the head office.

What people ask

Usually during a reorganisation.

Can somebody move between our legal entities?

Yes, as a new assignment from a date. The previous one stays, which is what keeps last year's payroll and filings coherent.

Can we see the structure as at a past date?

Headcount views take a date, and assignments are dated. A question about last year is a question rather than an archaeology project.

What does a legal entity carry beyond a name?

Its registrations and identifiers, its registered and corporate addresses, its bank details, a logo and letterhead footer, a nominated signatory with their signature and designation, a fiscal-year start and a default currency. It is the thing letters are issued on and invoices bill from, not a label on a dropdown.

Do grades have to map to pay?

Not necessarily. A band carries policy — leave overrides, for instance — and what else it governs is your design rather than ours.

Is there an org chart?

Yes — an expandable reporting tree you can rewire from the page itself. And it does something most charts do not: it surfaces the people who are unplaced, whose manager is missing or never set, instead of quietly leaving them off.

What does a legal entity actually hold?

Its own registrations, bank details, letterhead and nominated signatory — which is why a letter issued to somebody in one company looks like it came from that company, and why filings follow the entity that employed them.

Book a demo

Move somebody between entities.

Then run payroll for a month before the move, and check which entity it used.