Portfolio  /  01  /  Vertical system

Payroll for four Caribbean tax regimes.

Suriname, Aruba and Curaçao at launch, with Guyana built and following later. Each country has its own income tax tables, its own social premiums and its own year-end returns to file. The system keeps those separate, so the part an employer actually works with stays the same in every country.

Launching in Suriname, Aruba and Curaçao

4tax regimes
3launch markets
Multi-tenantone system, many employers
Zoho Booksposted directly

What it is

Payroll software for employers in the Caribbean, covering the full cycle rather than the calculation alone. Employee records, salary components, leave accrual and balances, weekly and monthly runs, corrections against periods that are already closed, payslips, bank payment files, and the year-end returns each tax office expects in its own format.

Every employer is a separate client of the system, with its own data, its own users and its own accounts. Runs post directly into Zoho Books, so a company already keeping its books in Zoho does not end up reconciling a second system by hand each month.

Payroll — monthly run · Suriname Suriname · SRD Payslip — March 2026 R. Sordam · Employee 0042 · Paramaribo Basic salary 18,500.00 Overtime · separate table 1,240.00 Gross 19,740.00 Wage tax −4,113.65 AOV premium −592.20 Net to pay SRD 15,034.15 Calculated on the 2026 wage-tax table for Suriname. New January rates are settings, not a software release. SPECIMEN FOUR RULE SETS Suriname Aruba Curaçao Guyana launch launch launch follows Journal → Zoho Books balanced, or it does not post One calculation behind all four. Each country keeps its own tables.
A run in specimen form: one payslip on the country’s own tax table, the other three rule sets waiting behind it, and a journal that has to balance before the month can close.

The hard part

The arithmetic is difficult on its own: brackets, ceilings, pro-rata, benefits in kind, pre-tax deductions, back-pay reaching into closed periods. That part at least stays put.

The harder problem is that the rules differ per country and are revised most years, while everything an employer sees has to stay the same. Suriname taxes overtime on a separate table; Guyana folds it into the regular one. Aruba applies a single annual ceiling of AWG 85,000 across two different premiums. Guyana grants a tax-free allowance of one third of monthly gross or G$100,000, whichever is higher, and calculates tax on a bonus by annualising it: work out the year with the bonus, work out the year without, charge the difference.

So a country is never just a switch somewhere in the settings. Each one is maintained separately — its tax tables, its premiums, its general-ledger accounts, its official forms — behind one shared way of working. Adding the fourth country did not mean reopening the parts that were already running, which is what keeps the cost of a fifth one reasonable.

Rates, thresholds and premium ceilings are settings, not software.

The client updates them in the administration screens. When a tax office publishes new figures in January, no release is required. Only a genuinely new rule — a relief that did not exist last year — needs work from us.
COUNTRY RULES Suriname Aruba Curaçao Guyana built and tested, follows later One calculation identical in every country OUTPUT Payslips Bank payment file Year-end tax return Journal → Zoho Books balanced, or it does not post
Everything to the right of the calculation is identical whichever country is being run. That separation is what makes a new market a project rather than a rebuild.

What it covers

CountriesSuriname, Aruba, Curaçao and Guyana, each with its own tax tables, premiums, general-ledger accounts and year-end returns
Payroll cycleEmployee administration, salary components, leave accrual and balances, weekly and monthly runs, and corrections against periods that are already closed
DocumentsPayslips, bank payment files, and the year-end returns each tax office requires, in the format it requires
AccountingDirect integration with Zoho Books: chart of accounts, journal posting and reversal
HR dataOptional synchronisation with Zoho People, with differences reported for review rather than overwritten
AccessSeparate interfaces for the administrator, the line manager and the employee
SecurityTwo-factor authentication, a complete audit log, and each employer’s data kept strictly separate from every other
PrivacyEmployee anonymisation, per-employer export, and retention that respects statutory payroll-record obligations

The audit

Before go-live we reviewed the whole system again: twenty rounds of testing, four detailed module reviews and two adversarial reviews of our own changes. Two of the findings are worth setting out.

The tests were passing and still wrong

Several hundred automated tests had been passing for months. The review established that they had only ever been run against a stand-in for the live system, and that the two did not behave the same way.

The consequence would have been serious. Past a certain number of employees the live system returns an incomplete result instead of reporting a problem. A large employer could have been paid in part, with nothing anywhere to show it had happened.

The correction itself was straightforward. The change that mattered was making the stand-in behave like the live system, so the same kind of failure cannot pass a test again.

The journal did not balance

Every payroll run posts a journal into Zoho Books. A journal that does not balance is rejected, and the month stays open.

Ours came to 16,092.50 against 15,700.00. The difference was exactly the employer's own share of the social premiums: the charges were recorded, but the matching entries had nowhere to go. We corrected the mapping, applied it to all four countries and to employers already set up, and made the internal report and the posted journal share one source, so the two can no longer disagree.

About forty smaller defects came out of the same review: corrections calculated from zero rather than from the previous run, employees excluded from their own final payslip after leaving, a year-end total that counted cancelled runs, allowances that reached the gross figure but never the net, severance charged twice in a December with weekly periods. All were found before anyone was paid.

We include this section because a passing test suite on its own says very little. Finding these took reading the system again on the assumption that something in it was wrong.

Where it stands

LaunchSuriname, Aruba and Curaçao. Guyana is complete and tested against the revenue authority's 2026 schedule, and follows
StatusBuilt and audited, in preparation for go-live
DistributionDirect, with a Zoho Marketplace listing prepared as an integration for Zoho Books
Next

Similar work

Payroll is one example of a broader category: systems whose core logic is set externally, published as regulation, and revised on a schedule you do not control. Tariffs, levies, permits, subsidy conditions, compliance returns. If that describes your problem, we have built it four times inside one product.