Book a call
Contact

Summary

Small and mid-sized businesses in Singapore have historically run payroll on a combination of spreadsheets, bespoke point tools, and the occasional outsourced bookkeeper — a setup that is workable at five employees and increasingly painful at fifty. The client we worked with set out to consolidate this into a unified SaaS platform: payroll calculation, HR, leave management, tax reporting, and direct bank payout, in one system, designed specifically for Singapore's regulatory environment. We engineered the platform end to end. The build covered the payroll engine with its CPF and IR8A statutory logic, an HR module unified around a single employee record, integrations with more than 20 Singaporean banks, and the security controls expected of any SaaS handling employee financial data. The platform went live in 39 weeks of engagement.

Request

The client needed a SaaS platform that would unify HR and payroll functions while supporting complex company rules and delivering accurate, audit-ready payroll with minimal manual overhead. The specific problems the platform had to solve were familiar to anyone in the SMB payroll space:
Payroll calculations that required manual reconciliation across multiple spreadsheets
Employee and leave data scattered across disparate systems
Regulatory reporting (CPF contributions, IR8A tax forms) that was labour-intensive and error-prone
HR teams spending 15–30 hours per payroll cycle on manual work that should have been automated
The brief wasn't just to build a tool — it was to build a tool that an HR team could trust with statutory filings.

Challenge

Four constraints shaped the architecture.
Regulatory logic.
Singapore's payroll landscape involves intricate calculations: CPF contributions varying by employee age and citizenship status, IR8A tax filings, multiple categories of statutory deductions, and rules that change with regulatory updates. Encoding this correctly — and keeping it correct over time — required a clear separation between business logic and parameter sets, so regulatory updates wouldn't trigger a release cycle.
Data fragmentation in the existing client base.
Clients arrived with their data scattered across legacy systems and manual spreadsheets. Onboarding required a migration path that absorbed messy source data without compromising the integrity of the new system. Unified leave management and payroll reconciliation only work if the underlying employee record is clean.
Security and compliance posture.
As a SaaS handling sensitive financial and personal employee data, the platform required bank-grade security from day one — not retrofitted ahead of an audit. ACID compliance on the data layer, audit-grade logging, role-based access, and strong authentication couldn't be bolted on later.
Bank integration at scale.
Twenty-plus Singaporean banks, each with its own API quirks, file format conventions, and operational behaviour. The integration layer had to handle this variety while maintaining performance during end-of-month payroll cycles — when load on the system peaks predictably.

Feature scope

The platform shipped as an integrated suite:
Unified dashboard with real-time alerts
for important HR and payroll events
Configurable company rules engine
work schedules, leave accrual policies, tax handling per employee category
Comprehensive employee database
contacts, bank details, documents, employment history
Precise payroll engine
handling bonuses, allowances, tax refunds, and leave implications correctly
Direct bank payouts
with integrated connections to 20+ Singaporean banks
Automated CPF contribution submission
and simplified IR8A filing
Multi-level approval workflows
for leave and pay changes
Exportable reports
(XLS / CSV) for offline analysis
Security controls
2FA, session monitoring, audit logging
Mobile-ready design
for HR tasks that don't fit at a desk

Tech stack

Application
NET 9 / ASP.NET Core, an open-source web development framework | .NET  Core 9 (backend), Next.js + TypeScript (web frontend)
Database
PostgreSQL with strict ACID guarantees; PostGIS where geospatial queries were needed
Infrastructure
AWS Multi-AZ deployment, Terraform for infrastructure-as-code
CI/CD
Jenkins pipelines with security and quality gates
Design
Figma for high-fidelity interaction prototyping; clean enterprise UI optimised for dense data
QA
Manual QA on isolated staging environments and production smokes, Postman and Swagger for API contract tests

Key Features

Configurable company rules engine

The platform's core abstraction. Rather than hard-coding payroll logic for a generic Singaporean SMB, the system was built around a configurable rule engine: work schedules, leave accrual, statutory tax handling per employee category. Each client configures its own rules within the boundaries the regulation allows. The architectural payoff: regulatory updates become parameter changes for most cases, not code changes. The build cost more upfront. The maintenance cost dropped meaningfully.
Laptop screen displaying a company payroll and department management interface with sections for departments, managers, and employees, plus notifications about team status and upcoming events.

Precise payroll generation

The most complex feature in the system. The payroll engine accounts for days off, bonuses, allowances, tax refunds, and the cascade of leave implications across pay periods. Singapore's CPF logic alone — with its age-based and citizenship-based variations — has more than enough corner cases to break a naïve implementation. The engineering work here was less about computation speed and more about correctness under edge conditions, which is exactly the kind of work payroll engineering rewards over time.
Tablet with keyboard showing a payroll management software screen for September 2021 detailing employee payment settings, monthly pay, ad hoc types, and salary summary.

Bank integration layer

Twenty-plus Singaporean banks, each with its own API style and operational quirks. The integration layer abstracts these variations behind a uniform interface so that the payroll engine doesn't care which bank a given payout is going to. Adding the twenty-first bank is now a configuration and connector job, not a re-architecture.
Laptop screen displaying a work schedule management interface showing group shifts, daily work settings, and a list of employees with their departments and designations.

Statutory reporting automation

CPF contributions and IR8A tax filings are the two regulatory surfaces most SMBs in Singapore struggle with. The platform generates these reports directly from verified payroll data, eliminating the manual re-entry step that historically introduced most filing errors. Reporting becomes a verification step, not a re-derivation step.
Stack of spreadsheet pages showing employee payroll details including Currency SGD, Basic Salary, Allowance, Employee ID, Name, Hired Date, and Resign Date.

Mobile Ready

Full functionality with a smooth, user-friendly mobile experience.
Mobile screen showing a form titled Basic information & Contacts with fields for user role, full name as Ann Robertson, date of birth 02 Oct 1993, gender female selected, phone number, and marital status.

Timeline

Discovery
Defining the problem space, scoping the regulatory surface, mapping success criteria.
4 weeks
Core engine and MVP
Building the payroll engine, the regulatory compliance layer, and the essential HR modules.
16 weeks
Full Feature Integration
20+ bank integrations, advanced security, mobile-ready frontend.
12 weeks
Testing and QA
End-to-end manual and automated testing, API validation, staging dry runs.
4 weeks
Delivery
Final launch, client onboarding, post-launch fixes, project closure.
3 weeks

Results

Engineering results

20+ bank integrations live and operational, with an architecture that scales to additional banks via configuration rather than re-architecture
Multi-AZ AWS deployment with strict ACID guarantees on the financial data layer
Bank-grade security controls in production from day one — 2FA, session monitoring, audit logging
End-of-month peak load handled cleanly during the platform's busiest hours
Configurable rules engine that absorbs regulatory updates as parameter changes, not release cycles

Summary

Client's operational outcomes
The metrics below belong to the client and its end-users. The platform enables them; the business and its HR teams deliver them. We list them here because they represent the strategic impact the engagement was designed to support.

Results in numbers

70%
reduction in payroll processing time — from 20+ hours to under 6 hours per cycle, reported by HR teams using the platform
97%
payroll calculation accuracy on first submission, eliminating most of the manual reconciliation overhead that previously consumed each cycle
80%
reduction in compliance errors and delays — through automated CPF and IR8A reporting
40%
decrease in monthly HR administrative hours, freeing HR teams for higher-leverage work
30%
faster employee onboarding in the system
85%
of clients actively using automated leave and payroll features after go-live
60%
adoption of direct bank payout automation within the first three months
4.6/5
client satisfaction in post-launch surveys (client's internal metric)

NDA

Numbers reported by the client. Independent verification is available through the client under mutual NDA.

Next steps

The platform is in continuous evolution. The current roadmap includes:
Multi-country payroll support beyond Singapore, building on the configurable rules engine
AI-assisted insights for payroll forecasting and compliance risk alerting
Expanded API ecosystem for integration with accounting and ERP platforms

F. A. Q.

Why .NET 9 and Next.js for an HR / payroll system?

The stack choice followed the workload. .NET 9 / ASP.NET Core, an open-source web development framework | .NET  Core 9 gave us the type safety and performance profile that payroll calculations reward — financial data demands strict typing and the .NET ecosystem has decades of patterns for handling money correctly. Next.js + TypeScript on the frontend gave us responsive, mobile-ready interfaces that HR managers could use from any device. PostgreSQL on the data layer enforces the ACID guarantees you can't compromise on for payroll. The stack wasn't fashion-driven; it was workload-driven.

How do you handle regulatory updates in a payroll engine?

By separating regulatory parameters from regulatory logic. Singapore's CPF rates, contribution caps, and statutory thresholds change periodically. If those values are hard-coded throughout the engine, every regulatory update is a code change. If they live in a parameter layer that the engine reads, most regulatory updates become configuration changes — applied without a release cycle, tested in isolation, rolled back cleanly if needed. This pattern adds complexity to the initial build but dramatically reduces the cost of every subsequent regulatory cycle.

How long does the transition from spreadsheets to automated payroll SaaS take?

For an end-user company adopting a platform like this, the transition typically spans a few weeks of data migration plus a parallel-running period of one or two payroll cycles before full cutover. The platform itself was built over a 39-week engagement. Migration timelines for individual clients onto the platform are much shorter — the platform was designed to absorb messy source data without compromising the integrity of the new records.

Can the platform expand beyond Singapore?

Architecturally, yes — and that's part of the current roadmap. The configurable rules engine was designed precisely so that adding a new jurisdiction is a matter of defining its regulatory parameters and operational specifics, not re-architecting the engine. Multi-country expansion is one of the post-launch workstreams.

Can you share the client name?

The client name is withheld under NDA. Get in touch if you'd like to discuss the engagement at more depth under a mutual NDA — we can walk through the architecture and operational decisions at a level not appropriate for public material.

See more cases

Wiki

A content-first knowledge platform that turned the data fragmentation of a $5B+ market into a global traffic engine.
#AWS
#Esports
#Gaming
#Headless-CMS
#Content-Platform
#Multilingual
#SEO
#Real-Time-Data
Skin.Club CS2 skins guide webpage displaying various weapon skins and knife designs including Doppler, Ultraviolet, Marble Fade, Freehand, and Damascus Steel.
This is some text inside of a div block.

Welcome Renovation

Engineering a productized renovation experience for the California luxury market — three apps, one source of truth.
#PropTech
#ConstructionTech
#Mobile
#iOS
#Android
#Stripe
#AWS
Skin.Club CS2 skins guide webpage displaying various weapon skins and knife designs including Doppler, Ultraviolet, Marble Fade, Freehand, and Damascus Steel.
This is some text inside of a div block.

Healthcare Compliance Platform

Re-architecting a clinical SaaS for HIPAA and GDPR compliance while expanding product capabilities.
#HealthTech
#Compliance
#HIPAA
#Kubernetes
#GDPR
#Cloud-Native
#Microservices
#AWS
#PostgreSQL
DevSecOps
Skin.Club CS2 skins guide webpage displaying various weapon skins and knife designs including Doppler, Ultraviolet, Marble Fade, Freehand, and Damascus Steel.
This is some text inside of a div block.
Building regulated SaaS in a new jurisdiction?
If you're shipping a financial or HR platform into a regulated market — Singapore, EU, US state-level — and you need an architecture that absorbs regulatory complexity without bleeding it into your release cycle, that's where the engagement starts.
Start a Capability Blueprint Workshop
+1
🇺🇸
Uploading...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
By clicking this button I agree to the Privacy policy
Thanks for reaching out!
We’ve received your message and one of our experts will be in touch shortly.
Back
Oops! Something went wrong while submitting the form.

Start your capability journey

In 4 weeks we map your architecture, delivery model, knowledge gaps, risks, and capability priorities — so you can scale independently.
Man with short dark hair and beard wearing sunglasses and a light-colored shirt, looking to the side against a blurred outdoor background.
Alexey Belokamensky
CEO
Black and white photo of a man in a suit speaking at a microphone on stage with a piano in the background.
Alex Volt
Head of Sales
Black and white portrait of a woman with curly hair wearing a white top, looking off to the side.
Sofia Petrenko
Recruitment Manager