Flume

The employee record · the thing underneath

One row
per person.

Every other module on this site is this record seen from a different angle. The punch, the payslip, the certificate, the laptop and the contract all point at the same row — which is why nothing has to be reconciled overnight, and why a leaver disappears from nine places at once.

Employee record · one row, many facetsexample data
EMP-0428Mahmoud EzzatMachine operator · joined 2023-04-02 · 3y 5m
OrgProduction · Plant 1 · reports to Hany Refaat
ContractNo. 3 · fixed term · renewed from No. 2active
Documents6 on file · 1 expiring in 14 dayswatch
AssetsLaptop LT-0912 · badge BD-4471issued
AccessEmployee role · self-service only

Who can see what

Access is a grid of toggles, not four hard-coded tiers.

Most HR systems ship with fixed roles, so the first request you make — “our team leads should approve leave but must not see salaries” — becomes a change request. Here every role-and-feature pair is a switch in company settings. Flip between the four roles and watch the same screen change.

The same screen, opened by

offRun payrollpayroll_runs
offRead any payslippayslips_all
offEdit employee recordsemployee_admin
offRenew & terminate contractscontracts
offOpen disciplinary casesdisciplinary
onReview team attendanceteam_attendance
onApprove leave & overtimeapprove_leave
onReport on own teamteam_reports
onRead own payslipown_payslip
onRequest own leaveown_leave

Each row is one role-and-feature toggle in company settings, flipped without a deploy. Nothing here is compiled into the app as a hard-coded tier.

features enabled5 of 10
payroll accessown only
people in scopeown subtree
Effective accessTeam leadPermissions and reporting scope are two separate gates. A team lead who can approve leave still only sees their own subtree.

Permissions and reporting scope are separate gates. A team lead may be allowed to approve leave and still only ever see their own reporting subtree.

What ships

The record, its structure, and the rules about who may touch it.

01

Employee profile

Identity, contact and personal details, job title, employment status and tenure — with personal data editable separately from employment data.

02

Org chart

Built from the live reporting tree rather than maintained as a second diagram, so it cannot drift from who actually reports to whom.

03

Departments

Defined centrally and used everywhere — as an attendance grouping, a payroll cost centre, a report dimension and a training target.

04

Branches & sites

Multi-site structure with per-branch assignment, so a punch, a holiday calendar and a coverage rule all know which plant they belong to.

05

Per-branch holidays

Company holidays configured per branch, because a plant observing a local holiday should not be charged a national default.

06

Reporting hierarchy

Each employee’s manager, maintained on the record and used to resolve approval routing and report scope at query time.

07

Role permissions

A per-role, per-feature toggle grid — changed in settings, applied immediately, with no deploy and no code branch per customer.

08

Employment contracts

Indefinite, fixed-term and part-time, each with probation dates, pay frequency and the terms that were actually agreed.

09

Renewal chains

A renewal issues the next numbered contract and marks the previous one renewed, so the sequence of what someone was employed under stays readable years later.

10

Expiry alerts

Fixed-term contracts warn HR at 30, 14, 7 and 1 days out and again on the day — a few nudges rather than a daily ping for a month.

11

Disciplinary & grievance cases

Case file with category, severity, status transitions and dated case notes, restricted to HR and never mixed into the general record.

12

Company profile

Legal entity details and logo, used on payslips, documents and exports so generated paperwork carries the right identity.

How it actually works

The mechanism, not the marketing.

Renewal

A renewal is a new contract, not an edited one.

Renewing issues the next contract in that employee’s numbered sequence and marks the previous one renewed; a terminated contract cannot be renewed at all. The alternative — editing dates in place — quietly destroys the answer to “what were they employed under in March?”, which is the question a dispute actually turns on.

Two gates

What you may do and whom you may see are separate questions.

Feature permission is a role toggle; data scope is resolved from the reporting tree when the query runs. Keeping them apart is what lets a team lead approve their team’s leave without that permission also handing them the company’s salary list.

Soft delete

Nobody is erased, because leavers are still evidence.

Records are deactivated rather than hard-deleted. An employee who left in 2024 still has to resolve on their 2024 payslips, their attendance history and the audit trail of anything they approved — a deleted row would turn all of that into dangling references.

One structure

Departments and branches are defined once and referenced everywhere.

The same department that groups an attendance report is the one that targets mandatory training, carries a payroll budget and appears as a report dimension. Systems that let each module keep its own copy of the org structure are the reason two dashboards disagree about headcount.

Book a demo

Bring us your messiest month.

The fastest way to judge Flume is to run it against a period you already argued about. Send a month of punches and the payroll you produced from it, and we will show you the same month reconciled — including what the anomaly detectors flag.