Odoo 18 Attendance Module: Complete Overview and Setup Guide
By Braincuber Team
Published on February 24, 2026
When NovaBrew Coffee, a specialty coffee chain with 14 outlets across three cities, hit 220 employees, their attendance tracking collapsed. Store managers were spending 45 minutes every morning piecing together who showed up, who was late, and who called in sick. Timesheets were handwritten on clipboards behind the counter, and payroll disputes happened almost every pay cycle because nobody could prove exact clock-in times. The HR director estimated they were losing around $3,800 per month just from attendance-related payroll errors.
After rolling out the Odoo 18 Attendance module, NovaBrew set up kiosk tablets at each store entrance, configured badge scanning for baristas, enabled PIN-based check-in for shift managers, and started pulling weekly overtime reports directly from the system. Within six weeks, payroll disputes dropped to nearly zero, and store managers got their mornings back. This guide covers everything they configured, from the main dashboard down to the overtime tolerance settings, so you can set up the same system for your own team.
What This Guide Covers: The Attendance dashboard and check-in flow, Kiosk Mode setup with badge scanning, barcode, and PIN authentication, module settings for automatic checkout, absence management, extra hours tracking, tolerance configuration, and reporting with graphs and pivot tables.
What the Attendance Module Does
The Attendance module in Odoo 18 handles one core job: recording when employees start and stop working. But it does that job with enough depth that it replaces standalone time-clock hardware, spreadsheet-based tracking, and manual timesheet collection. Here is what it brings to the table:
Mobile Check-In
Employees check in and out directly from the Odoo mobile app or through a browser on their phone. Perfect for remote workers, field teams, or anyone not near a kiosk.
Kiosk Mode
Set up a shared tablet or computer at your office entrance. Employees identify themselves via badge barcode, RFID token, or PIN code. One device serves the entire team.
Overtime Tracking
Automatically calculates extra hours based on each employee's work schedule. Configurable tolerance windows prevent minor clock-in variations from inflating overtime counts.
Attendance Reports
Graph views, pivot tables, and exportable data give managers a clear picture of working hours, late arrivals, and overtime patterns across the entire organization.
The Attendance Dashboard
When you open the Attendance module, the first thing you see is the dashboard. At NovaBrew, the HR director keeps this screen open on a second monitor throughout the day. Here is what it shows and how to use it:
Systray Check-In (New in Odoo 18)
Odoo 18 introduced a systray icon that lets employees check in and check out without even opening the Attendance module. The check-in/check-out button sits right in the top navigation bar of the Odoo interface. This is especially handy for office employees who are already logged into Odoo for their daily work. One click to start, one click to stop.
Dashboard Views
The dashboard offers two layouts that you can switch between:
Gantt View
Shows attendance as horizontal bars on a timeline. The current time period is highlighted in yellow, and a "Focus Today" button snaps the view back to the present. You can zoom the view by day, month, or year, and navigate forward and backward with arrow buttons.
List View
Displays attendance records in a standard table with columns for Employee, Check In, Check Out, and Work Hours. Use the Filter, Group By, and Favorites options under the search bar to sort and narrow down records.
Attendance Records in Detail
When you click on an individual attendance entry, the detail view shows:
| Field | What It Shows |
|---|---|
| Employee Name | The person who checked in |
| Check In / Check Out | Exact timestamps with date and time |
| Work Hours | Calculated duration between check-in and check-out |
| Extra Hours | Overtime beyond the scheduled work hours |
| Check-In Mode | How the employee logged in (systray, kiosk, manual, mobile) |
| Browser & IP Address | Technical details of the check-in device |
| GPS Coordinates | Location data with a "View on Maps" link for field verification |
NovaBrew Tip: The GPS coordinates turned out to be critical for NovaBrew. They had two baristas who were clocking in from home before driving to the store. The location data made it obvious, and the issue was resolved within a week of turning on the module.
Filtering and Grouping Attendance
The search bar at the top of the dashboard supports several built-in filters:
- Last 7 Days: Quick view of the most recent week
- Check In: Filter by date range
- Errors: Highlights attendance records with issues (missing check-out, overlapping entries)
- My Team: Shows only your direct reports
- My Attendance: Shows only your own records
You can also group records by Employee, Check In date, or Check Out date. At NovaBrew, store managers use the "My Team" filter combined with "Last 7 Days" to prepare for weekly performance reviews.
Kiosk Mode: Shared Device Attendance
Kiosk Mode turns any tablet, laptop, or desktop into a shared attendance station. At NovaBrew, each of their 14 stores has an iPad mounted near the front entrance running Kiosk Mode. Employees tap their way in at the start of every shift.
Accessing Kiosk Mode
Three Identification Methods
The kiosk screen offers three ways for employees to identify themselves:
Badge with Barcode
Employees hold their badge up to the tablet camera. The "TAP TO SCAN" button activates the camera, reads the barcode, and logs the check-in instantly. Fastest option for high-traffic entrances.
RFID Token
Requires an RFID reader connected to the kiosk device. Employees tap their RFID card or key fob against the reader. No camera needed, works even in low-light environments.
Manual Identification
The "Identify Manually" button shows a list of all employees. Select your name, enter your PIN if required, and check in. Best for smaller teams or backup when scanners are unavailable.
Setting Up Badge IDs for Employees
For barcode scanning to work, every employee needs a Badge ID. Here is how NovaBrew assigned them:
- Open the Employees module and select the employee
- Go to the Settings tab on the employee form
- Find the Badge ID field
- Click Generate to auto-create a unique barcode number
- Click Print Badge to download and print the employee's badge with the barcode
- Laminate the badge and hand it to the employee
Result: NovaBrew printed badges for all 220 employees in a single afternoon. The barcode scanner on the iPad recognizes each badge in under two seconds, making shift changes seamless even during the morning rush.
Setting Up Employee PINs
If you want employees to use PIN codes instead of (or in addition to) badges, you need to enable the feature first:
- Go to Attendance > Configuration > Settings
- Under Kiosk Settings, enable the Employee PIN option
- Click Save
- Open the employee record in the Employees module
- Go to the Settings tab
- Enter a PIN in the PIN Code field (or let the employee set their own)
Once PINs are enabled, the kiosk screen shows a numeric keypad after the employee selects their name. They type the PIN, and the system confirms their identity before logging the check-in. At NovaBrew, shift managers use PINs because they frequently swap between stores and do not always carry their badge.
Module Configuration
The Settings page controls how the entire Attendance module behaves. It is split into three sections: Mode, Kiosk Settings, and Extra Hours.
Section 1: Mode Settings
| Setting | What It Does | NovaBrew's Choice |
|---|---|---|
| Kiosk Mode | Choose how the kiosk app identifies employees (barcode, RFID, manual selection) | Barcode on tablet |
| Attendances From Backend | Allows checking in and out directly from the Odoo interface (the systray button). Useful for office workers who are already logged in. | Enabled for store managers |
| Automatic Check-Out | Automatically checks out employees at the end of their scheduled workday if they forget. Uses a configurable tolerance time. | Enabled with 30-minute tolerance |
| Absence Management | Tracks days not covered by any attendance record. When checked, the report flags uncovered days that are not part of approved time-off requests. | Enabled |
About Automatic Check-Out: NovaBrew initially set this to zero tolerance, which caused problems. Baristas who stayed 5 minutes past their shift to finish cleaning were getting auto-checked-out at the exact shift end time. They changed the tolerance to 30 minutes, which solved the issue while still catching genuinely forgotten check-outs.
Section 2: Kiosk Settings
| Setting | Purpose |
|---|---|
| Barcode Source | Select which camera the kiosk device uses to scan barcodes (front-facing or rear camera) |
| Display Time | Number of seconds the greeting message stays on screen after a successful check-in (NovaBrew uses 3 seconds) |
| Employee PIN | When enabled, employees must enter a PIN to confirm their identity in kiosk mode |
| Attendance Kiosk URL | A shareable URL that opens the kiosk mode on any device with a browser. Bookmark this on your kiosk tablet. Note: anyone with the link can access the kiosk, so keep it private. |
Security Note: If you suspect the kiosk URL has been shared outside your organization, go back to Settings and click the refresh button next to the URL field. This generates a new URL and invalidates the old one. NovaBrew refreshes their kiosk URLs every quarter as a standard security practice.
Section 3: Extra Hours Configuration
This is where you control how overtime is calculated and displayed. It is the section that matters most for payroll accuracy.
Count Extra Hours
Enable this to start tracking overtime. Set a Start Date from which the system begins calculating extra hours. Any attendance logged before this date is not included in overtime calculations.
Tolerance Time in Favor of the Company
A grace period where extra minutes worked by an employee are NOT counted as overtime. For example, if you set this to 10 minutes and an employee stays 8 minutes past their shift, those 8 minutes will not appear as overtime. NovaBrew uses 15 minutes here. This prevents every single shift from generating tiny overtime entries that clutter payroll.
Tolerance Time in Favor of the Employee
A grace period where arriving late or leaving early does NOT reduce the employee's logged hours. If set to 5 minutes and an employee clocks in 3 minutes late, their record still shows on time. NovaBrew uses 10 minutes here, which was a negotiated agreement with their barista team to account for transit delays.
Display Extra Hours
When enabled, employees see their accumulated overtime immediately after checking out. This transparency helped NovaBrew reduce overtime disputes because employees could verify their own numbers in real time instead of waiting for the end-of-month payroll run.
Extra Hours Validation
Controls whether overtime is automatically approved or requires manager sign-off. NovaBrew requires approval for anything over 2 hours of overtime in a single day to prevent accidental clock-out misses from inflating overtime records.
Attendance Reporting
The Reporting tab gives managers the data they need to evaluate attendance patterns, identify chronic lateness, and verify payroll hours.
Graph View
The default report opens as a bar chart with employee check-in data on the X-axis and the count on the Y-axis. Each employee appears in a different color. Click the Measures button to switch the Y-axis to more useful metrics like Work Hours or Extra Hours.
At NovaBrew, the HR director switches the measure to "Work Hours" and groups by "Check In: Month" to see monthly working-hour trends across the company. This helped them spot that their downtown flagship store consistently logged 12% more overtime than other locations, leading them to hire two additional part-time baristas for that location.
Pivot Table View
The pivot table shows each employee's total working hours broken down by month. This is the view that NovaBrew's payroll team exports to CSV at the end of every month. They cross-reference it with the payroll module to verify that hours match before running paychecks.
| Report Type | Best For | How NovaBrew Uses It |
|---|---|---|
| Bar Chart | Visual comparison of attendance across employees | Weekly team meetings to spot attendance patterns |
| Line Chart | Tracking trends over time | Monthly overtime trend analysis |
| Pivot Table | Detailed numerical breakdown for payroll | End-of-month payroll verification before check runs |
Importing Attendance Records
If you are migrating from another system or need to bulk-import historical attendance data, Odoo 18 supports CSV import:
- Open Attendance > Attendance (the list view)
- Click the gear icon in the top-right corner
- Select Import Records
- Upload your CSV file with columns matching Employee, Check In, Check Out
- Map the columns and click Import
NovaBrew used this feature to import three months of attendance data from their previous spreadsheet system when they first switched to Odoo. It took about 20 minutes to clean up the CSV and import 8,400 records.
Best Practices from NovaBrew's Deployment
Lock Down Kiosk Tablets
NovaBrew uses guided access mode on their iPads so the browser stays locked on the kiosk URL. Employees cannot navigate away to other apps or websites. On Android tablets, they use a kiosk launcher app. This prevents someone from accidentally closing the browser mid-shift and leaving the kiosk unusable for the next person.
Set Realistic Tolerance Windows
Zero-tolerance settings sound good on paper but create problems in practice. NovaBrew started with no tolerance and ended up with hundreds of tiny overtime entries (1-3 minutes each) that made payroll processing a nightmare. They settled on 15 minutes for the company and 10 minutes for employees. The result: clean payroll data without penalizing employees for minor clock variations.
Enable Automatic Check-Out
Before enabling this feature, NovaBrew had 30-40 "open" attendance records every week from employees who forgot to check out. Each one required the store manager to manually close the record and estimate the checkout time. Automatic check-out eliminated this entirely. Set the tolerance to at least 15-30 minutes past the scheduled shift end to avoid cutting off employees who are finishing up.
Use the Error Filter Weekly
The "Errors" filter in the attendance list view catches attendance records that have problems, like missing check-outs, overlapping entries, or impossibly long work sessions. NovaBrew's HR coordinator runs this filter every Monday morning and resolves any flagged records before they impact the next payroll cycle. This five-minute weekly habit has prevented dozens of payroll errors.
Summary
Key Takeaways: The Odoo 18 Attendance module replaces manual timesheets with digital check-in via systray, mobile app, or kiosk tablets. Kiosk Mode supports barcode badges, RFID tokens, and PIN codes for flexible employee identification. Configuration settings let you control automatic check-out behavior, absence tracking, and overtime calculation with company and employee tolerance windows. Reporting provides graph views, pivot tables, and CSV exports for payroll verification. The module works for organizations of any size, from a single office to a multi-location chain with hundreds of employees.
