Setting up employee attendance tracking in WordPress takes about ten minutes and gives you a real system — clock in/out, leave requests, approvals, and reports — without paying for standalone HR software. This tutorial builds the whole thing step by step using MerchantKits Attendance Manager. If you're still deciding on a plugin, our attendance plugin comparison is a good place to start.
What We're Building
By the end you'll have:
- An employee clock in/out system employees use from the front end.
- A leave request and approval workflow with balances.
- An attendance dashboard with optional AI insights.
- An employee self-service portal for viewing attendance and requesting time off.
Step 1 — Install MerchantKits Attendance Manager
Go to Plugins → Add New, search "MerchantKits Attendance Manager", install and activate. On activation the plugin sets up its data model automatically: five database tables, a set of default shifts (Morning, Evening, Night, Flexible), and default leave policies. That means you can start using it immediately and tweak later.
Step 2 — Configure Shifts
Open Attendance → Shifts. The four default shifts cover most cases, but you can create your own. Each shift defines:
- Start and end times (with overnight support for night shifts).
- Grace period — how many minutes late still counts as on time.
- Working days — which days the shift applies to.
- Break duration — deducted from worked hours.
Lateness and overtime are calculated automatically against whichever shift an employee is assigned.
Step 3 — Add Your Employees
Go to Attendance → Employees → Add Employee. Fill in the details — name, email, department, designation — and assign a shift. Crucially, link each employee to a WordPress user account. That link is what powers self-service: when an employee logs in, the plugin knows which employee record is theirs.
Create WordPress user accounts for your team first (Users → Add New, role "Subscriber"), then link them when adding employees. Subscribers can use the front-end self-service pages without any admin access.
Step 4 — Set Up the Clock-In Page
Create a new page (call it "Clock In") and add the shortcode:
[mkam_clock_in]
When a linked employee visits that page, they see a live clock, their name, and a single Clock In button. After clocking in, a worked-hours counter starts ticking; when they leave, they clock out. Each record captures the IP address and, if you enable it in settings, geolocation.
For teams that clock in from a fixed location, you can turn on IP restriction (only allow clock-in from the office network). Geofenced clock-in — restricting to a physical radius — is available in Pro.
MerchantKits Attendance Manager
AI-powered attendance tracking and leave management for small businesses. Clock in/out, shifts, leave requests — all from WordPress.
- Free for small teams
- Clock in/out with IP & location tracking
- Leave management with approval workflows
- AI-powered attendance insights
Step 5 — Configure Leave Policies
Under Attendance → Settings → Leave Policies you'll find pre-configured policies: annual, sick, casual, unpaid, maternity, paternity, and bereavement. For each you can set:
- Days per year and whether they carry forward.
- Whether the leave type requires approval.
- A minimum notice period.
- Whether it's paid or unpaid and who it applies to.
Editing policies inline (add, change, delete) is a Pro feature; the free tier ships with the standard set ready to use.
Step 6 — Enable Employee Self-Service
Give employees their own pages so managers aren't fielding "how many days do I have left?" all day. Add these shortcodes to front-end pages:
[mkam_my_attendance] <!-- color-coded attendance calendar -->
[mkam_leave_request] <!-- submit a leave request -->
[mkam_my_leaves] <!-- balances and request history -->
On the My Attendance page, employees see a calendar with each day color-coded — present, late, absent, or on leave — plus a monthly summary of hours. On the Request Leave page, they pick a leave type, instantly see their available balance, choose dates, and submit.
Step 7 — Set Up AI Insights (Optional)
If you add your own OpenAI API key under Attendance → Settings → AI Settings, the plugin can generate monthly attendance summaries and detect absence patterns automatically. Pro adds natural-language queries so you can ask questions like "who was late more than three times this month?" in plain English. It's bring-your-own-key, so you only pay OpenAI for what you use.
Step 8 — Daily Operations
Day to day, managers work entirely from the WordPress dashboard:
- Review attendance — the dashboard shows who's present, late, on leave, and absent today.
- Approve or reject leave — one click from the Leaves screen, with an optional note; the employee is emailed the decision.
- Export reports — pull attendance or leave to CSV to feed payroll.
For a deeper look at just the leave side, see managing employee leave requests without spreadsheets.
Tips for Success
- Communicate the system to your team before launch — show them the clock-in and self-service pages.
- Set clear attendance policies so grace periods and leave rules aren't a surprise.
- Review AI insights monthly to catch patterns early rather than at review time.
Rounding out your toolkit? Our free HR tools guide covers what pairs well with attendance tracking for a complete small-business setup.