Skip to Content
Menu
v 18.0 Third Party
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Attendances (hr_attendance)
Employees (hr)
Discuss (mail)
Lines of code 842
Technical Name zk_attendance_sync
LicenseOPL-1
Websitehttps://www.bytesraw.com
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Attendances (hr_attendance)
Employees (hr)
Discuss (mail)
Lines of code 842
Technical Name zk_attendance_sync
LicenseOPL-1
Websitehttps://www.bytesraw.com
ByteaRAW
Community
Enterprise
Odoo.sh

Overview

The ZK Attendance Sync module provides a direct communication channel between ZKTeco biometric attendance devices and Odoo's HR attendance system. This integration enables automatic transfer of check-in/check-out records from fingerprint, face recognition, and RFID devices directly to your Odoo environment without requiring any middleware or additional software.

Key Benefits

  • Eliminate manual attendance data entry
  • Ensure accurate time tracking with biometric verification
  • Reduce time spent on attendance reconciliation
  • Centralize employee attendance management
  • Integrate seamlessly with Odoo's HR ecosystem
  • Support various ZKTeco device models
  • Transfer employee data bidirectionally between Odoo and devices

Target Users

This module is ideal for:
- Organizations using ZKTeco biometric attendance devices
- HR departments looking to automate attendance tracking
- Companies seeking to eliminate attendance fraud
- Businesses wanting to integrate physical attendance systems with Odoo
- Organizations requiring precise time and attendance data

Features

Device Management

  • Auto-Discovery: Automatically detect and register ZKTeco devices when they connect
  • Multi-Device Support: Connect and manage multiple attendance devices
  • Device Information: Track device details including serial number and last communication
  • Timezone Configuration: Set specific timezones for each device to handle global deployments
  • Command History: Review all commands sent to devices with status tracking

Attendance Synchronization

  • Automated Sync: Schedule automatic synchronization at regular intervals (every 5 minutes by default)
  • Real-time Processing: Process attendance data as it arrives from devices
  • Flexible Processing Modes:
  • Day-Based Punch: Record first punch as check-in and last punch as check-out
  • State-Based Punch: Process each punch according to its verification type

Employee Integration

  • Bidirectional Synchronization: Send employee data to devices and retrieve biometric templates
  • Fingerprint Template Storage: Securely store employee fingerprint templates in Odoo
  • Bulk Employee Transfer: Synchronize all employees to devices with one click
  • Individual Employee Sync: Add specific employees to selected devices
  • Custom Access Credentials: Set PIN codes and passwords for device access

Advanced Controls

  • Custom Commands: Send specialized commands directly to devices
  • Data Management: Fetch attendance logs, user info, and fingerprint data on demand
  • Device Control: Restart devices or clear device data remotely
  • Detailed Logging: Track all device communications for troubleshooting

Configuration

Initial Setup

  1. Navigate to Attendance → ZKTeco → Machines
  2. Your ZKTeco devices will automatically register when they connect to your Odoo server
  3. For each device, verify:
    - Device Name: A descriptive name for identification
    - Serial Number: Automatically detected from the device
    - Timezone: Set the appropriate timezone for the device location

Attendance Processing Configuration

  1. Go to Attendance → ZkTeco → State Type
    - Please create the necessary state types as required; the default state types have already been created.
  2. In the Attendance → Configuration section, set:
    - Process Type: Choose between "Day-Based Punch" or "State-Based Punch"
  • Day-Based Punch:

    • First punch of the day automatically recorded as Check-in
    • Last punch of the day automatically recorded as Check-out
    • Ideal for standard work schedules with fixed timings
  • State-Based Punch:

    • Check-in and Check-out based on actual punch state configured in the attendance machine
    • Respects device-level IN/OUT configurations
    • Perfect for flexible or shift-based schedules

Network Setup

To enable devices to communicate with Odoo:

  1. Configure your ZKTeco device with:
    - Server URL: Your Odoo server URL
    - Server Port: The port your Odoo server is running on
  2. Ensure network connectivity between devices and your Odoo server
  3. Your Odoo server must be accessible from the devices' network

Usage Guide

Synchronizing Employees to Devices

  1. Bulk Synchronization:
    - Navigate to Attendance → ZKTeco → Machines
    - Open a device record and click Sync All Employees
    - All employee names and barcodes will be sent to the device

  2. Individual Employee:
    - Open an employee record
    - Click the Sync to Biometric button in the header
    - Select the target device and provide a PIN/password

Managing Attendance Data

  1. View Device Logs:
    - Open a device record
    - Click the Logs button to see raw attendance data from the device
    - These logs show all punches before processing into check-ins/check-outs

  2. Fetch Latest Data:
    - To manually retrieve new attendance data, open a device record
    - Click the Fetch Data button
    - Data will be processed according to your configuration settings

  3. View Processed Attendance:
    - Go to Attendance → Attendances
    - View the processed attendance records with corresponding device information

Managing Fingerprint Data

  1. Retrieving Fingerprint Templates:
    - Open a device record
    - Click Fetch Biometric to retrieve all fingerprint templates stored in the device
    - Templates will be stored with the corresponding employees

  2. Sending Fingerprint Templates:
    - Open a device record
    - Click Sync Biometric to send stored fingerprint templates to the device
    - This helps when moving employees between devices or setting up new devices

Advanced Device Management

  1. Custom Commands:
    - Open a device record
    - Click the Cmd button
    - Enter any valid ZKTeco device command
    - Common commands include:

    • INFO - Get device information
    • DATA QUERY userinfo - Retrieve user information
  2. Device Control:
    - Use the Restart button to reboot the device remotely
    - Use the Clear Data button to erase all data from the device (use with caution)

Benefits

  • Time Savings: Eliminate manual attendance data entry and reconciliation
  • Accuracy: Ensure precise attendance records with biometric verification
  • Fraud Prevention: Prevent buddy punching and attendance manipulation
  • Real-time Data: Access up-to-date attendance information
  • Seamless Integration: Work within Odoo's existing HR and attendance systems
  • Centralized Management: Control all attendance devices from one interface
  • Cost Efficiency: No need for additional middleware or third-party services
  • Customizability: Configure processing rules to match your organizational needs

Support

For issues, feature requests, or questions, please contact:

  • Email: codeforme@bytesraw.com

Bytesraw

Researching Tomorrow's Bytes Today

Who We Are

We are a team of experienced Odoo freelancers dedicated to helping businesses customize, integrate, and optimize Odoo for their unique needs. Our initiative brings together experts in ERP solutions, development, and automation to deliver high-quality, cost-effective Odoo services.

Our Expertise

  • ✓ Odoo Development (v11-v18)
  • ✓ Functional Training (v11-v18)
  • ✓ Community Upgradation's(v11-v18)
  • ✓ Python & PostgreSQL
  • ✓ Hosting,Automation & Security
  • ✓ API & 3P Integrations
  • ✓ E-commerce & POS Solutions

A Coffee with Us

Let's discuss your Odoo needs over a virtual or in-person coffee!

BytesRaw

codeforme@bytesraw.com www.bytesraw.com

No Running Away—Deal?

We build it, you love it, then you pay. Simple! If it doesn't work because of us, we'll take the hit as a learning experience (don't worry, we don't cry).we won't vanish after the job is done... but if you disappear, we might just shed a tear or two!

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

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.