Clock records come in. Annual leave accrues under §38 of the Labor Standards Act. Overtime is derived from what people actually worked. Labour insurance, health insurance and pension are looked up in the grade tables, income tax is withheld under the standard. Out the other end come pay slips and three statutory filings — with no step in the middle where you open a spreadsheet.
Each module works on its own, but the saving comes from the chain: the roster decides attendance, attendance decides overtime, overtime goes into payroll, payroll produces the filings.
Define shifts (paid window, unpaid break, whether it crosses midnight), build the monthly roster, then drop in the file your time clock exports. The system compares scheduled against actual, derives hours and overtime, and flags lateness, early leaving and missing punches for HR to resolve.
Annual leave is derived from the hire date under §38 of the Labor Standards Act, and rolls over at year end according to the rules you set. For every other leave type you configure whether it is paid, how it accrues and what constraints apply to a request.
Build salary components yourself (earnings, deductions and employer contributions each carry their own tax and insurance treatment). Calculation reads the grade table in force on the period date. Once a period is finalized it is locked — correcting it means voiding and re-running, because the pay slips are already out.
The employee master covers hiring, changes, termination and position assignment, with bulk Excel import that keeps its provenance. Employees get their own /my area: their attendance, their leave, their pay slips, their self-review.
The 104 roster, the withholding certificates and the NHI supplementary premium report are produced directly. A finalized period can also be aggregated into a draft journal for FincoLedger — a draft, because posting to the general ledger stays the accountant's decision.
Everything below is shipped and reachable in the product today.
The full lifecycle — hiring, changes, termination, position assignment — with bulk Excel import that records where each row came from.
A read-only, top-down view of the department reporting lines.
An employee × date grid with single and bulk shift assignment.
Paid window, unpaid break, overnight flag and colour — work hours derive from the definition.
Upload the Excel/CSV your device exports, preview the match, then confirm. The parser is swappable per device.
Entitlement derived from hire date and service length, per Article 38 of the Labor Standards Act.
Paid or unpaid, statutory or not, how it accrues, how it carries over, and what a request must satisfy.
Employee submits, department manager approves, HR confirms — three separate rights.
Earnings, deductions and employer contributions, each with its own tax and insurance treatment.
Open, calculate, review, finalize. A finalized period is locked.
Pay slips with CJK fonts correctly embedded, downloadable as a whole-period ZIP.
Weighted criteria templates and review cycles; self-review, manager scoring and acknowledgement are separate stages.
The dashboard and profile an employee lands on after logging in.
The 104 roster, the withholding certificates and the NHI supplementary premium report.
A finalized period aggregates into a balanced draft journal handed to FincoLedger.
7 roles and 36 permission slugs; the sidebar is generated from the permissions held.
A v1 REST API with scoped tokens — read and write are granted separately.
Hires, terminations, leave approvals and payroll locks pushed to an endpoint you nominate.
Labour insurance, health insurance, pension and income tax are not columns added after payroll runs. They are the calculation.
The insured-salary bands for labour insurance, health insurance and pension, and the withholding brackets for income tax, each carry effective dates. A new year adds a version rather than overwriting the old one.
Every calculation reads the table that was in force for that period, and derives the employee deduction, the employer cost and the tax to withhold.
At the end of a period or a year, export the 104 roster, the withholding certificates and the NHI supplementary premium report.
If you already run a scheduling system, a dispatch system or your own internal back office, FincoHR can sit underneath as the engine.
Mint an API token per external system in settings, and choose exactly which data it may reach.
Use the v1 REST API to read employees, attendance, leave balances and schedules, or to write clock events and rosters.
Register a webhook and get told when something happens, instead of polling for it.
Common uses: push hours from a dispatch system back for overtime calculation, sync the roster into a door-access system, notify an internal finance workflow when payroll is finalized.
An HR system holds national ID numbers, salaries and leave records that can imply health information. These three pages say where they sit and who can reach them.
How the labour, health, pension and tax tables work, how §38 annual leave is derived, and what the three filings cover.
Read the compliance pagePortal authenticates, Console runs the HR business, and tenants are isolated by PostgreSQL schema.
Read the architecture pageThe authentication boundary, tenant isolation, permissions and separation of duties — and what we do not claim.
Read the security pageTell us how you run payroll today, which time clock you use and how many departments you have. We will tell you straight whether it fits.