Overview
There are two kinds of payroll problem. The first is arithmetic, and every system solves it. The second is the one that actually costs you a Tuesday: an employee is standing at the HR desk asking why this month is 340 less than last month, and nobody in the room can answer without rebuilding the calculation by hand.
Nama computes a payslip rather than storing one. Every figure on it comes from a component you defined, priced with a formula you can read, fed by a month of recorded events. When the number is questioned, the answer is on the document.
How a salary is built
Payroll runs as five stages, and each is a screen somebody owns.
- Define the kinds of pay and deduction. A component type is a category — basic, housing, transport, tax, overtime, an insurance share. It carries the flags everything of that kind inherits: whether it adds, deducts or is recorded for information only, whether it counts toward the tax and insurance bases, and the order in which it is calculated. That last flag is the one that quietly wrecks payrolls elsewhere: a tax computed before the allowances it is supposed to tax comes out as zero and looks perfectly plausible.
- Price each one. A component is either a constant — a housing allowance of 1,000 — or a variable driven by a formula.
- Assign them. Either directly on the employee, or through a reusable salary structure.
- Feed the month. Attendance and performance figures arrive as the month happens.
- Generate. A salary sheet runs the period for everyone eligible and produces one salary document per employee.
Formulas, and the difference between a rate and a bracket
A formula turns inputs into a number: a percentage of other components, a figure that tracks a measured indicator such as overtime hours or sales, a social-insurance share, a progressive tax, or a composite built from other formulas.
The part that matters for regional payroll is how the brackets apply. One percentage taxes the whole base at a single rate. Sections taxes it slice by slice: on a base of 6,000 against brackets of 0% to 2,000, 10% to 5,000 and 15% above, the tax is 450 — where a single 15% rate would have charged 900. Both behaviours exist because both are real somewhere, and choosing between them is a business decision rather than a setting. Each bracket that fires can leave an audit entry on the payslip, which is how the person at the HR desk gets their answer.
The structure fills gaps; it does not overwrite people
A salary structure is a reusable template — “the standard package for a sales representative”. When payroll runs, Nama reads the employee’s own component lines first and consults the structure only where the employee has none. A structure can never quietly overwrite what somebody negotiated.
The employee’s own lines are dated, so a raise, a temporary allowance or an ending benefit is scheduled rather than typed over history. Last year’s payslips still explain themselves.
What the month contributes
Attendance punches roll up into worked time, overtime, lateness and absence, and reach salary through performance indicators — a daily indicator is factored per working day, a periodic one uses the month’s total. Loans deduct their instalments, penalties and bonuses land as components, and partial months pro-rate. Staff paid by the day are handled by their own daily-wage document rather than the monthly machinery.
The run, and what it produces
A salary sheet collects everyone eligible for the period — skipping anyone already paid for it — and produces a salary document per employee. That document is both the payslip and the accounting effect: it posts to the general ledger through the debit and credit account lines of the components that built it.
A company can run more than one stream for the same period, so a monthly salary and a separate commissions run stay distinct without being separate payrolls. A raise round is a single annual-increases document that collects the matching employees and generates their individual changes. And where pay is earned but should not yet leave the building — an unreturned custody, an open investigation — a salary block holds it, by rule or by document, with partial payment available for the part that is not in dispute, and an unblock releasing the rest.
Paying it
A payroll that posts to the ledger still has not paid anybody. The last stage is the file the bank wants — and in Saudi Arabia that file is also how wage protection reporting is satisfied, since the obligation is discharged by paying salaries through a bank rather than by asserting that you did.
Nama produces that file from the payroll run itself. Layouts for the main Saudi banks are standard, and a bank that wants something of its own is configured during implementation.
The reason that second sentence is possible is worth more than the first. The file comes out of the report engine, not out of hard-coded logic inside the payroll module. A vendor who compiled one bank’s layout into the product has to ship a release when a group opens an account somewhere unanticipated; here the layout is a configuration. It is the same argument as the 233 automation actions elsewhere on this site, arriving at the one place where a rigid system is most expensive: the week you change banks.
The whole engine, including the formula types and a worked brackets example, is documented in how salary is calculated and the payroll section.
Good question — already answered
Does Nama produce the salary file our bank needs?
Yes. The payroll run produces the bank salary transfer file, and in Saudi Arabia that is the file behind Wage Protection reporting. Layouts for the main banks are standard. The file is produced by the report engine rather than hard-coded into the payroll module, so a bank that wants its own layout is a configuration during implementation rather than a wait for a release.
An employee is asking why this month is less than last month. How long does that take to answer?
It is on the payslip. Every figure traces to a component you defined and a formula you can read, and each tax bracket that fires can leave its own audit line on the document. The answer is a screen, not a rebuild of the calculation in a spreadsheet.
Will a salary structure overwrite what an individual negotiated?
No, and this is deliberate. Payroll reads the employee's own component lines first and consults the structure only where the employee has none. A structure fills gaps; it cannot quietly overwrite a negotiated package.
Can we run more than one payroll for the same month?
Yes. A company can run several streams for one period — a monthly salary and a separate commissions run stay distinct without being separate payrolls — and the salary sheet skips anyone already paid for that period.
Can we hold someone's pay without holding the whole run?
Yes. A salary block holds pay by rule or by individual document — an unreturned custody, an open investigation — with partial payment available for the portion not in dispute, and an unblock releasing the rest.







