One record per person, and one version of it
The system of record everything else reads from: who works here, under what terms, reporting to whom, since when. Built so a change is a dated event rather than an overwrite.
Core HR & employee master
The Employee Master
Personal, employment, statutory and bank details in one record, with the documents attached to the person they belong to.
Assignment History
Grade, department, branch and manager changes are dated events — so “what was their department last March” has an answer.
Document Vault
Identity, qualification and contract documents stored against the employee, with expiry tracking for those that lapse.
Structure That Matches Reality
Companies, legal entities, locations, departments and grades — configured once and used by every other module.
Controlled Visibility
Who can see salary or documents is set by role, and access to sensitive fields is recorded.
Yours To Export
The full master exports to CSV whenever you want it.
One record, and a history of it
The common failure in HR data is not a missing field. It is that the record holds only the present: the current designation, the current manager, the current location. Ask what the structure looked like in March and the honest answer is that nobody knows.
Klok keeps placement as an assignment history. A transfer, a promotion or a reporting change is a dated event rather than an overwrite, so the March answer exists — and so does the reason it changed.
Why one writer matters
Every placement change goes through a single service. That sounds like an implementation detail and is in fact the reason the data stays coherent: when three screens can each move an employee, they will eventually disagree about where that employee is, and reconciling them afterwards is guesswork.
Attendance, payroll, leave and reporting all read the same spine. If the spine says a person moved plants on the 14th, the register, the statutory computation and the org chart all say so too.
Visibility is deliberate
A manager needs attendance and leave for their team. They rarely need salary. Access is role-based, scoped by entity, and the exceptions are configured rather than assumed — because an HR system's first credibility test is whether people believe their pay is private.
A change to where somebody works
The change is made
A transfer, promotion or reporting change, entered once, with an effective date.
It becomes history
The previous placement is closed rather than overwritten. Both remain readable afterwards.
The structure follows
Org chart, approval routing and team visibility all resolve from the same assignment record.
Payroll follows
Statutory setups tied to the workplace — PT, LWF — pick up the new location automatically.
Questions about core hr & employee master
Can we import our existing employee list?
Yes — from the Excel you already keep, with a preview step so you see exactly what was read before anything saves. Or upload joining documents and let the validator draft each record.
Do we have to fill every field to start?
No. Start with names, joining dates and grades; the rest can be completed by the employees themselves through self-service.
Can employees update their own details?
They can submit changes, which are approved before they take effect — so the record stays trustworthy while the typing moves off HR.
What happens to the record when someone changes role or location?
The placement changes and the previous one stays as history rather than being overwritten. That history is what makes a mid-year transfer explainable later — most systems keep only the current state.
Do we have to import everything before we start?
No. Start with the people and the fields payroll needs, and let documents and history fill in as you go. Waiting for a perfect import is the most common reason a rollout stalls.
Can we switch this module off if we do not need it?
Yes. Modules are switched on per company and what is off is not billed. There is no bundle you have to buy through to reach the part you actually want.
Who can see this data inside our company?
Access follows the role you assign, and every company's data is isolated from every other company's by a boundary enforced in the software and covered by automated tests. Nobody at another company can reach yours.
Can we get our data out later?
At any time, without asking us, in usable formats. That is a deliberate commitment rather than a feature — a system you cannot leave is one you cannot trust with payroll.
See it on your own data
Fourteen days, no card, no consultant. Import your Excel and watch the first record draft itself.