First 5 employees free · open source · AGPL-3.0

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.

How it feels to use

One leave request, start to finish

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

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

  3. 03

    Balances update

    Entitlement, carry-forward, adjustments and used days are tracked separately, so any balance can be explained rather than just asserted.

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

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.