Attendance — User Guide
Enable Employees first, then install Attendance from Marketplace (free). Nav appears under HR.
Office hours & self check
When Attendance is installed, open Settings → Attendance to set:
- Office start / end time (local to Settings → General → Timezone)
- Grace period (minutes) — on-site check-ins after start + grace are Late
- Remote office start / grace — used when staff check in as Remote
- Per-employee work hours — when on, admins can set on-site and remote start/end on each employee (blank fields still use workspace hours)
- Show check-in / check-out — when off, self-service buttons are hidden
- Require late check-in reason — when late, staff must pick a reason (Other needs a written note)
- Auto check-in on login — off by default; when on, first login of the day can create an on-site check-in. If you are late and Require late check-in reason is on, login does not check in (use Check in and pick a reason).
- Daily late report email / Late report send time — off by default; when on, emails each department’s report recipients (set on the department) after the configured local time for late / not-arrived staff in that department. Managers are not included unless listed as report recipients.
- Yesterday’s attendance email / send time — off by default; morning digest of yesterday’s late arrivals and missing check-outs for the same report recipients (combined when a user is on multiple departments).
- Work week days (used for payroll working-day calendars)
- Deduct salary for absences / unpaid leave — control whether pay runs reduce net for those days (on by default)
- Deduct salary for offs/holidays next to absences — off by default; when on, absence or unpaid leave on the working day before or after a weekly off or holiday also deducts those off/holiday days (for example absent Monday also deducts Sunday; absent the day before Independence Day also deducts the holiday). Paid leave does not bridge — the holiday/off stays free so staff can travel home early.
- Deduct salary for late check-ins — off by default; when on, configure a ladder such as 3 lates → 1 day salary, 6 lates → 2 days. A single late day stays Late with no fee. Ladder deductions appear on the payslip.
Attendance uses the same workspace Timezone as Daily Reminder Time, meetings, and task/follow-up due dates (for example Asia/Karachi). There is no separate attendance timezone. See Tenant Settings — Workspace timezone.
Self-service check-in / check-out
Linked employees with Attendance installed and Show check-in / check-out enabled do not need Attendance create/update permissions for self-service punch in/out (top header or Attendance list). Manager actions still require the usual attendance.* permissions.
- Open Attendance (you only see your records when you have view permission; self check-in/out also works from the top header when linked as an employee).
- Press Check in next to search (login alone does not start the timer unless auto check-in is enabled).
- Choose On-site or Remote. If you are late for that mode, pick a reason (and type a note if Other).
- A live HH:MM timer starts from your saved check-in time. Closing the tab or logging out does not reset it — when you return, the timer shows the real elapsed time. The same timer (and Check in / Check out) also appears in the top header next to the light/dark theme control whenever you are linked as an employee.
- Press Check out at the end of the day (optional reason; Other requires a note).
Admins manage late/check-out reasons from Attendance → Reasons.
Managers and admins
Owners and Admins can:
- View everyone’s records, KPI stats, and who is checked in now (on-site vs remote).
- Record attendance for any employee (one record per employee per day).
- Edit check-in / check-out times, status, and notes for corrections — a reason for change is required and appears on the record’s Edit history.
- Manage attendance reasons (admin/owner).
Past (or future) dates: staff may only create manual attendance for today (workspace timezone). Recording another date requires attendance.backdate (granted to default Admin and Manager roles). The workspace owner (superadmin) may always backdate without that permission. Self check-in/out remain today-only for everyone.
Department managers (assigned as manager on a department) see list, KPIs, and digests only for employees in their department(s) — not other departments. A workspace Manager role without a department assignment is limited to their own linked employee (same as staff).
Manual create/edit also captures the actor’s IP and best-effort browser location (when the browser allows it). Self check-in/out and optional login auto check-in do the same.
Location & edit history
- IP is always stored from the server for check-in, check-out, login auto check-in, and manual create/update when times are set.
- Location (lat/lng) is best-effort from the browser — punches still succeed if permission is denied or times out.
- The attendance view page shows Edit history: who changed the record, why (
change_reasonon create/update viaattendance.update/attendance.create), and field diffs. Self check-in/out appear as checked-in / checked-out events without a correction reason.
Daily records
- Open Attendance.
- Create or complete a record for the day (staff: self only, today only unless they have
attendance.backdate; managers with backdate: any employee/date). - Enter a reason for entry / change (required for audit).
- Optionally set check-in and check-out times (managers may edit either).
- Choose status: Present, Absent, Half day, Remote, or Late.
- Add notes if needed.
Status badges use fixed colors so presence is easy to scan: Present (green), Late (red), Absent (slate), Half day (amber), Remote (blue).
List & stats
- Filter by employee, date range, status, and search
- KPI cards show totals including late; managers also see open check-ins (on-site / remote)
- Soft-deleted records can be restored or permanently removed when you have permission
Month matrix & export
Use Table | Month on Attendance to switch views:
- Table — the daily record list (create, edit, trash).
- Month — one row per visible employee and one column per day in the selected month (workspace timezone). Status marks match Present / Absent / Late / Remote / Half day; Holiday days show as H. Past/today work days with no record show as auto-Absent; future and off days stay blank. Click a recorded cell to open the record. Admins/owners can click a day header to mark or clear a holiday (also Holidays button).
Month filters: search, department (when Departments is installed), and employee status (default Active). Owners/Admins see the whole workspace; department managers see their team; staff see themselves.
Auto-absent & holidays: Missing attendance on past/today work days counts as Absent for the matrix and for payroll (when deduct-absent is on), unless the day is a workspace holiday or covered by approved leave. Manage holidays under Settings → Attendance or Attendance → Month.
Export (CSV or Excel) downloads the same matrix for the selected month. Day columns use short codes: P Present, A Absent, L Late, R Remote, HD Half day, H Holiday (blank = off day / future). Requires attendance.export (default Admin and Manager roles). Filename pattern: attendance_MM_YYYY.xlsx.
Tips
- Use Remote check-in for WFH days; remote late rules use the remote office start/grace settings.
- Half-day is a status flag in this MVP — it does not auto-split leave balances.
- Link employees to users so self check-in works.
- Paid vs unpaid leave (salary deduction) is configured under Leave types — see Leave Management.