Payroll module

Payroll

From defining salary components to locking a finalized period, with labour insurance, health insurance, pension and tax looked up in the grade tables.

The monthly cycle

Payroll is the same sequence every month, so it is modelled as a lifecycle with explicit states rather than a button.

01
Define components

Create earnings, deductions and employer contributions, each marked with whether it is taxable, whether it counts toward insured salary, and how it is calculated.

02
Assign to people

Assign components and amounts on the employee's compensation tab with an effective date. A raise appends a row; the previous one stays as history.

03
Open and calculate

Open the month and run the calculation: overtime comes from attendance, and the statutory deductions from the tables in force on that date.

04
Review, then finalize

Review employee by employee, then finalize. Finalizing is irreversible — a correction means voiding the period and re-running it.

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
What it covers

What the payroll module includes

The whole path from component definition to accounting journal.

Salary components

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

Compensation structures

Components carry effective dates — a raise appends a row rather than editing the old one.

Monthly runs

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

Overtime hours

Overtime pay comes from the attendance record, not from a second form somebody fills in.

Pay slip PDFs

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

Accounting bridge

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

Why a finalized period cannot be edited

Because the pay slips have gone out and the withholding figures may already have been filed. Quietly editing a finalized period would let the system disagree with the paper in someone's hand. Correcting it means voiding the period and re-running, which leaves a trail.

Calculating and finalizing are different rights

hr.payroll.manage opens a period and recalculates it as often as needed; only hr.payroll.finalize can finalize or void. Keeping them apart means whoever prepares the numbers is not automatically the one who signs them off — worth doing even in a small company, because it costs almost nothing.

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.