Today at a glance
Not in today
| Employee | Branch | Reason |
|---|
Late check-ins today
| Employee | Branch | Checked in |
|---|
Needs attention this month
Most absences (top 5)
| Employee | Branch | Days |
|---|
Most late check-ins (top 5)
| Employee | Branch | Times |
|---|
Recent resignations (last 90 days)
| Employee | Branch | Position | Resigned on |
|---|
This month's attendance snapshot
Trends (last 6 months)
Attendance rate
% of marked days that were Present
Late check-ins
Self check-ins after the late cut-off
Headcount & turnover
Active employees at month end
Pending leave requests
| Employee | Type | From | To | Days |
|---|
Recent leave activity
| Employee | Type | From | To | Status |
|---|
Loading today's status…
Your device will ask for location access — you must be at your branch to check in or out.
Recent attendance
| Date | Check in | Check out | Location | Status |
|---|
Apply for leave
My leave history
| Type | From | To | Days | Status |
|---|
Pick a month your salary has been processed for, then View to see the breakdown below.
Documents HR has added to your personal file. View or download them below.
| Name | Address | Employees | GPS check |
|---|
| Code | Name | Branch | Type | Shift | Position | Phone | Joined | Leave | Balance | Status |
|---|
P Present
A Absent
L Leave
HD Half day
R Roster leave
H Public holiday
WO Week off
Click a cell to cycle the status
Check-in / check-out punches
Self-service check-in/check-out times and locations for the loaded month. If someone couldn't check out themselves (e.g. left the branch early on an approved half day/roster leave), use "Close checkout" to close it manually — this only closes the punch, it does not change that day's status on the grid above, so set Half day/Roster leave/etc. there separately if needed.
| Employee | Date | Check in | Check out | Location | Status |
|---|
Leave
Apply for leave
| Employee | Type | From | To | Days | Status |
|---|
Reports
Employee-wise attendance & leave report
Attendance totals, leave records and automatic leave balance for one employee over a date range.
Branch monthly attendance sheet
Full day-by-day attendance (e.g. 1–30) for every employee in a branch, plus that month's leave applications. Prints in landscape.
Employee-wise payment report
Monthly Gross salary, Total deductions and Net pay for one employee over a date range, using saved Payroll tab figures.
Branch-wise payment report
Every employee's Gross salary, Deductions (EPF/Advance/Loan/Late/APIT/Other) and Net pay for one branch, one month. Prints in landscape.
EPF / ETF report
Statutory contribution schedule for one month: Employee EPF (8%), Employer EPF (12%) and Employer ETF (3%), calculated on each employee's EPF base (Basic salary + Allowance, before deductions). Rates are editable below before generating — they're a Sri Lanka default, not hard-coded law.
Basic salary and OT rate are set per employee (Employees → Edit).
Per-day rate = Basic ÷ (days in month − Week off days − Public holidays − No Pay leave days). Public holidays (Settings → Public holidays) are always paid in full and never deducted, even if roster leave/half day/absent is marked on that date.
Gross Salary = Basic Salary + Allowances + OT pay.
Total Deductions = No-Pay (Absent/Half day) + EPF + Advance + Loan + Late + APIT/PAYE + Other deductions.
Net Salary = Gross Salary − Total Deductions. Allowance / EPF / Advance / Loan / Late / APIT / Other deduction are entered below per employee per month.
| Employee | Branch | Basic (Rs.) | Working days | Present days | Holidays | Unpaid days | No-Pay ded. (Rs.) | OT hrs | OT rate | OT pay (Rs.) | Allowance (Rs.) | Gross salary (Rs.) | EPF (Rs.) | Advance (Rs.) | Loan (Rs.) | Late (Rs.) | APIT/PAYE (Rs.) | Other deduction (Rs.) | Total deductions (Rs.) | Net pay (Rs.) | Payslip |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Choose a month and click Load. | |||||||||||||||||||||
Employees read each active policy in their own login and tick “I agree”. The date is recorded, and changing the text makes a new version that everyone must agree to again.
| Policy | Version | Status | Agreed |
|---|
Please read each policy and confirm that you agree. Your confirmation is recorded with the date and time.
📎 Application form link — share this on Facebook / WhatsApp / job sites
| Ref | Applied | Name | Position | Phone | Status | Interview |
|---|
Settings
Company profile
Attendance rules
Applies to employee self-service check-in. Checking in at or after the half-day time automatically marks that day "HD" on the Attendance grid instead of "P". The late time only adds a "Late" note — it doesn't change the day's status.
Alerts
Applies to the Contract ends / Probation ends dates on an employee's record, and any Expiry date set on a personal-file document. Admin and the employee's branch manager get a notification once the date falls inside this window.
Shifts (for shift-based employees)
Define named shifts (e.g. Morning/Evening/Night), each with its own Late/Half-day cut-off times. Assign a shift to an employee on their Add/Edit employee form — their self-service check-in then uses that shift's times instead of the default Attendance rules above. Employees left without a shift keep using the default rules.
| Shift | Start | End | Late after | Half day after |
|---|
Public holidays
Mark government/company holidays here (e.g. Poya days, National Day). Any date listed here is treated as a paid non-working day everywhere in the app: it's excluded from the Attendance grid's working-day count and, on the Payroll tab, it never reduces salary — even if that day also happens to fall on a roster leave, week off or a day someone forgot to mark. Leave "Branch" as "All branches" for a company-wide holiday, or pick one branch for a branch-specific closure day.
| Date | Holiday name | Branch |
|---|
Leave policy (yearly entitlement)
No Pay and Other leave types aren't counted against a balance. Balances are calculated automatically from approved leave records — nothing to enter by hand.
If enabled, an employee's unused Annual leave from the previous calendar year is added to this year's Annual entitlement (capped at the max above). Only carries forward one year back — leave not used within that following year is forfeited, same as most company policies. Casual and Sick leave never carry forward.
Roles & Permissions
Grant or revoke specific module access for the Branch manager role. Every switch below is enforced on the server too — not just hidden in the browser — so a manager account can never do more than what's switched on here, even via a hand-crafted request. Payroll always stays admin-only and isn't listed below — salary data is never exposed to a manager account, on any setting.
| Module | Access | What it lets a manager do |
|---|---|---|
| Attendance | Edit — click cells on their own branch's Attendance grid to mark/change P/A/L/HD/R/WO (e.g. Roster leave). Off by default: view only. | |
| Leave | Edit — approve/reject their own branch's leave requests. On by default (this is how it worked before this setting existed). | |
| Reports | View — see the Reports tab for their own branch. Off by default: tab hidden. | |
| Branches | View — see the Branches tab (read only — a manager can never add/edit/delete a branch, regardless of this setting). Off by default: tab hidden. |
Change login password
You're still using the default password. Please set a new one now.
At least 8 characters, including a number or symbol.
Security
Recent sign-ins
| When | Result | IP | Device |
|---|
User security (admin)
Set an alert email and an optional IP allowlist (comma-separated IPs or CIDR like 203.0.113.0/24; empty = anywhere) for an account. A wrong IP list can lock that user out, so test with a non-admin account first.
Login history (all users)
| When | User | Result | IP | Device |
|---|
Diagnostics
If attendance or payroll ever seems like it "isn't saving", click this first — it checks the database connection, confirms every table this app needs actually exists, and does a real write → read-back → delete test against the attendance table (using a throw-away test record, safe to run any time). Shows the exact point of failure instead of guessing.
User accounts
Create a login for a branch manager (marks attendance / approves leave for their own branch only) or for an individual employee (self-service: view their own leave balance/history and apply for leave — a branch manager approves it). Neither can see or change other branches' data, and can't reach Branches, Reports or these settings.
| Name | Username | Role | Branch |
|---|
Add account
Password: at least 8 characters, including a number or symbol.
Activity log
Logins, password changes, account and payroll changes, leave approvals/rejections, and license activations — most recent first (last 200).
| When | User | Action | Details |
|---|