01
Formula-driven components
Earnings, deductions and employer costs defined as components with your own formulas — not a fixed template.
Payroll & money · the number you can defend
Payroll software normally hands you a total and asks you to trust it. Below is a real payslip from a September run — select any line and Flume shows you the component that produced it, the formula it used, the inputs it read and the record those inputs came from. That trace is the product.
Earning · variable
Hours come from approved overtime sessions linked to the attendance records they extend. Payroll reads the reconciled hours directly — there is no re-keyed summary in between.
Attendance · 3 approved sessions · 04, 11 & 19 Sep
Before anyone is paid
A preview is only useful if you can push on it. Drag either input and the payslip recalculates the way the engine does — gross, then the insurable wage against its ceiling, then tax walked band by band, then recovery. Nothing here is a lookup table: it is the same calculation the trace above is showing.
Illustrative rates. In the product, bands, ceilings and multipliers are configuration.
Nobody pays 214 people by accident
Approval steps are configured per policy, and the run carries its own progress. A run sitting at finance approval is visible as exactly that — not as a spreadsheet in someone’s inbox with an unanswered question about a variance.
The back-dated raise
Retroactive changes are the single most common source of a payroll dispute, because they are usually worked out by hand. Flume recalculates each affected period against what was actually paid, shows the delta per period, and posts the total as arrears on the current run — with the working still attached.
What ships
01
Earnings, deductions and employer costs defined as components with your own formulas — not a fixed template.
02
Target a component by grade, department, contract type or shift, evaluated per employee on every run.
03
Every salary change kept as a record, so you can answer what someone earned in any past period.
04
Run a period without committing it, and inspect the payslips it would produce line by line.
05
Model a raise, a new allowance or a policy change against real employees before anyone is paid.
06
Multi-step sign-off with a visible progress trail before a run can be finalised.
07
Generated and cached per employee, in Arabic or English, reproducible for any historical period.
08
Post-run adjustments recorded as append-only corrections against the payslip they amend.
09
Back-dated changes recalculated across affected periods, with a preview of what each employee is owed.
10
Set a monthly budget per department and watch actual spend against it, with variance on the dashboard.
11
Plans with tiers and employee enrollment, feeding the calculation as components.
12
Let staff draw against pay already earned, tracked and recovered on the next run.
13
Scheduled instalment recovery that counts down and stops itself when settled.
14
A WPS-style export carrying every field a disbursement file needs, bank-agnostic by design.
15
A run carries its currency, so entities paying in more than one are not forced into a single ledger.
How it actually works
Hours, overtime, absence and leave arrive from the same records the attendance module reconciled. There is no export-and-import step between the two, which is where a re-keyed figure normally goes wrong and where a dispute normally becomes unanswerable.
Social insurance is taken on the insurable wage, which stops rising at a ceiling. Treating it as a flat percentage of gross overcharges every employee above that line — quietly, every month, in a figure nobody re-checks.
Taxable pay is sliced across the bands and each slice charged at its own rate, after insurance and the personal exemption. A single effective-rate multiplier is easier to build and wrong at every boundary.
Corrections are posted against a payslip rather than editing it in place, so the sequence of what was paid, what was found and what was put right stays intact. That is the shape an auditor expects and the shape an employee can be shown.
Amounts are calculated and rounded through a shared money utility rather than in binary floating point, so a component landing on half a piastre resolves the same way on every run and a run total reconciles exactly against the sum of its lines.
Egypt’s Wage Protection System has no single national file layout — the format is set by the disbursing bank. Flume produces a clearly-labelled file carrying every field a WPS submission needs, to be verified against your bank’s current specification rather than pretending one universal format exists.
Book a demo
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.