Labor Standards Act–compliant HR platform

Attendance, leave, payroll and compliance — calculated end to end.

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.

7
Built-in roles, from HR director to employee
36
Permission slugs gating what each role opens
4
Statutory tables: labour, health, pension, tax
3
Compliance filings exported as files
The whole month

Everything an HR team does in a month, joined up

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.

Attendance & scheduling

From roster to hours worked, with nothing reconciled by hand

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.

  • Monthly roster
  • Shift definitions
  • Clock-event import
Inside the attendance module
Monthly roster
Employee × date
Chen DAY DAY DAY DAY DAY
Lin NGT NGT DAY DAY DAY
Huang DAY DAY DAY NGT NGT
That day
2026-07-14
ShiftDay 09:00–18:00
Clock in08:54
Clock out20:12
Unpaid break60 min
Hours worked10.3 h
Overtime2.0 h
Flagged: extended hours to confirm
Leave & annual entitlement

Stop computing 特休 seniority in a spreadsheet

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.

  • §38 annual leave
  • Leave types
  • Three-step approval
Inside the leave module
Leave balances
6 years of service
Annual leave (特休) 6.5 / 15 days
Sick leave 3 / 30 days
Personal leave 2 / 14 days
Annual leave computed under §38
Approval chain
LR-20260714-03
  • Employee submits hr.leave.request
  • Department manager approves hr.leave.approve
  • HR confirms hr.leave.manage
Awaiting HR confirmation
Payroll

Labour insurance, health insurance, pension and tax — looked up, not guessed

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.

  • Salary components
  • Monthly runs
  • Pay slip PDFs
Inside the payroll module
Period lifecycle
2026-07
  • Opened hr.payroll.manage
  • Calculated hr.payroll.manage
  • Reviewed per employee hr.payroll.view
  • Finalized (irreversible) hr.payroll.finalize
Preparing ≠ signing off
Grade-table lookup
2026 tables
Insurable salary50,600
Labour insurance1,104
Health insurance757
Pension2,880
Income tax1,506
Table in force on the period date
People & self-service

One set of records: HR sees everyone, each person sees themselves

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.

  • Employee master
  • Org chart
  • Self-service home
Inside self-service
Employee record
E014
DepartmentEngineering
PositionSenior Engineer
Hired2020-03-02
National IDA12****789
Changes append, never overwrite
Employee self-service
/my
My profile
My leave balance
8.5 days
My attendance
My pay slips
PDF
Scoped to their own rows
Compliance & control

Who may export a file is a different question from who may read it

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.

  • Statutory exports
  • Accounting bridge
  • Roles & permissions
Compliance in detail
Statutory exports
Produces files
104 job-bank employee roster hr.compliance.export
Withholding certificate (扣繳憑單) hr.compliance.export
NHI supplementary premium (二代健保) hr.compliance.export
Reading the numbers ≠ downloading the file
Journal to accounting
FincoLedger
DR · Salary expense1,284,000
CR · Salaries payable1,196,430
CR · Withholdings payable87,570
Out of balance by0
Draft only — an accountant posts it

The full capability list

Everything below is shipped and reachable in the product today.

Employee master

The full lifecycle — hiring, changes, termination, position assignment — with bulk Excel import that records where each row came from.

Org chart

A read-only, top-down view of the department reporting lines.

Monthly roster

An employee × date grid with single and bulk shift assignment.

Shift definitions

Paid window, unpaid break, overnight flag and colour — work hours derive from the definition.

Clock-event import

Upload the Excel/CSV your device exports, preview the match, then confirm. The parser is swappable per device.

§38 annual leave

Entitlement derived from hire date and service length, per Article 38 of the Labor Standards Act.

Leave types

Paid or unpaid, statutory or not, how it accrues, how it carries over, and what a request must satisfy.

Three-step approval

Employee submits, department manager approves, HR confirms — three separate rights.

Salary components

Earnings, deductions and employer contributions, each with its own tax and insurance treatment.

Monthly runs

Open, calculate, review, finalize. A finalized period is locked.

Pay slip PDFs

Pay slips with CJK fonts correctly embedded, downloadable as a whole-period ZIP.

Performance reviews

Weighted criteria templates and review cycles; self-review, manager scoring and acknowledgement are separate stages.

Self-service home

The dashboard and profile an employee lands on after logging in.

Statutory exports

The 104 roster, the withholding certificates and the NHI supplementary premium report.

Accounting bridge

A finalized period aggregates into a balanced draft journal handed to FincoLedger.

Roles & permissions

7 roles and 36 permission slugs; the sidebar is generated from the permissions held.

Machine API

A v1 REST API with scoped tokens — read and write are granted separately.

Webhook events

Hires, terminations, leave approvals and payroll locks pushed to an endpoint you nominate.

Taiwanese regulation

The rules are part of the arithmetic, not a report at the end

Labour insurance, health insurance, pension and income tax are not columns added after payroll runs. They are the calculation.

01
Maintain the grade tables

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.

02
Look up by effective date

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.

03
Produce the filings

At the end of a period or a year, export the 104 roster, the withholding certificates and the NHI supplementary premium report.

The rules change. Grade tables are data, not code — a new year is a data update, not a release, and it does not disturb periods already finalized.
Integration

Use FincoHR as the HR data layer under your own systems

If you already run a scheduling system, a dispatch system or your own internal back office, FincoHR can sit underneath as the engine.

01
Issue a token

Mint an API token per external system in settings, and choose exactly which data it may reach.

02
Read and write

Use the v1 REST API to read employees, attendance, leave balances and schedules, or to write clock events and rosters.

03
Receive events

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.

Events you can subscribe to
employee.created
employee.terminated
leave.approved
leave.cancelled
payroll.finalized
attendance.anomaly
Foundations

Before you hand it the whole company's payroll

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.

Taiwan compliance

How the labour, health, pension and tax tables work, how §38 annual leave is derived, and what the three filings cover.

Read the compliance page

Architecture

Portal authenticates, Console runs the HR business, and tenants are isolated by PostgreSQL schema.

Read the architecture page

Security

The authentication boundary, tenant isolation, permissions and separation of duties — and what we do not claim.

Read the security page
Next step

Wondering whether it fits how you already work?

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