Attendance Policies
An attendance policy is a set of rules that determines how employee working hours are calculated, whether overtime is tracked, and what deductions apply for late arrivals or early departures. You can create multiple policies for different employee groups - for example, a lenient policy for office staff and a stricter policy for production floor workers.
What you can do here:
- Create and manage attendance policies
- Configure time calculation rules and grace periods
- Set up overtime tracking and limits
- Define deduction rules for late arrivals and early departures
- Enable progressive (escalating) deductions for repeat offenders

Understanding the Policies Table
The policies table shows all attendance policies in your organization:
| Column | Description |
|---|---|
| Name | The policy name and description |
| Code | Short unique identifier used in reports and integrations |
| Overtime | Shows “Enabled” or “Disabled” based on overtime settings |
| Late Tolerance | Grace period (in minutes) before marking as late |
| Default | Shows a star icon if this is the default policy for new employees |
| Status | ”Active” policies can be assigned; “Inactive” cannot |
Only one policy can be marked as Default at a time. When you set a new policy as default, the previous default policy loses its default status automatically.
How to Create an Attendance Policy
- Go to Settings > Time & Attendance > Attendance Settings
- Scroll to the Policies section
- Click Add Policy
- Configure the policy across the five tabs: General, Time Rules, Overtime, Deductions, and Alerts
- Click Create Policy

General Information
Basic policy identification and status settings.
| Field | Description | Required | Default |
|---|---|---|---|
| Policy Code | A short, unique identifier for the policy. Use letters, numbers, and hyphens only. Examples: ATT-STD, STRICT-NG, FLEX-WFH. Maximum 20 characters. This code appears in reports, exports, and API integrations. | Yes | - |
| Policy Name | A descriptive name that clearly identifies the policy’s purpose. Examples: “Standard Office Policy”, “Factory Floor - Strict”, “Remote Workers - Flexible”. Maximum 100 characters. | Yes | - |
| Description | A detailed explanation of when this policy should be applied and which employee groups it’s designed for. Helps other administrators understand the policy’s intent. | No | - |
| Default Policy | ON: This policy is automatically assigned to new employees when they’re added to the system. OFF: The policy must be manually assigned to employees. Only one policy can be default at a time. | No | OFF |
| Active | ON: The policy can be assigned to employees and is fully functional. OFF: The policy cannot be assigned to employees but existing assignments remain (useful for phasing out old policies). | No | ON |
Fallback Workflow
| Field | Description | Required |
|---|---|---|
| Fallback Workflow | The default approval workflow used for attendance requests (like missing punch corrections) when no specific workflow is configured for that request type. Select “No workflow (auto-approve)” to automatically approve requests without review. | No |
Use clear, consistent naming conventions for policy codes. For example: DEPT-TYPE like SALES-STD, ENG-FLEX, PROD-STRICT.
Time Rules
Configure how working hours are calculated and define tolerance windows for arrivals and departures.

Time Calculation
These settings determine how the system calculates total working hours from clock-in/out punches.
| Setting | Description | Default |
|---|---|---|
| Use First-In/Last-Out | ON: Calculates working hours from the first clock-in of the day to the last clock-out, treating it as continuous work. This is simpler but doesn’t account for mid-day breaks or gaps. OFF: Calculates actual time between each in/out pair and sums them. More accurate for employees with multiple breaks. | OFF |
| Include Breaks in Worked Time | ON: Break periods are counted as worked hours. Use this for paid breaks. OFF: Break time is subtracted from total working hours. Use this for unpaid breaks. | OFF |
| Count Early Arrival | ON: Time worked before the scheduled shift start is counted as worked time. For example, if shift starts at 9:00 AM but employee arrives at 8:45 AM, those 15 minutes count. OFF: Only time from shift start is counted. | OFF |
| Max Early Arrival (minutes) | When “Count Early Arrival” is ON, this limits how much early time can be counted. For example, set to 30 to count maximum 30 minutes of early arrival. Leave empty for no limit. | Empty |
Example: Employee shift is 9:00 AM - 6:00 PM with a 1-hour lunch break.
- With Use First-In/Last-Out = ON: If they clock in at 8:55 AM and out at 6:10 PM, the system records 9 hours 15 minutes.
- With Use First-In/Last-Out = OFF and proper break logging: The system records the actual worked segments minus the break.
Grace Periods
Grace periods provide employees a buffer before being marked as late or leaving early. This accounts for minor delays like traffic or elevator wait times.
| Setting | Description | Default |
|---|---|---|
| Late Tolerance (minutes) | The number of minutes after the scheduled shift start before an employee is marked as “Late”. For example, if set to 15 and shift starts at 9:00 AM, employees arriving by 9:15 AM are not flagged as late. Set to 0 for no tolerance. Range: 0-60 minutes. | 0 |
| Early Out Tolerance (minutes) | The number of minutes before the scheduled shift end that an employee can leave without being marked as “Early Out”. For example, if set to 10 and shift ends at 6:00 PM, leaving at 5:50 PM or later is acceptable. Set to 0 for no tolerance. Range: 0-60 minutes. | 0 |
A 10-15 minute grace period is common for office environments. For roles requiring punctuality (like customer service shifts), use a lower tolerance or zero.
Minimum Hours
These settings determine how partial days are credited when employees work less than a full shift.
| Setting | Description | Default |
|---|---|---|
| Full Day Minimum (minutes) | The minimum number of minutes an employee must work to be credited with a full day. If they work less, they receive partial credit. Standard is 480 minutes (8 hours). Leave empty to disable this check. | Empty |
| Half Day Minimum (minutes) | The minimum number of minutes required to be credited with a half day. Employees working less than this receive proportional credit. Standard is 240 minutes (4 hours). Leave empty to disable this check. | Empty |
Example: Full Day = 480 min, Half Day = 240 min
- Employee works 7 hours (420 min): Credited as partial day (420/480 = 0.875 days)
- Employee works 5 hours (300 min): Credited as full half-day + partial (could round to 0.625 days depending on payroll settings)
Overtime Settings
Configure how extra hours beyond the scheduled shift are tracked and managed.

| Setting | Description | Default |
|---|---|---|
| Enable Overtime | ON: Track and calculate overtime hours for employees under this policy. Overtime data appears in reports and can be used for payroll calculations. OFF: No overtime tracking; extra hours are ignored. | OFF |
| Overtime Starts After (minutes) | The number of minutes beyond the scheduled shift before overtime begins counting. For example, set to 30 to start counting overtime only after 30 minutes past shift end. This prevents trivial overtime from routine delays. | 0 |
| Max Overtime (minutes/day) | The maximum overtime minutes allowed per day. Any overtime beyond this limit is not recorded. Leave empty for no limit. Useful for compliance with labor laws that cap daily overtime. | Empty |
| Max Holiday Overtime (minutes) | Separate limit for overtime worked on holidays. Often higher or lower than regular overtime limits depending on your policies. Leave empty for no limit. | Empty |
| Count Early Arrival as Overtime | ON: Time worked before the scheduled shift start counts toward overtime (if early arrival counting is also enabled in Time Rules). OFF: Early arrival is counted as regular time, not overtime. | OFF |
| Round Overtime To (minutes) | Round overtime to the nearest interval. For example, set to 15 to round to the nearest 15 minutes. This simplifies payroll calculations. Leave empty for no rounding. | Empty |
| Round Direction | When rounding is enabled: Up = always round up, Down = always round down, Nearest = round to nearest interval. | Nearest |
| Require Overtime Approval | ON: Overtime must be approved through a workflow before being credited. Unapproved overtime shows as “Pending”. OFF: Overtime is automatically credited when recorded. | OFF |
Many jurisdictions have legal limits on overtime hours. Ensure your Max Overtime settings comply with local labor laws.
Deductions
Configure penalties for employees who arrive late or leave early. Deductions reduce the employee’s credited working time.

Late Arrival Deduction
Choose how to handle deductions when employees arrive after their scheduled start time (beyond the grace period).
| Option | Description | Additional Settings |
|---|---|---|
| No Deduction | No penalty for late arrival. Late status is still recorded but no time is deducted. | None |
| Actual Minutes | Deduct the exact number of minutes the employee was late. If they arrive 12 minutes late, 12 minutes are deducted. | None |
| Fixed Amount | Deduct a fixed number of minutes regardless of how late. For example, always deduct 30 minutes whether they’re 5 minutes or 25 minutes late. | Fixed Deduction (minutes): The flat amount to deduct. |
| Slab Based | Deduct different amounts based on how late they were. Create tiered penalties that increase with lateness. | Deduction Slabs: Define ranges and corresponding deductions. |
Configuring Deduction Slabs
Slabs allow graduated penalties. Each slab defines:
| Field | Description |
|---|---|
| From (minutes) | The starting point of this tier (e.g., 1 minute late) |
| To (minutes) | The ending point of this tier (e.g., 15 minutes late) |
| Deduct (minutes) | Minutes to deduct for lateness in this range |
Example Slab Configuration:
| From | To | Deduct | Meaning |
|---|---|---|---|
| 1 | 15 | 15 | 1-15 minutes late → deduct 15 minutes |
| 16 | 30 | 30 | 16-30 minutes late → deduct 30 minutes |
| 31 | 60 | 60 | 31-60 minutes late → deduct 1 hour |
| 61 | - | 120 | Over 60 minutes late → deduct 2 hours |
Early Departure Deduction
Same options as late arrival deduction, applied when employees leave before their scheduled shift end time (beyond the grace period).
| Option | Description |
|---|---|
| No Deduction | No penalty for early departure |
| Actual Minutes | Deduct exact minutes left early |
| Fixed Amount | Deduct a fixed amount for any early departure |
| Slab Based | Graduated deductions based on how early they left |
Progressive Deduction
Escalating deductions based on how many times an employee is late or leaves early within a period. This penalizes repeat offenders more heavily.
| Option | Description |
|---|---|
| Disabled | No progressive penalties. Each occurrence is handled independently. |
| Monthly | Count occurrences within the calendar month. Resets at the start of each month. |
| Quarterly | Count occurrences within the calendar quarter. Resets every 3 months. |
| Yearly | Count occurrences within the calendar year. Resets January 1st. |
Configuring Progressive Tiers
When progressive deduction is enabled, define escalating penalties:
| Field | Description |
|---|---|
| From Occurrence | Starting occurrence count (e.g., 3rd occurrence) |
| To Occurrence | Ending occurrence count (e.g., 5th occurrence). Leave empty for “and above”. |
| Deduction (days) | Amount to deduct in days (can use decimals like 0.5 for half day) |
Example Progressive Configuration (Monthly):
| From | To | Deduct | Meaning |
|---|---|---|---|
| 1 | 2 | 0 | First 2 occurrences: warning only, no deduction |
| 3 | 4 | 0.25 | 3rd-4th occurrence: deduct quarter day |
| 5 | 6 | 0.5 | 5th-6th occurrence: deduct half day |
| 7 | - | 1 | 7th+ occurrence: deduct full day |
Progressive deductions can significantly impact employee compensation. Ensure your organization has clear policies communicated to employees before enabling this feature.
Alerts
Configure notifications for attendance events. Alerts ensure relevant people are informed when employees are late, absent, or have other attendance issues.
Available Alert Types
| Alert Type | Description |
|---|---|
| Late Arrival Alert | Triggered when an employee arrives after the grace period |
| Absence Alert | Triggered when an employee doesn’t clock in for their scheduled shift |
| Early Out Alert | Triggered when an employee leaves before the grace period ends |
| Missing Punch Alert | Triggered when an employee has a clock-in without a corresponding clock-out, or vice versa |
Alert Recipients
For each alert type, configure who receives the notification:
| Recipient | Description |
|---|---|
| Employee | The employee themselves receives the alert |
| Direct Manager | The employee’s reporting manager |
| Department Head | The head of the employee’s department |
| HR Admin | Human Resources administrators |
| Attendance Admin | Users with attendance management permissions |
Start with minimal alerts (e.g., just HR Admin for absences) and add more recipients as needed. Too many alerts can cause notification fatigue.
How to Edit or Delete a Policy
- In the Policies table, find the policy you want to modify
- Click the three-dot menu (⋯) at the end of the row
- Select Edit to modify the policy or Delete to remove it
You cannot delete a policy that is currently assigned to employees. First reassign those employees to a different policy, then delete.
Best Practices
-
Start simple: Begin with basic settings and add complexity (like progressive deductions) only if needed.
-
Name clearly: Use descriptive names that indicate who the policy is for (e.g., “Field Sales - Flexible” rather than “Policy 3”).
-
Document your intent: Use the Description field to explain why certain settings were chosen.
-
Test before deploying: Assign new policies to a small group first to verify the rules work as expected.
-
Review periodically: Audit your policies quarterly to ensure they still meet organizational needs.
-
Consider compliance: Ensure overtime limits and deduction rules comply with local labor laws.