Wasting $217K Finding Employees? Employee Presence Control in Odoo 18
By Braincuber Team
Published on December 23, 2025
Company has 247 employees. Manager needs to know: "Is Sarah available for urgent client call?" Walks around office. Can't find Sarah. Asks coworker: "Seen Sarah?" Coworker: "She's remote today." Manager checks Slack. Sarah's status: Green dot (online). Sends message. No response. Calls phone. Voicemail. 20 minutes wasted. Sarah was at lunch (online in Slack but not working). Another scenario: Employee calls in sick. Doesn't update system. Manager assigns task to them. Task sits unassigned for 2 days. Customer angry: "Where's my delivery?" Manager: "I assigned it to John." John: "I was sick Monday-Tuesday. Didn't you know?" Manager: "No notification." Project delayed 2 days = $5,700 lost (SLA penalty). HR needs attendance report for payroll. Manually checks: Who was present each day? Spreadsheet tracking. Employee A: "I worked from home on Tuesday." Timesheet says office. Manager: "Prove it." Employee: "I was online." Manager checks system logs manually. Takes 3 hours to verify 47 employees weekly. Factory scenario: 87 production workers. No computers at workstation. Manager needs to know who's on floor. Walks around factory = 30 minutes. Foreman: "I saw him 10 minutes ago." Worker moved to different line. Manager can't find. Annual cost: $127K lost productivity (finding employees) + $67K payroll disputes + $23K project penalties = $217K presence chaos.
Odoo 18 Employee Presence fixes this: Employee dashboard shows real-time status. Green dot = present & active. Gray dot = offline or outside working hours. Yellow dot = idle. Icons show context: Airplane = on leave, House = working from home, Office = at office location. Automatic tracking (not manual updates): Based on attendance (clock in/out), Based on system activity (logged into Odoo), Based on emails sent (e.g., 3 emails/hour = active), Based on IP address (connected from office network). Manager opens dashboard: Sees all 247 employees at glance. Sarah: Gray dot, House icon (remote but offline). Filter: Show only "Present" employees. Bulk actions: Select employees, mark present/absent manually (for off-site work). Send SMS: Select multiple employees, send message instantly. Here's how to manage Employee Presence Control in Odoo 18 so you stop losing $217K annually to presence chaos.
You're Losing Money If:
What Employee Presence Control Does
Real-time employee availability: Dashboard shows all employees → Status indicators (present, absent, idle) → Location context (office, home, leave) → Automatic tracking → Manual overrides → Bulk updates → SMS communication.
Step 1: Understanding Presence Indicators
Status Dots (Colors)
- Green Dot: Employee signed in and currently active in Odoo
- Yellow Dot: Employee signed in but idle/inactive (no recent activity)
- Gray Dot: Employee signed in but outside working hours, or offline
- No Dot: Employee not signed in to system
Context Icons
- ✈️ Airplane Icon: Employee on leave (vacation, sick time, any time off)
- 🏠 House Icon: Employee working from home today
- 🏢 Office Icon: Employee at office location today
- Activity Icon: Shows scheduled activities
- Red: Overdue activity
- Orange: Activity due today
- Green: Future activity scheduled
Example Dashboard View
Sarah Johnson - Marketing Manager
Status: Green dot (active)
Icon: 🏠 House (working from home)
Interpretation: Sarah is online, working remotely, and actively using Odoo
John Smith - Sales Rep
Status: Gray dot
Icon: ✈️ Airplane
Interpretation: John is on approved leave (not available)
Maria Garcia - Developer
Status: Yellow dot
Icon: 🏢 Office
Interpretation: Maria is at office but currently idle (maybe in meeting, away from desk)
Step 2: Configure Presence Settings
- Go to Employees → Configuration → Settings
- Scroll to Presence Control section
- Choose primary tracking method
Step 3: Choose Presence Tracking Method
Option 1: Based on Attendance
- How it works: Employee marked present only after clocking in via Attendance app
- Best for: Office workers, factories, retail (physical presence matters)
- Requires: Attendance app installed
- Employee action: Check in at kiosk, mobile app, or RFID badge
- Dashboard shows: Present = clocked in, Absent = not clocked in
Option 2: Based on User Status in System
- How it works: Employee present when logged into Odoo and active
- Best for: Remote teams, office workers using Odoo daily
- Requires: Employees log into Odoo to work
- Employee action: Log in to Odoo (automatic tracking)
- Dashboard shows: Present = logged in & active, Absent = not logged in or inactive
Step 4: Enable Advanced Presence Control
- In Presence Control settings, enable Advanced Presence Control
- This allows managers to manually change employee status
- Useful for off-site work, client visits, special circumstances
Step 5: Configure Email-Based Tracking (Optional)
Track presence based on email activity. If employee sends minimum emails per hour, marked as active.
- Enable Based on number of emails sent
- Presence Condition field appears
- Enter minimum emails per hour (e.g., "3")
- Employee sends ≥3 emails/hour = Green dot (active)
- Employee sends <3 emails/hour = Yellow/Gray dot (idle/inactive)
When to Use Email Tracking
- Good for: Sales teams, customer support, roles with heavy email communication
- Not suitable for: Factory workers, warehouse staff, roles without regular email use
Step 6: Configure IP Address-Based Tracking (Optional)
Track presence based on network connection. Employee on company IP = present.
- Enable Based on IP address
- Presence Condition field appears
- Enter company IP addresses (comma-separated):
- Example:
192.168.1.0/24, 10.0.0.0/8, 203.0.113.50 - Support subnet ranges (CIDR notation)
- Example:
- Employee connects from listed IP = Present
- Employee connects from other IP = Absent (or remote work icon if enabled)
When to Use IP Tracking
- Good for: Office-based teams, factories, warehouses (physical location matters)
- Multi-location: Add IPs for all office/factory locations
- Security benefit: Verify employee working from authorized location
Step 7: Enable Remote Work Icon
- In settings, enable Remote Work option
- Allows 🏠 House icon to appear on employee cards
- Employee scheduled to work from home = House icon shows
- Integrated with Time Off app (if employee requests remote work day)
Step 8: Save Settings
- After configuring all options, click Save
- Settings apply immediately
- Employee dashboard updates with real-time presence
Step 9: View Employee Dashboard
- Go to Employees app
- Default view: Kanban (card view)
- Each employee card shows:
- Photo
- Name & job title
- Contact info
- Status dot (green/yellow/gray)
- Context icon (airplane/house/office)
- Activity indicator (if activities scheduled)
- Scroll to see all employees
Step 10: Use Filters to Find Employees
Common Filters
- Present Employees:
- Click Filters
- Select "Present"
- Shows only employees with green/yellow dots
- By Department:
- Filter: Department = Sales
- Shows only Sales team members
- On Leave:
- Filter: Shows employees with airplane icon
- Remote Workers:
- Filter: Shows employees with house icon
Step 11: Use Group By to Organize
- Click Group By
- Select grouping criteria:
- By Department: Engineering, Sales, HR (each department in section)
- By Job Position: Developer, Manager, Sales Rep (each role grouped)
- By Manager: All employees under each manager
- By Presence/Absence: Present vs Absent sections
- Employees organized into collapsible sections
- Expand/collapse sections as needed
Example: Group by Presence
Present (127 employees)
Sarah, John, Maria... (expand to see all)
Absent (120 employees)
David, Lisa, Tom... (expand to see all)
Step 12: Manual Presence Control (Bulk Update)
For off-site work, client visits, or special cases where automatic tracking doesn't apply.
- Switch to List View (employees table)
- Select employees using checkboxes:
- Click individual checkboxes
- Or click header checkbox to select all
- Presence Control button appears at top
- Click Presence Control
- Dropdown options:
- Set as Present: Mark selected employees present
- Set as Absent: Mark selected employees absent
- Send SMS: Send message to selected employees
- Select desired action
Use Case: Off-Site Work
Scenario: 5 technicians at client site (no office IP, no Odoo access)
1. Manager opens employee list
2. Filters: Job Position = Technician
3. Selects 5 technicians
4. Presence Control → Set as Present
5. Dashboard updated: 5 technicians show as present
Step 13: Send SMS to Employees
- In List View, select employees (checkboxes)
- Click Presence Control → Send SMS
- Popup appears with message field
- Type message:
- Example: "Urgent: All-hands meeting at 3 PM today in Conference Room A"
- Example: "Reminder: Submit timesheets by EOD Friday"
- Click Send
- SMS sent to all selected employees' mobile numbers
Requirements for SMS
- Employees must have mobile numbers in their profile
- SMS gateway must be configured in Odoo (Settings → Technical → SMS)
- SMS credits required (purchased from provider)
Real-World Scenarios
Scenario 1: Finding Available Employee Quickly
Problem: Manager needs developer for urgent bug fix
Before Odoo: Walk around office (15 min), check Slack, call phones. Found developer after 20 min.
With Odoo: Open Employees app → Filter: Job Position = Developer, Presence = Present → See 7 developers with green dots → Click Sarah (available) → Assign task. Total: 30 seconds.
Scenario 2: Payroll Attendance Verification
Problem: HR needs to verify who worked from home last week
Before Odoo: Check spreadsheet, ask employees, verify emails/calls. 3 hours for 47 employees.
With Odoo: Filter: Date Range = Last Week, Icon = House → Export list → 23 employees worked remotely. Total: 2 minutes.
Scenario 3: Factory Floor Visibility
Problem: Production manager needs to know who's on floor
Before Odoo: Walk factory floor (30 min). Ask foreman. Still can't find worker (moved to different line).
With Odoo (IP-based tracking): Configure: Factory IP = 192.168.10.0/24 → Employees connect to factory WiFi → Dashboard shows 87 workers present (green dots, office icon) → Filter: Department = Production → 87 workers visible. Total: 30 seconds.
Real-World Impact
Company with 247 Employees:
Before Odoo: Manager looking for Sarah: Walked office, asked coworkers, checked Slack (green dot but no response), called phone = 20 min wasted. Sarah at lunch (online but not working). Employee sick, didn't update system. Manager assigned task. 2 days later: "I was sick. Didn't you know?" Project delayed = $5,700 SLA penalty. HR payroll verification: Manually check who was present. Spreadsheet. Employee A: "Worked from home Tuesday." Timesheet says office. "Prove it." Manager checks system logs manually = 3 hrs for 47 employees weekly. Factory: 87 production workers. Manager walks floor to find worker = 30 min. Worker moved to different line. Can't find. Total: $217K yearly.
After Odoo Presence Control: Configured tracking: Based on system activity + IP address (office network 192.168.1.0/24). Enabled remote work icon. Manager needs Sarah: Opens Employees app. Sees Sarah: Gray dot, House icon (remote but offline). Knows she's unavailable. Assigns to John instead (green dot, available). 30 seconds. Employee sick: Marks leave in Time Off app. Dashboard shows airplane icon. Manager sees immediately. Doesn't assign tasks. Zero delays. HR payroll: Filter employees by date range + house icon. Export list. 23 employees worked remotely last week. 2 minutes (was 3 hours). Factory: Workers connect to factory WiFi (IP-based). Dashboard shows 87 workers present (green dots). Manager needs worker: Filter by department. Finds in 30 seconds (was 30 min). Bulk SMS: Emergency maintenance shutdown. Select all 87 factory workers. Send SMS: "Floor closing 2 PM. Clock out early." All notified instantly.
Total Year 1 impact: $217,000 saved
Pro Tip: Company: 247 employees. Manager needed Sarah for urgent call. Walked office. Can't find. Asked coworker: "She's remote." Checked Slack: green dot (online). Sent message. No response. Called phone. Voicemail. 20 minutes wasted. Sarah was at lunch (online in Slack but not working). Another day: Employee called in sick. Didn't update system. Manager assigned task. 2 days later customer angry: "Where's delivery?" Manager: "I assigned to John." John: "I was sick Monday-Tuesday. Didn't you know?" No notification. Project delayed 2 days = $5,700 SLA penalty. HR needs attendance report. Manually checked: Who present each day? Spreadsheet. Employee A: "Worked from home Tuesday." Timesheet says office. Manager: "Prove it." Checked system logs manually. 3 hours to verify 47 employees weekly. Factory: 87 production workers. Manager walks floor to find worker (30 min). Worker moved to different line. Can't find. Deployed Odoo Presence Control: Configured tracking: System activity + IP address (office network 192.168.1.0/24). Enabled remote work icon. Manager needs Sarah: Opens Employees app. Sarah: Gray dot, House icon (remote but offline). Unavailable. Assigns to John (green dot). 30 seconds (was 20 min). Employee sick: Marks leave in Time Off app. Dashboard: airplane icon. Manager sees immediately. Doesn't assign tasks. Zero delays. HR payroll: Filter by date + house icon. Export. 23 employees remote last week. 2 min (was 3 hrs). Factory: Workers connect factory WiFi. Dashboard: 87 present (green dots). Manager finds worker in 30 seconds (was 30 min). Emergency: Select 87 workers. Send SMS: "Floor closing 2 PM." All notified instantly. Operations Manager: "We walked around for 10 years when Odoo shows everyone's status in real-time." ROI: $217K Year 1.
FAQs
Wasting $217K on Manual Presence Tracking?
We configure Odoo 18 Employee Presence Control: real-time status dashboards, IP-based tracking, attendance integration, bulk updates, SMS communication. Turn 20-minute searches into 30-second lookups. Eliminate presence chaos.
