Skip to Content
Human resourcesAttendance Policy

Attendance Policy

hr_attendance_policy version 19.0.1.0.0 depends on hr_attendance_delta. It evaluates configured continuous-break rules on native Extra Hours rows and displays conflicting policies. It warns; it does not block attendance creation or create an approval workflow.

Required setup

  1. Install Attendance Delta.
  2. Ensure native Odoo creates Extra Hours rows for the employee and day.
  3. Open the module’s Attendance Policies menu and create an active policy.
  4. Add one or more rules with a worked-hours range and Minimum Delta.

-1 means no lower or upper bound, depending on the field. A rule applies when its worked-hours range matches and no single Delta Hours value for the day is at least the required Minimum Delta.

Default policy bands

Worked hoursRequired continuous break
5.5 to less than 715 minutes
7 to less than 930 minutes
9 or more1 hour

These values are configuration, not a legal interpretation. Confirm the organisation’s policy and applicable law before changing them.

How the result is calculated

For each employee/date Extra Hours row, the module sums closed attendance worked_hours, collects same-day Delta Hours, and evaluates every active rule. A rule is satisfied by one gap meeting the threshold. Multiple smaller gaps are not added together. If multiple policies conflict, all are shown.

After a relevant attendance create, edit, or deletion, the affected employee/date Extra Hours rows are recomputed.

Review a conflict

Open Attendances > Extra Hours, select the employee/day, and inspect Worked Hours and Conflicting Policies. Then correct the attendance timestamps or the policy configuration as appropriate. A conflict is informational; managers must apply any follow-up process outside this module.

Verify

With an active 30-minute rule for a seven-hour day, create closed attendance records totalling seven hours with only a 20-minute Delta. The Extra Hours row should show the policy. Change the gap to 30 minutes and confirm that the conflict clears.