Skip to content

HRM & attendance ​

Tenant HRM lives under /v1/businesses/{business_id}/hrm-* and the portal HRM navigation group. Platform admin does not ship an HRM console in this release.

ZKTeco devices ​

Devices are polled by the Tadbeer worker over TCP (default port 4370). The device must be reachable from the worker network (public IP, VPN, or reverse tunnel).

ActionPurpose
Test connectionDial + protocol handshake
Sync nowEnqueue an immediate poll
Scheduled pollEvery few minutes for poll_enabled devices

Map each employee’s device user ID (zk_user_id) to the PIN/badge id on the terminal. Unknown IDs are skipped and recorded on the device last_error. Device passwords are encrypted at rest and masked in API responses.

Payroll, rewards, advances ​

Status workflows (v1 does not post payroll into the GL automatically):

ResourceActions
Payroll runsgenerate, approve, mark-paid, cancel
Rewardsapprove, mark-paid, cancel
Advancesapprove, mark-paid, repay, cancel

generate builds lines from active employees: base salary + approved rewards in the period − open advance balances. Marking a run paid applies advance deductions to remaining balances.

Documentation for Tadbeer operators, developers, and implementation partners.