| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Attendances (hr_attendance)
• Employees (hr) • Discuss (mail) |
| Lines of code | 891 |
| Technical Name |
de_zkteco_attend |
| License | OPL-1 |
| Website | https://dynexcel.com |
Biometric Device Integration for Odoo HR
ZKTeco Devices,
Odoo Attendance,
One System
Connect your ZKTeco biometric machines to Odoo HR Attendance with a robust queue-based processing pipeline. Automatic fetching, duplicate prevention, punch conversion, and full audit trails â out of the box.
|
5+
Data Models
|
2
Scheduled Crons
|
18 / 19
Odoo Versions
|
|
ZKTeco Device - Live
Main Gate Device
192.168.1.101 : 4370 / TCP
|
ONLINE |
|
Protocol
TCP
|
Port
4370
|
Connection
OK
|
|
Last Sync
09:01 AM
|
Timeout
5s
|
Mode
Auto
|
| John Doe | 08:02 | Check In |
| Jane Smith | 08:05 | Check In |
| John Doe | 12:00 | Check Out |
|
D
Device
|
> |
P
Punches
|
> |
Q
Queue
|
> |
A
Attendance
|
What is this module?
Queue-Based Biometric Attendance for Odoo
This module bridges ZKTeco biometric hardware and Odoo's hr.attendance model with a reliable, asynchronous processing pipeline. Raw punches are fetched, validated, queued, and converted into clean Odoo attendance records â automatically, on a schedule.
ð± Multi-Device Support
Connect any number of ZKTeco devices â TCP or UDP â each with its own IP, port, password, and timeout configuration. Test connectivity with one click.
â³ Asynchronous Queue
Punches are never processed synchronously. They enter an intermediate queue first, ensuring no data is lost even if processing fails partway through.
ð Smart Punch Conversion
Separate Check-In / Check-Out punches from the device are automatically paired into complete Odoo attendance records â 4 punches become 2 clean attendance entries.
Key Capabilities
Everything Built In
Multiple Device Support
Manage any number of ZKTeco biometric devices from a single Odoo interface â each independently configured and monitored.
TCP & UDP Protocols
Supports both TCP and UDP connection modes, covering the full range of ZKTeco device network configurations in the field.
Device Connection Testing
Test connectivity directly from the device form with the built-in Test Connection button â no separate tools needed.
Automatic Fetch via Cron
A scheduled cron automatically downloads punches from all connected devices on a configurable interval â fully hands-free.
Employee-Device Mapping
Map biometric User IDs to Odoo employees individually, supporting multi-device environments where one employee uses multiple machines.
Queue-Based Processing
All fetched punches pass through an intermediate queue before becoming attendance records â providing reliability and safe retry capability.
Queue Logs & Tracking
Every queue line records its processing outcome â success or failure â with a message explaining exactly what happened.
Duplicate Prevention
Built-in duplicate detection prevents the same punch from creating multiple attendance records, even if a device re-sends data.
Conflict Handling
Invalid sequences and Odoo validation errors are caught and flagged as Conflict state with a reason â never silently dropped.
Setup Workflow and Architecture
Three Steps to Go Live
From hardware to Odoo attendance records â a clear, predictable pipeline every step of the way.
|
01
|
Configure Device
Create a device record at
Attendance > Configuration > Devices
.
Enter the IP Address, Port, Password and Protocol.
Use Test Connection
before saving.
|
|
02
|
Map Employees
Link each ZKTeco User ID with the corresponding employee from
Attendance > Configuration > Employee Device Mapping
.
|
|
03
|
Fetch and Process
Attendance Fetch Cron downloads punches automatically.
Queue Processing Cron converts them into
hr.attendance
records automatically.
|
ZKTECHO Device
Fetch attendance (Cron 1)
Draft Attendance
Queue
Queue Attendance (Cron 2)
Odoo Attendance
Watch It in Action
Full Module Demo
See the complete flow â from adding a ZKTeco device, mapping employees, triggering a fetch, and watching attendance records appear in Odoo HR.
Documentation and Guidance
Everything You Need to Get Started
From installing the Python dependency to configuring scheduled crons â complete guides for every step.
About Us
Dynexcel: Your trusted partner for cutting-edge ERP solutions. We specialize in seamless implementation and optimization services, helping businesses streamline operations and drive growth. Transform your business with us today.
|
|||
|
|||
|
|||
|
|||
|
|
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Attendances (hr_attendance)
• Employees (hr) • Discuss (mail) |
| Lines of code | 891 |
| Technical Name |
de_zkteco_attend |
| License | OPL-1 |
| Website | https://dynexcel.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