👥 HR Dashboard
Loading…
201 Files
—
— active
Not Linked to a Login
—
no Firebase Auth account
Govt. Enrollment Gaps
—
missing SSS / PHIC / HDMF
Legacy Records
—
not yet made into 201 files
Pending Requests
—
— leave · — OT
✅ Phase 1 Setup Checklist
🏢 Headcount by Department
| Department | Active | Separated | Payroll Groups |
|---|
⚠️ Government Enrollment Gaps
Staff with an agency switched off. A gap is fine if it is deliberate — write the reason in the Remarks box so payroll does not look like a mistake later.
| Employee | SSS | PhilHealth | Pag-IBIG | Remarks |
|---|
🗂️ 201 Files
The employee master file. Records are separated, never deleted — the history stays auditable.
| Emp. No. | Name | Position | Department | Status | Group | Rate | Govt. | Login | Actions |
|---|
Showing 0 record(s).
➕ New 201 File
Create the employee master record.
Identity & Employment
Their job title, for the 201 File and printed documents.
⚠️ It grants nothing. Typing “Cashier” here does not give anyone the store screen —
that is the HR role, set in Roles & Access.
Which site this person's clock-in is checked against. Edit the list under Work Sites.
Compensation
💡
Daily-rate is PCY's default. Basic pay = days worked × daily rate; COLA = days worked × COLA per day. Monthly is available for managers. These are snapshots taken at payroll time — changing a rate here never rewrites a payslip that was already issued.
⚠️
Declared Monthly Basis is the government-contribution base — SSS MSC mapping and the PhilHealth / Pag-IBIG bases read it directly. It is NOT derivable from the daily rate (two staff on the same daily rate can carry different SSS). Take it from the employee's SSS record. Payroll refuses to compute a person's statutory deductions until this is set. “Suggest” only offers daily × 313 ÷ 12 as a rough starting point.
Editable by Finance and Admin. Leave blank and the person's SSS/PhilHealth/Pag-IBIG will be flagged uncomputed at payroll time.
Government IDs
Government Enrollment
Switch OFF an agency only when the employee genuinely has no deduction for it, and say why in Remarks. Payroll will compute ₱0 for any agency switched off.
Contact & Emergency
Separation
📥 Legacy Employee Records
Records already in the Bookkeeping module's Payroll tab (collection
employees).⚠️
This screen is read-only. HR never writes to these records — Bookkeeping's Payroll tab still uses them and a different shape would break it. Use Create 201 File to copy the details across into a fresh HR record; the original is left untouched.
| Legacy ID | Name | Position | Department | Basic Salary | Type | 201 File? |
|---|
🕒 My Day
Your shift for the day, and clock in / out.
📅 My Attendance
Your recent clock-ins.
👤 My 201 File
Your own employee record. To correct anything here, tell HR or the Finance Manager.
💰 My Balances
What you still owe the company, and how much is deducted each payday. You see only your own. This screen is for information — balances are maintained by Finance and cannot be edited here.
🏪 Store Entries
Record what staff take from the store and what they pay against it. Entries are collected on the payday for the cutoff the purchase falls in. Nothing here is deleted — a mistake is voided, with a reason, and stays on the record.
💬 Chat
Group channels for the team. Messages are kept on record — this is a work system, not a private one.
📴 No connection. Anything you send is held on this device and will go out on its own when you are back online. Do not retype it.
Select a channel
🌴 My Leave
Your Service Incentive Leave (SIL). Please check it. These balances were carried over from the old paper records, so if anything looks wrong we want to hear about it.
🌴 SIL Ledger
Service Incentive Leave balances for every employee, valued at each person's current daily rate. Read-only — balances cannot be edited from any screen.
🧾 My Payslip
Your released payslips. A payslip appears here only after its payroll run has been paid — draft runs are never shown. You see only your own.
📝 My Requests
File a leave or overtime request and track its approval. Operations or the HR admin approves.
🔑 Roles & Access
Who can do what inside HR & Payroll.
⚠️
Three different fields decide three different things.
Editing one does not change the others, and only the first one is set on this screen.
⚠️ A change here takes effect only when the person signs out and signs back in.
| HR role this screen |
The job function — which HR screens open, and who may prepare, check or approve payroll. This is what gives the store cashier her entry screen. |
| Suite role Front Office → Staff |
Which APPS open at all — Accounting in particular. Not set here, and not the same as the HR role. |
| Position 201 File |
Their job title, for the 201 and printed documents. ⛔ It grants nothing at all. |
ℹ️
HR uses its own set of roles so payroll duties can be split three ways (prepare → check → approve).
Each person's HR role is worked out in this order: (1) the Firebase custom claim
hrRole,
(2) the hrRole field you set below, (3) a cautious guess from their existing suite role.
Setting it below is enough for this app; the security rules can only see the custom claim, so run
scripts/set-hr-claims.js before the HR rules are published.
HR Roles & What They Can Do
| HR Role | Who | Phase 1 capabilities | Later phases |
|---|---|---|---|
| 👑 admin | Atty. Torres | Everything: create/edit/separate 201 files, edit HR settings and rate tables, assign HR roles | Approves payroll runs (3rd signature) |
| 💼 finance | Miralyn Torres | Create/edit 201 files, view everything, view settings | Checks payroll runs (2nd signature), staff ledgers |
| 🧭 ops | Albaya Salik | Read all 201 files | Approves leave/OT, shift schedules, attendance review |
| 🧮 payroll_clerk | Farhana Ampuan | Read all 201 files | Prepares draft payroll runs (1st signature). Not attendance corrections — those are Ops/Finance/admin |
| 👤 staff | Everyone else | Read own 201 file only | Clock in/out, file leave/OT, view own payslips |
Assign HR Roles
⚠️
Suite roles (owner / manager / bookkeeper / staff) are not changed here — this only adds an
hrRole field. Both Miralyn and Albaya are manager in the suite, so HR cannot tell finance from ops by itself: set them explicitly.| Name | Suite Role | HR Role (in effect) | Source | Set HR Role |
|---|
⚙️ HR Settings
Rates and policies live here as data, so a yearly government table change never needs the app rebuilt.
🧮 Payroll Readiness
Payroll (Phase 4) refuses to compute until every statutory table is filled and Rates Verified is on. This is a live check of what's still missing — it updates when you Save.
🏛️ Statutory Rate Tables
🚫
These are deliberately empty. SSS, PhilHealth, Pag-IBIG and BIR tables have not been filled in — they must
come from the current official circulars, not from memory. Payroll (Phase 4) will refuse to compute until
Rates Verified is switched on below. Paste each verified table as JSON.
Used only when the table above carries no
erShare column. Employer cost only — it never touches an employee's pay. Payroll will refuse to post the employer entry until this is set. The EC amount comes from the table's ecShare column.📐 DOLE Premium Multipliers
⚠️
Multipliers of the daily/hourly base. Confirm against the latest DOLE issuance before entering. The engine stacks them day-type → night differential → overtime. Night differential is a +rate (e.g. 0.10 = +10%) applied on the premium-inclusive rate; everything else is a full multiplier.
Special day not worked = no pay (no field needed).
🌴 Leave Policy
Service Incentive Leave and the list of leave types staff can file. SIL is the Labor Code default (Art. 95): 5 paid days a year after 1 year of service. Balances are computed live from approved requests — nothing to reconcile.
Only SIL is paid/creditable. The other types are recorded and routed for approval but don't draw down a paid balance (their pay treatment is a Phase-4 decision).
🏝️ PCY Payroll Policy
House rules taken from PCY's actual payroll register — safe to set now.
When an SSS / Pag-IBIG amortization could not be deducted (no pay), PCY still remits it and recovers it later.
1.0 = catch up by ONE full extra amortization per cutoff, so the deduction never exceeds double the normal figure.
0 = never auto-recover. Blank defaults to 1.0.
🏦 Company Loan Policy
Interest is add-on, on the original principal: interest = principal × monthly rate × term.
The service charge is deducted from the release — it does not increase what is repaid.
These rates govern new loans granted through the Grant screen only; loans transferred in
from the old book keep their own figures and are never recomputed.
—
🕒 Shift Definitions
The named work shifts Operations can assign on the Schedule Board. Shifts are deactivated, never deleted, so a past month's schedule stays readable.
| Name | Start | End | Break | Work Days | Night Diff. | Status | Actions |
|---|
📍 Work Sites
The locations where staff clock in. Each 201 File is assigned a site, and a clock-in is checked against that employee's site — anyone outside their site's radius is flagged for review, never blocked. Sites are deactivated, never deleted, so past attendance stays legible.
| Name | Latitude | Longitude | Radius | Default | Status | Actions |
|---|
🗓️ Schedule Board
Give each employee a default shift and their weekly rest day(s) for the month. Use 📅 for a one-off change — a swap, or an extra rest day on a specific date.
| Employee | Default Shift | Weekly Rest Days | This Month |
|---|
Rest days are marked per employee. A shift must exist before it can be assigned — add one under Shifts first.
📍 Offsite Review
Every clock recorded outside a work-site fence in the chosen period, newest first. This answers “is this pattern normal?” — a different question from “was this one clock legitimate?”, which is Attendance Review. Out-of-fence clocks only.
✅ Attendance Review
Every clock-in for the month. Fix exceptions — a missing time-out, a clock-in outside the employee's assigned site, or a missing location — with a reason. Corrections keep an audit trail; records are never deleted.
Records
—
this month
Missing Time-Out
—
past days still open
Outside Geofence
—
time in or out
No Location
—
time in or out
➕ Add a missing day
For a day that has no record at all — a forgotten tap, a dead phone, or an absence
that needs an explicit zero entry. It is saved flagged as manually created, with your
name and reason, so review can always tell it apart from a real clock-in.
| Date | Employee | Site | Shift | In | Out | Hours | Appr. OT | Flags | Status | Actions |
|---|
📥 Requests Inbox
Leave and overtime filed by staff. Operations or the HR admin approves or denies with remarks; finance has visibility. Same flow as the Quotation pipeline. Requests are never deleted — an audit trail.
🏦 Agency Loans — statement check
📒 Staff Balances
Every recurring balance carried against an employee — cash advances, store accounts, loans, rice, coop, and statutory shortfalls carried forward. These are what payroll recovers automatically on the next run.
🏦 Loans
➕ Grant or transfer a loan
| Employee | Type | Principal | Total repayable | Rate | Per cutoff | Remaining | Projected completion |
|---|
📊 All carried balances
Statutory carried forward
₱0.00
Staff with a carry
0
Company recoveries outstanding
₱0.00
Active balances
0
| Employee | Type | Outstanding | Breakdown | Per run | Last movement |
|---|
🧮 Payroll Workbench
Prepare a semi-monthly run, review each payslip, then route it through the three signatures — Prepare (clerk) → Check (finance) → Approve (admin). Payroll refuses to compute until the statutory tables are verified in Settings.
➕ New Payroll Run
Pulls each active employee in the sheet, pre-fills days worked from attendance where available, and computes statutory deductions from the verified tables. You review and adjust before saving the draft — nothing is written until you press Save Draft.
Payroll Runs
| Period | Sheet | Status | Prepared | Checked | Approved | Net Total | Actions |
|---|
🔒
Not available for your role
Ask the owner to grant you the right HR role.