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.
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.



