Biometric Attendance ZK Integration
by MGTech https://www.linkedin.com/in/moaaz-gafar-0676a3111/$ 82.51
Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
•
Attendances (hr_attendance)
• Employees (hr) • Discuss (mail) |
Lines of code | 1414 |
Technical Name |
biometric_attendance_zk |
License | OPL-1 |
Website | https://www.linkedin.com/in/moaaz-gafar-0676a3111/ |
Versions | 16.0 17.0 18.0 |
Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
•
Attendances (hr_attendance)
• Employees (hr) • Discuss (mail) |
Lines of code | 1414 |
Technical Name |
biometric_attendance_zk |
License | OPL-1 |
Website | https://www.linkedin.com/in/moaaz-gafar-0676a3111/ |
Versions | 16.0 17.0 18.0 |
Support all ZK Devices
Biometric Device Integration for HR Attendance
Seamlessly connect ZK-compatible biometric devices with Odoo & HR module.
Automate your attendance tracking process by directly syncing punch data from biometric devices into Odoo. This module provides a complete solution, from device configuration and data synchronization to intelligent processing of attendance records, including automatic calculation of lateness and overtime based on employee work schedules.
Key Features
- Centralized Device Management: Configure and manage all your biometric devices from a single screen in Odoo.
- Flexible Connection: Supports connecting devices via IP address or domain name, using TCP or UDP protocols.
- One-Click Sync: Manually synchronize attendance data from any device with a single click.
- Automated Sync (Cron Job): Set up scheduled actions to automatically fetch data from all active devices periodically.
- Intelligent Data Processing: Automatically links raw punch data to employees and consolidates check-in/check-out records.
- Work Schedule Integration: Calculates employee lateness and overtime by comparing punch times against their assigned work schedules.
- Comprehensive Dashboard: Get a real-time overview of device statuses, unprocessed records, and recent attendance activity.
- Manual Sync Wizard: A user-friendly tool to sync specific devices and process records on demand.
1. Device Configuration & Connection Test
Initial State: Disconnected

After Connection Test: Connected

Configuring a Biometric Device
The first step is to configure your biometric device in Odoo. Navigate to Biometric Attendance → Devices and create a new record.
- Connection Settings: Enter the device's IP Address (or domain name), Port, Protocol (TCP/UDP), and Password (if any).
- Status & Operation: Activate the device to include it in automatic sync jobs. The 'Last Sync Time' updates after each synchronization.
- Test Connection: Click the "Test Connection" button to verify that Odoo can communicate with the device. The status will change from "Disconnected" to "Connected" upon success.
2. Biometric Attendance Dashboard

A Central Hub for Attendance Monitoring
The dashboard provides a real-time overview of your entire attendance system.
- Summary Cards: Instantly see the total number of configured devices, how many are currently connected, and the count of unprocessed attendance records.
- Device Status: A detailed list of all devices, their current connection status, and the last time they were synchronized. You can trigger a sync for an individual device directly from this list.
- Recent Attendance: A live feed of the latest punch records downloaded from all devices, showing the employee, time, punch type, and processing status.
- Global Actions: Use the "Sync All" button to fetch data from all active devices at once.
3. Raw Attendance Records

Viewing and Managing Raw Data
This screen (Biometric Attendance → Raw Records) lists every single punch downloaded from the devices before it's processed into a final HR Attendance record. This provides full transparency and traceability.
- Detailed Information: Each record shows the exact punch time, the linked employee (if found), the punch type (Check In/Out), the source device, and its processing status.
- Powerful Filtering: Use Odoo's built-in filters to easily find records, such as viewing all "Unprocessed" records or all punches for a specific employee.
4. Manual Sync Wizard

On-Demand Synchronization and Processing
The Manual Sync wizard (Biometric Attendance → Manual Sync) gives you granular control over the sync process.
- Selective Sync: Choose one or more specific devices to synchronize.
- Immediate Processing: Check the "Process to HR Attendance" box to have the system immediately attempt to process the newly downloaded records into final HR Attendance entries.
- Flexibility: You can choose to only download the raw data without processing it, giving you a chance to review it first.
5. Processed HR Attendance Records

The Final, Intelligent Result
This is the standard Odoo Attendance screen (Attendances → Attendances), now populated with intelligently processed data from your biometric devices.
- Consolidated Records: The module automatically finds the first check-in and the last check-out for an employee on a given day to create a single, clean attendance record.
- Calculated Fields: The system automatically calculates the total "Work Hours", "Late (Mins)", and "Over Time" based on the employee's assigned work schedule.
- Visual Indicators: Late arrivals can be highlighted (e.g., in red) for easy identification, providing managers with quick insights.
6. Work Schedule Configuration

Defining Attendance Rules
The module enhances Odoo's standard Work Schedules (Configuration → Work Schedules) with new fields to define attendance rules.
- Late Arrival Grace Period: Specify a grace period (in minutes). The system will only mark an employee as late if they check in after the official start time + this grace period.
- Overtime Threshold: Define how many minutes an employee must work after their official shift ends before the system starts counting it as overtime.
- Seamless Integration: These rules are automatically applied during the attendance processing step to calculate lateness and overtime accurately.
7. Automated Scheduled Actions (Cron Jobs)
Automated Data Synchronization

Automated Record Processing

Set It and Forget It Automation
For true automation, the module includes pre-configured Scheduled Actions (also known as Cron Jobs). You can manage them by activating developer mode and navigating to Settings → Technical → Scheduled Actions.
- Biometric Device Auto Sync: This job periodically calls the function to download new attendance records from all active devices. You can set the interval (e.g., every 15 minutes).
- Process Biometric Attendance Records: This job runs after the sync job to process any unprocessed raw records into final HR Attendance entries. You can set its interval (e.g., every 30 minutes).
Need help? Contact us on WhatsApp or via email.

📧 Email: m.gafar2024@gmail.com
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module