Table of Contents

Small businesses spend thousands of dollars annually on per-seat time-tracking software just to record four timestamps per shift. Services like Clockify paid tiers, Hubstaff, and Toggl charge $5 to $20 per employee per month. For a 20-person team, that totals $1,200 to $4,800 every year for basic digital punch cards.

Self-hosting employee time tracking on WordPress eliminates those monthly fees. With HR Press, you log shifts, mid-day breaks, and employee IP addresses inside your own MySQL database. HR Press Lite is free on WordPress.org, while HR Press Pro is a flat $19 (single site) or $89 (unlimited sites).

Below is the step-by-step setup to implement self-hosted employee attendance on WordPress, from directory creation to office IP whitelisting.

Interactive sandbox demo: Test employee clock-in, break logging, office IP restriction, and CSV payroll exports in the live HR Press sandbox demo.

Key Takeaways
– Cost savings: Per-seat SaaS costs a 10-person office $840 to $1,200 annually, while HR Press costs $0 (Lite) or a flat $19 to $89 one-time payment (Pro).
– Database performance: Attendance logs write to a dedicated {prefix}hrp_attendances SQL table rather than wp_postmeta, keeping queries under 2 milliseconds across 100,000+ shifts.
– Four-timestamp precision: Each workday records sequential checkin, breakin, breakout, and checkout timestamps through an automated state machine.
– Office IP whitelisting: Validates client IP addresses against your office router to eliminate buddy punching without biometric hardware.
– One-click payroll export: Filter and export attendance sheets to CSV for quick import into accounting tools like QuickBooks, Tally, or Gusto.


Why per-seat time tracking SaaS drains small business budgets

Per-seat pricing turns a simple database entry into an expanding recurring cost. When an employee clicks “Clock In”, the system records a user ID, timestamp, and IP address. Executing that SQL statement on your existing server costs nothing extra, yet SaaS vendors charge up to $20/month per user.

Common 2026 pricing benchmarks:
– Hubstaff Desk Starter: $7.00/user/month ($840/year for 10 staff; $1,680/year for 20 staff).
– Clockify Team Plan: $9.99/user/month ($1,198.80/year for 10 staff).
– Toggl Track Starter: $10.00/user/month ($1,200/year for 10 staff).
– BambooHR Time Tracking: Billed as an add-on atop a $300-$500/month platform subscription.

Some legacy WordPress plugins copy this pricing structure. As detailed in our guide to WP ERP alternative, WP ERP Pro charges monthly per-user fees across 48 database tables. Educational institutions face the same challenge, prompting administrators to reduce SaaS fees through self-hosted vs SaaS solutions.

3-year total cost of employee time tracking for a 10-person team Bar chart comparing 3-year total cost for 10 users: Clockify Team at $3,596, Hubstaff at $2,520, and HR Press Pro including $10 per month hosting at $449. 3-year total cost for 10 employees (USD) Recurring SaaS subscriptions vs HR Press Pro ($89 one-time + $10/mo hosting) Clockify Team ($9.99/user/mo) $3,596 Hubstaff Starter ($7.00/user/mo) $2,520 HR Press Pro ($89 flat + $10/mo host) $449 Source: Vendor pricing verified October 2026. Hosting assumes $10/month shared server.
Figure 1: Three-year cost comparison for a 10-person office tracking daily shifts and breaks.

Step 1: Install HR Press Lite from WordPress.org

Install HR Press Lite directly from your WordPress admin dashboard under Plugins > Add New Plugin by searching for HR Press. Click Install Now and Activate.

Upon activation, the plugin initializes 14 custom database tables:
– {prefix}hrp_employees: Staff directory records linked to WordPress users.
– {prefix}hrp_departments & {prefix}hrp_designations: Organizational hierarchy.
– {prefix}hrp_attendances: Shift timestamps (checkin, breakin, breakout, checkout) and IP records.
– {prefix}hrp_shifts: Shift definitions, start/end windows, and grace periods.

By storing entries in dedicated tables indexed by employee_id and date, operations remain fast without congesting wp_postmeta. The same approach powers our campus-wide attendance tracking system.


Step 2: Set up the employee directory, departments, and designations

Configure your organizational structure before inviting staff:

  1. Open HR Press > Departments and create operational units (Operations, Accounts, Engineering).
  2. Open HR Press > Designations to define job titles under each department.
  3. Navigate to HR Press > Employees > Add New Employee.
  4. Enter staff details (Name, Email, Employee ID, Joining Date).
  5. Attach an existing WordPress user or let HR Press generate subscriber-level accounts and dispatch login credentials automatically.

For larger teams, use Settings > Import/Export to bulk-import rosters from CSV.


Step 3: Set up the employee clock-in and clock-out dashboard

Staff punch in directly from their WordPress admin screen. No public shortcodes or separate portals are required.

HR Press automatically registers the hrp_employee role. When non-admin employees log in at /wp-login.php, their dashboard restricts access exclusively to employee attendance and leave views.

When employees open the panel, the interface queries today’s record. If unpunched, a Clock In button appears alongside server time and shift hours. Once clocked in, options update to Start Break or Clock Out. Under Settings > Attendance, configure the Attendance Threshold (seconds) to prevent accidental immediate double-punching.

HR Press employee dashboard overview
Figure 1: Clean employee dashboard overview in HR Press Lite showing real-time attendance and break status.

Step 4: Log mid-shift lunch and short breaks

Accurate payroll requires separating paid working hours from unpaid lunch periods. HR Press tracks shifts across four sequential database timestamps:
1. checkin: Shift start
2. breakin: Break start
3. breakout: Break end
4. checkout: Shift end

A standard workday sequence:
– 09:00 AM: Employee clicks Clock In. Server records 09:00:12 to checkin, revealing break and checkout buttons.
– 01:00 PM: Employee clicks Start Break. Server records 13:00:05 in breakin.
– 01:45 PM: Employee clicks End Break. Server records 13:45:20 in breakout.
– 05:30 PM: Employee clicks Clock Out. Server records 17:30:44 in checkout, subtracts the 45-minute break from the gross shift, and logs 7 hours 45 minutes of net work.

A server-side state machine validates the sequence, preventing inverted or corrupted timestamps.


Step 5: View daily and weekly shift logs in the admin dashboard

Managers review company attendance from HR Press > Attendances, filterable by date, department, or individual worker.

Each row details:
– Employee Name, ID, and Department
– Date and Assigned Shift
– Sequential Punch Timestamps
– Net Hours Worked: Calculated automatically as (checkout - checkin) - (breakout - breakin)
– Check-In IP Address: Logged at the moment of check-in
– Status Badges: Present, Late, Early Left, On Break, or Absent

Administrators can manually adjust forgotten clock-outs and save audit notes.

HR Press daily attendance log and shift records
Figure 2: Daily attendance log in HR Press showing timestamps, net work hours, and verified IP addresses.

Step 6: Export attendance records to CSV for payroll

At the end of each billing cycle, export attendance data to CSV or Excel. Open HR Press > Attendances, define your date range, and click CSV.

The exported sheet formats data cleanly for accounting platforms:

Employee IDEmployee NameDepartmentDateClock InBreak InBreak OutClock OutNet HoursIP AddressShift Status
EMP-014Priya NairOperations2026-10-2308:58:1413:02:1013:44:5017:31:0207:50:08203.0.113.42On Time
EMP-019David MillerSupport2026-10-2309:19:4012:30:0013:15:1217:30:1107:25:19203.0.113.42Late (+19m)
EMP-022Rohan VermaEngineering2026-10-2308:55:0313:10:0013:40:0016:45:0007:19:57203.0.113.42Early Left (-45m)

Upload the file directly into QuickBooks, Xero, Tally, or Gusto. HR Press Pro also includes a native salary calculation ledger (Basic + Allowances - Deductions) and printable PDF payslips, removing external spreadsheet dependency.


Free Payroll Asset

Download the Free Employee Timesheet & Attendance CSV Template

Pre-formatted payroll starter file with employee identifiers, clock in/out timestamps, break durations, and net hour calculations. Fully compatible with Excel, Google Sheets, Tally, and HR Press import.

Download Timesheet CSV Template (.csv) Free direct download · Instant .csv · No sign-up required

Step 7: Enable office IP whitelisting to eliminate buddy punching (Pro)

Buddy punching occurs when coworkers clock in for late peers or punch in from mobile networks while commuting. Industry benchmarks show that unverified time theft costs businesses 1.5% to 2.2% of gross annual payroll.

HR Press Pro prevents buddy punching without fingerprint hardware by enforcing IP whitelisting. When activated, WordPress verifies client IP addresses on every punch and rejects requests made from outside your office network.

How office IP whitelisting validates employee check-ins in WordPress Flow diagram showing four stages: Employee opens check-in page, WordPress checks REMOTE_ADDR, validates against whitelist, and either permits or blocks the punch. 1. Check-in page Employee clicks Clock In button 2. Check IP $_SERVER['REMOTE_ADDR'] rest_is_ip_address() 3. In whitelist? 203.0.113.42 YES 4a. Allow INSERT INTO hrp_attendances NO 4b. Block Reject punch & show IP error
Figure 2: Server-side IP validation flow inside HR Press Pro when an employee clicks Clock In.

Setting up IP restriction:

  1. Connect your device to the office Wi-Fi network.
  2. Open HR Press > Settings > Attendance tab.
  3. Toggle Enable IP Restriction to On.
  4. Paste your public office IP address (or multiple branch IPs, one per line) into Allowed IP Addresses.
  5. Save changes.

Check-in attempts from cellular data or off-site networks fail immediately with a warning to connect to office Wi-Fi.


Step 8: Configure shifts and flag early departures (Pro)

Shift scheduling automatically highlights late arrivals and early departures against assigned work hours.

Shift configuration:

  1. Open HR Press > Shifts > Add New Shift.
  2. Specify shift details (e.g., Morning Shift, Start: 09:00:00, End: 17:30:00).
  3. Set a Late Grace Period (e.g., 15 minutes). Punches up to 09:15:00 mark as On Time; punches thereafter flag as Late.
  4. Assign shifts to team members under HR Press > Employees.

If a worker clocks out before 17:30:00, HR Press flags the record as Early Left with the exact shortfall duration. Similar to role-restricted school admissions WordPress setups and parent portal tools, shift settings remain restricted to managers while employees view assigned hours upon check-in.


Frequently asked questions

Is there a free employee time tracker for WordPress?

Yes. HR Press Lite is available for free on WordPress.org. It includes an employee directory, department hierarchies, daily clock-in/out buttons, lunch break logs, shift hours, and CSV exports with zero monthly fees.

What is buddy punching and how do you prevent it in WordPress?

Buddy punching occurs when an employee clocks in on behalf of an absent colleague. HR Press Pro eliminates this by whitelisting your office public IP address, allowing punches only from verified workplace Wi-Fi networks.

Can HR Press track remote workers?

Yes. Office IP restriction is an optional toggle. Disable IP whitelisting for remote or hybrid teams so staff can punch in from home while still recording remote IP addresses and timestamps.

Does HR Press integrate with payroll software?

Yes. HR Press exports shift records to standard CSV files compatible with QuickBooks, Xero, Tally, and Gusto. HR Press Pro also includes a native salary calculation ledger and printable PDF payslip engine inside WordPress.

Is HR Press Lite sufficient for a 10-person office?

Yes, if your business requires basic time tracking, break records, and CSV exports. If you need office IP security, automated leave request workflows, or corporate PDF payslips, upgrade to HR Press Pro ($19 single site; $89 unlimited).


Start tracking employee time without recurring SaaS bills

Paying $840 to $3,500 every three years for basic time tracking makes little financial sense when running WordPress. Self-hosting attendance keeps employee records private while eliminating recurring per-seat software expenses.

  • Test the live demo: Try employee check-in, break tracking, and IP restriction in the HR Press interactive sandbox.
  • Download free: Install HR Press Lite from WordPress.org to deploy your directory and time clock today at $0.
  • Upgrade to HR Press Pro: Unlock office IP whitelisting, leave approval queues, and PDF payslips with HR Press Pro for a flat one-time fee of $19 (single site) or $89 (unlimited sites).