Dual-Currency Payroll

MVR and USD, Ramadan runs, loans and holds — payday without the panic

A payroll engine that actually matches how you pay: salary packages in MVR, USD or split between both, Ramadan allowance runs, automatic loan recovery, salary holds that never lose money, and a bank transfer file at the end. Generated in minutes, reproducible every time.

See it live — demo in minutes →

Sound familiar?

The salary sheet is edited in place — one wrong cell and payday is wrong

Half-USD packages converted by hand at a rate someone remembers

Loans, advances and deductions reconciled across three different files

No history: last month's payroll is gone the moment this month starts

Capabilities

What you get

14 capabilities

Dual-currency packages

Salary structures in full MVR, full USD or split half-half with a fixed conversion rate — each package with its own bank channel and currency.

One-click payroll runs

Generate a full month's draft in minutes: basics, allowances, OT from attendance, unpaid-day splits, pension, loans and deductions all computed.

Ramadan runs

Dedicated Ramadan allowance runs generated for eligible staff — the annual scramble becomes a button.

Loans, advances & deductions

Loan installments and salary advances recover automatically through payroll; balances self-correct and statements are always current.

Salary holds that never lose money

Held salaries stay computed and visible, drop out of the bank transfer, and pay out as one item the moment they're released.

Bank CSV & payslips

Export a transfer-ready bank file per currency and generate payslips — with a reconciliation summary that proves the run adds up.

Increments with approvals

Salary increments flow through approval routes and apply to the next run automatically once approved.

Final settlements

End-of-service settlements assemble prorated salary, leave encashment, held salary and loan clearance into one approved payout.

Withholding tax on a dated scale

Income-tax bands are data, tagged by country and stamped with the date they took effect, and a run reads the set that was in force for its own period. A rate change applies forward without touching what last quarter was computed under, and the Maldives MIRA scale is already loaded so there is nothing to transcribe by hand.

Which earnings are taxable is a setting, not a guess

Each pay component carries its own taxable flag, so an allowance that sits outside the base does — and a component nobody has classified yet defaults to taxable rather than quietly falling out of the calculation.

Previewed on the draft, applied only when you say so

Withholding is computed on the draft and shown per employee before anything is committed, and it rides two separate switches: the module has to be on, and the run itself has to opt in. Neither one on its own charges anybody a rupee.

Statutory figures in one place

Pension rate, Ramadan allowance, service-charge administration cap, the weekly day off and the minimum-wage tier are stored as editable settings rather than buried in code — so a policy change is an edit on a screen, and the same number drives payroll, leave and the service-charge split.

A nudge when the scale is due a review

The nightly compliance pass raises a reminder to re-check the tax scale on a schedule, so an out-of-date band is caught by the system rather than by an assessment.

The compliance report for the run

Withholding per employee, pension coverage gaps, and the rest of the checks a payroll officer would otherwise run by eye — assembled per run so what was filed can be reconstructed later.

Straight from the product

Real screens from the demo company — the same system your login opens.

HumanR payroll run showing MVR and USD payslips with dual-currency totals
A full monthly run: 93 payslips, MVR and USD totals side by side, salaries on hold excluded from the bank transfer file automatically.
HumanR statutory payroll configuration — the Maldives income-tax bracket scale with its effective date, alongside pension rate, Ramadan allowance and service-charge cap
The tax scale is data with a date on it, not a number in the code. A scale that has taken effect is locked and a rate change starts a new one, so a run computed last year keeps computing against the rates that applied then.

Questions

Does turning on withholding tax change what we already pay people?

Not by itself, and this is deliberate. Nothing is deducted unless both the module is switched on for your instance and the individual run opts in — and the bands ship pre-loaded specifically so you can look at the preview and compare it against your own figures before a single run applies it. An instance with the module off produces byte-for-byte the same payroll it always did.

What happens when the tax rates change?

You add the new bands with the date they take effect; you do not edit the old ones. Each run picks the set in force for its own period, so next month uses the new scale while last month keeps the scale it was actually computed under. That is what makes a reopened or re-run prior period reproduce its original numbers instead of quietly recalculating on today's rates.

Can one employee have two salary packages?

Yes — packages are the payroll unit, not people. An employee can hold a main package and a separately paid allowance package, each with its own currency and channel.

How are USD/MVR splits handled?

Split packages pay half in USD and the rest in MVR at a fixed configured rate, with bank details tracked per currency.

What if we find an error after generating?

Regenerate the draft — the engine un-stamps everything it created and rebuilds it, so there's no double-counting and no manual patching.

Does it handle pension contributions?

Yes — pension registrations drive employee and employer contributions on every run automatically.

Jionee mwenyewe kwa data inayofanana na yako

Omba demo na tutakutumia kwa barua pepe akaunti yako binafsi ya kuingia katika kampuni ya mfano iliyojaa data — chunguza skrini halisi zenye data ya kweli ndani ya dakika chache.

Hakuna kadi ya mkopo. Hakuna simu ya mauzo. Akaunti halisi ya kuingia, inayotumwa kwa barua pepe.