HR and payroll your company actually owns
Leave, claims, payroll and payslips for Singapore teams in any sector. Approved claims are reimbursed with salary, unpaid leave comes off automatically, and every employee gets an itemised payslip. Use it hosted — free for your first five employees — or run it on your own infrastructure, with your employees’ data in your own database.
One command with Docker, or Node.js and PostgreSQL directly. No third-party account required.
Before anything else
Payroll you can check, not just trust
OTG HRMS calculates CPF, SDL and Self-Help Group contributions, reimburses approved claims with salary, deducts approved unpaid leave, and issues an itemised payslip to every employee.
An earlier version was withdrawn because its CPF arithmetic had never been checked. This one is rebuilt: CPF Board’s published rules for every age band, PR graduation year, wage band and ceiling, tested case by case. It has not yet been checked against CPF Board’s own calculator, so every pay run says so, and an approver confirms the figures before anything is issued. Payroll that is nearly right produces confident, plausible, wrong numbers, and we would rather show you the check than hide it.
It prepares CPF and bank-payment files for you to submit; it does not file with CPF Board or IRAS on your behalf. The full scope boundary lists what else it does not do.
What it does
Eight modules, each documented properly
Every module has its own page explaining what it decides for you, where you stay in control, and what it will not do.
Leave management
Entitlements that follow Singapore statute, applications, approvals and a shared team calendar.
Read more →Claims & expenses
Categorised expense claims with receipt capture, optional OCR, and approval routing that mirrors leave.
Read more →Payroll and payslips
CPF, SDL and Self-Help Group contributions, claims reimbursed with salary, and an itemised payslip for everyone.
Read more →Recruiting
From an approved requisition to a new employee in the next pay run, with nothing typed twice.
Read more →Employee records
One record per person: personal details, employment history, documents, reporting lines and access level.
Read more →Benefits & caps
Flexible-benefit, medical and health-checkup allowances with per-period caps enforced when a claim is filed.
Read more →Policies & acknowledgements
A versioned policy library where you can prove who acknowledged which version, and when.
Read more →Meeting rooms
Room booking that sends real calendar invites and handles replies, including proposed new times.
Read more →Roles & access control
Five roles, checked on the server, with session revocation and a complete audit trail.
Read more →Privacy & data-subject tools
Subject-access export, retention purging and audited access — the operational side of PDPA compliance.
Read more →How it feels to use
One leave request, start to finish
- 01
Employee applies
Picks dates on the apply form. Weekends and gazetted public holidays are excluded before they submit, so the deduction is never a surprise.
- 02
Approver decides
An email arrives with the request and two one-click buttons. Approve from a phone in under ten seconds, no login required.
- 03
Balances update
Entitlement, carry-forward, adjustments and used days are tracked separately, so any balance can be explained rather than just asserted.
- 04
It stays auditable
Who decided, when, and any comment — recorded. Manual corrections carry a mandatory reason and land in an append-only audit log.
Why self-host
Your database, in your account, in your region
Not a vendor’s multi-tenant database with your rows in it. You can dump it, move it or delete it on any day, without asking anyone’s permission and without an export request.
No licence fee to self-host
Self-hosted, there is no licence and no per-seat charge. Hosted, your first five employees are free.
No shutdown risk
The source is yours under the AGPL. If this project stops tomorrow, your installation keeps running and you can fork it.
Data stays in Singapore
Pick a Singapore region and the PDPA transfer-limitation analysis never comes up. Every major provider offers one.
Documentation
Start with these three
What OTG HRMS is, and what it deliberately is not
Read this first. It draws the boundary around the product honestly, including the sizeable thing it does not do.
6 min readInstall it without a developer
One command, one settings file, no accounts to create. What the Docker route actually involves, and the honest limits of how far it gets you.
9 min readWhat running your own HRMS makes you responsible for
A plain-language walk through your PDPA obligations as the organisation holding the data, which of them the software helps with, and which it cannot touch.
Try it before you commit to anything
Clone the repository, point it at a throwaway database and create a company. If it does not fit how your team works, you have lost an afternoon and nobody has your data.