HR & Attendance

How to Set Up Employee Attendance Tracking in WordPress

By MerchantKits · July 7, 2026 · 10 min read

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.

Tip

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
Install Free from WordPress.org →

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.