Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Attendance
  3. ZKteco HR Attendance Suite v 18.0
  4. Sales Conditions FAQ

ZKteco HR Attendance Suite

by Dot BD Solutions Limited https://dotbdsolutions.com
Odoo

$ 35.00

v 18.0 Third Party 12
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Attendances (hr_attendance)
• Time Off (hr_holidays)
• Employees (hr)
• Discuss (mail)
• Calendar (calendar)
Lines of code 8707
Technical Name dotbd_hr_zk_attendance_suite
LicenseOPL-1
Websitehttps://dotbdsolutions.com
Versions 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Attendances (hr_attendance)
• Time Off (hr_holidays)
• Employees (hr)
• Discuss (mail)
• Calendar (calendar)
Lines of code 8707
Technical Name dotbd_hr_zk_attendance_suite
LicenseOPL-1
Websitehttps://dotbdsolutions.com
Versions 17.0 18.0 19.0
  • Description
  • License
Dot BD Solutions Logo
Module Logo

ZKteco HR Attendance Suite

Complete Biometric Integration (Enhanced)

v18.0.5.0.0 - Now with ADMS Cloud Push Protocol & Hybrid Connection Modes!
▶️ Watch Live Demo

Or copy link: https://youtu.be/wx5P2C8AFA0

Transform Your Attendance Management

The most comprehensive attendance management solution for Odoo 18, featuring seamless ZKteco biometric device integration, ADMS Cloud Push Protocol, real-time live capture, device health monitoring, LCD message display, audio feedback, door access control, powerful analytics dashboard, intelligent anomaly detection, and enterprise-grade reporting capabilities.

Why Choose This Suite?

🔐
Biometric Integration

Connect unlimited ZKteco devices with face & fingerprint recognition

⚡
Real-Time Live Capture

Instant attendance capture as events happen - no polling delays!

🏥
Device Health Monitoring

Track firmware, storage, network, and capacity in real-time

📺
LCD Message Display

Personalized welcome/goodbye messages on device screen

🔊
Audio Feedback

Custom sounds for check-in/out and errors (55+ voices)

🚪
Door Access Control

Unlock doors remotely with configurable duration

👥
User Sync to Device

One-click employee enrollment from Odoo to biometric device

🔐
4-Tier Security Model

Admin, Manager, Officer, Employee role-based access control

🤖
Auto Mode

Intelligent check-in/check-out that prevents HR configuration mistakes

Three Powerful Connection Modes

Choose the perfect connection strategy for your deployment architecture.

Direct Mode (PyZK)

Best for local networks or VPN connections where Odoo can directly reach the device IP.

  • 100% hardware control
  • Real-time Live Capture
  • LCD & Voice messages
  • Door access control
Supported Devices (PyZK):
uFace 202, uFace 800, K40, ZK4500, IN01, TX628, MB20, and any standard ZKteco device with Port 4370.
Direct Connection (PyZK)

Cloud Mode (ADMS)

Best for SaaS/Cloud Odoo instances. The device pushes data to Odoo over HTTP(S). No port forwarding needed!

  • Perfect for remote sites
  • Bypass firewalls easily
  • Auto-registers devices
  • Remote Fingerprint Enrollment
Supported Devices (ADMS):
uFace 800 Plus, K40 Pro, Silk104, SpeedFace, ProCapture, F22, and any device with ADMS firmware.
Cloud Connection (ADMS)

Hybrid Mode

The ultimate flexibilty. Uses ADMS for reliable attendance push, and PyZK for deep hardware control.

  • Our Unique Offering!
  • Best of both worlds
  • Automatic attendance sync
  • Full hardware capabilities
Supported Devices (Hybrid):
Devices equipped with BOTH an ethernet/Wi-Fi interface and the ADMS firmare (e.g., F22, SpeedFace V5L).
Advanced Device Settings

Four Intelligent Attendance Modes

Choose how your module processes each punch. Configurable per device — mix and match across your organization.

📋
Traditional Mode

Uses the device's punch type directly.

  • ✅ Punch type 0 = Check-in
  • ✅ Punch type 1 = Check-out
  • ⚠️ Device must be configured correctly
  • 📝 Multiple records per day possible
Best for: Devices with separate in/out buttons
🤖
Auto Mode

Ignores device punch type. Auto-alternates.

  • ✅ 1st punch → Check-in
  • ✅ 2nd punch → Check-out
  • ✅ 3rd punch → Check-in again
  • 🛡️ Prevents HR mistakes
Best for: Simple single-button devices
📅
Auto Per Day NEW

One attendance record per employee per day.

  • ✅ First punch of day = Check-in
  • ✅ Last punch of day = Check-out
  • ✅ Middle punches update check-out
  • 🔄 Auto-closes missed check-outs
Example:
08:55 → Check-in
12:00 → Check-out updated
13:00 → Check-out updated
17:30 → Final check-out
Best for: Most common use case
🔒
Traditional Per Day NEW

Device punch type respected, but max one in/out per day.

  • ✅ Only first check-in counts
  • ✅ Only first check-out counts
  • 🚫 Duplicate punches ignored
  • 🔄 Auto-closes missed check-outs
Best for: Strict one-in/one-out policies
🛡️ Smart Edge Case Handling (Per-Day Modes)
❌
Employee forgot to check out yesterday

Module auto-closes yesterday's record at 23:59:59, then creates today's new check-in normally.

🔁
Multiple punches throughout the day

In Auto Per Day, every punch after the first updates the check-out. The last punch always wins.

🕐
Timezone-aware day boundaries

Uses the device's configured timezone to determine "today" — so midnight is always correct for your location.

✅
Works with all connection modes

PyZK Download, Live Capture, and ADMS Cloud Push all support all four attendance modes.

🛡️ Robust Error Logging & Transaction Protection

Enterprise-grade resilience. Every failed punch is logged with the exact reason — your bulk downloads never crash midway through.

🔒
Database Savepoint Protection

Each attendance record is processed inside an isolated database savepoint. If one record fails (overlap, invalid timestamp, missing employee), only that record is rolled back — the rest continue processing normally.

  • ✅ Downloads 10,000+ records without crashing
  • ✅ Bad records are skipped, not fatal
  • ✅ Works for both PyZK & ADMS modes
  • ✅ Cron jobs complete even with errors
📋
Detailed Error Logs in UI

Every failed record is logged to the Device Logs screen with the exact error message. Admins can see at a glance why a punch failed and take corrective action.

  • 📌 Employee ID, timestamp, and error reason logged
  • 📌 Color-coded status: ✅ Success, ⚠️ Warning, ❌ Failed
  • 📌 Searchable and filterable by device, date, status
  • 📌 Download statistics: found, new, duplicates, failed
⚠️ Common Reasons a Punch May Fail (All Auto-Logged)
🔀
Overlapping Attendance

Employee already has an active shift covering the punch timestamp. Odoo rejects duplicate overlap.

⏰
Invalid Timestamp

Device sent a corrupted or impossible date (e.g. Jan 1, 1970 after a power reset).

👤
Deleted Employee

Employee was removed from Odoo but still punches on the biometric device.

🔗
Unmapped Device User

Device user ID not linked to any Odoo employee. Logged as a warning for admin review.

Quick Setup Guide

Get your ZKTeco devices connected in minutes. Choose the method that matches your network.

🔌 Direct Mode (PyZK) Setup

For local network / VPN deployments
⚠️ Requirement: Odoo server must be able to reach the device IP on port 4370 (UDP).
  1. Install the PyZK library on your Odoo server:
    pip3 install pyzk
  2. Find the device IP: On the device menu, go to COMM → Ethernet → IP Address.
  3. In Odoo, go to Attendances → ZK Devices → Create.
  4. Fill in:
    • Name: e.g. "Main Entrance"
    • IP Address: The device IP (e.g. 192.168.1.201)
    • Port: 4370 (default)
    • Connection Mode: Direct (PyZK)
    • Attendance Mode: Choose your preferred mode
  5. Click "Test Connection". If successful ✅, you're ready!
  6. Map employees: Set each employee's ZK Device User ID in their HR profile (must match the ID on the device).
  7. Click "Download Attendance" to fetch records, or enable the Scheduled Action for automatic downloads.

☁️ Cloud Mode (ADMS) Setup

For Odoo.sh, cloud hosting, or remote sites
✅ No port forwarding needed! The device initiates the connection to your Odoo URL.
  1. Ensure your Odoo is accessible via a public URL (e.g. https://mycompany.odoo.com).
  2. On the ZKTeco device, go to COMM → Cloud Server Setting:
    • Enable: Yes
    • Server Address: your-odoo-domain.com
    • Server Port: 443 (HTTPS) or 80 (HTTP)
  3. Restart the device. It will automatically connect to Odoo and register itself.
  4. In Odoo, go to Attendances → ZK Devices. You'll see the device auto-created with its serial number.
  5. Configure the device record:
    • Connection Mode: Cloud (ADMS) or Hybrid
    • Attendance Mode: Choose your preferred mode
  6. Map employees: Set each employee's ZK Device User ID to match the device.
  7. Done! 🎉 Attendance is pushed automatically in real-time whenever an employee punches.
⚡ Hybrid Mode — Best of Both Worlds

Want automatic attendance push (ADMS) plus hardware control like LCD messages, voice feedback, and door unlock (PyZK)? Set Connection Mode = Hybrid. The device pushes data via ADMS, while Odoo uses PyZK for hardware features. Requires both network paths to be available.

Remote Fingerprint Enrollment (ADMS)

Enroll employee fingerprints directly from Odoo without touching the device menu!

  1. Go to the Employee Profile and set their ZK Device User ID.
  2. Go to the device form and click Sync Users (ADMS).
  3. Back on the Employee profile, click Enroll Fingerprint (ADMS).
  4. Select the finger index and click Enroll.
  5. The device screen will ask the employee to place their finger 3 times. The template is saved to Odoo automatically!
Employee Biometric Data Fingerprint Enrollment

Everything is managed centrally from Odoo. Command is queued instantly.

What's NEW in v18.0.4.0.0

Major reliability upgrade with device operation logging, live capture logging, and critical bug fixes!

Device Operation Logs

NEW
  • Download Logs: Track every attendance download with detailed statistics
  • Live Capture Logs: Session start/stop, event counts, errors
  • Smart Button: View all logs per device from the device form
  • Status Tracking: Success, Warning, and Failed status for every operation
  • Performance Metrics: Duration, records found/new/duplicate/failed per operation

Raw Punch Data Viewer

NEW
  • Biometric Punch Records: View all raw punches from devices
  • Device Tracking: Each punch linked to source device
  • SQL Unique Constraint: Prevents duplicate records at database level
  • Filters: By date, employee, punch type, processed status

Live Capture Fixes

FIXED
  • Thread-safe error handling (no more silent crashes)
  • Timezone conversion (Asia/Dhaka to UTC)
  • Duplicate punch prevention
  • Session logging with event counters

Download Improvements

IMPROVED
  • Per-record error handling (one bad record won't stop the batch)
  • User lookup dict for faster matching
  • Detailed operation log for every download
  • Auto-close stale attendance (>24h open)

Other Fixes & Improvements

FIXED
  • Settings boolean bug fixed (no manual set/get)
  • Leave attendance category support
  • Late check-in ValueError handling
  • Conditional payroll loading via post_init_hook

v18.0.3.0.0 Features - 100% PyZK Implementation

Real-Time Live Capture

  • Instant Attendance: Capture events in real-time
  • No Polling Delays: Zero lag between device punch and Odoo
  • Background Processing: Thread-safe worker
  • Live Event Counter: Track events captured today

Device Health Monitoring

  • Firmware Information: Version, serial, platform
  • Storage Monitoring: User, fingerprint, record capacity
  • Network Information: IP, subnet, gateway
  • Device Status: Online/Offline detection
Device Health

LCD Message Display

  • Welcome/Goodbye Messages
  • Employee Names Display
  • Test LCD Feature
LCD Messages

Audio Feedback

  • 55+ Voice Options
  • Check-in/out Sounds
  • Error Alerts
Audio Settings

Door Access Control

  • Remote Unlock
  • Configurable Duration
  • Lock State Check
Door Control
Device Configuration Device Health LCD Settings

How to Give User Permissions

Follow these steps to assign attendance permissions to users:

  1. Go to Settings
  2. Scroll down to the bottom
  3. Click on "Activate the developer mode"
Developer mode is required to access security groups

  1. Go to Settings → Users & Companies → Users
  2. Or search for "Users" in the top search bar

  1. Click on the user name
  2. Click "Edit" button
  3. Find the section "ZK Attendance"
  4. Select the appropriate permission level
Administrator

Full system access, configure devices, manage all data

Manager

Configure devices, approve penalties, access all records

Officer

View all attendance, generate reports, read-only devices

Employee

View own attendance records only

Core Features

🔐 Advanced Biometric Integration

  • Multi-device support (uFace 202, 800, K40, ZK4500)
  • Face & fingerprint recognition
  • Real-Time Live Capture
  • Device Health Monitoring
  • Automatic sync with configurable intervals

📊 Real-time Analytics Dashboard

  • Interactive Chart.js visualizations
  • Smart date filters (Today/Week/Month/Year)
  • Live attendance metrics & KPIs
  • Department analytics
  • Export capabilities

🔍 Intelligent Anomaly Detection

  • Missing check-in/out detection
  • Duplicate punch identification
  • Attendance violation tracking
  • Automated categorization
  • Issue resolution workflow

⏰ Late Check-in Management

  • Configurable grace periods
  • Automatic penalty calculation
  • 4-state approval workflow
  • Payroll integration
  • Email notifications

What's New in This Version

🕒 Intelligent Time Sync & Auto-Correction
  • Auto-Sync Before Download: Device clock is automatically checked and corrected before every attendance download — manual or cron
  • Drift Detection: Detects clock drift >30 seconds and auto-corrects — no manual intervention needed
  • Cron-Safe Timezone: Stores effective timezone on device record — cron jobs no longer depend on user timezone
  • Flexible Options: Sync using Odoo User Time, Server UTC, Custom Timezone, or Manual override
  • Live Capture Ready: Auto-sync also runs before live capture starts
  • Visible Status: "Current Device TZ" field shows which timezone the device is running in
🛡️ Identity Protection
  • Safe Sync Topology: Protects existing face/fingerprint data during sync
  • Ghost Prevention: Stops cross-assignment of employee IDs
  • Active Tracking: Logs unmapped device users into Odoo for HR review

Compatible ZKTeco Devices

Key Compatibility Rule: If your device works with ZKTime.net 3.0 software, it will work with this module!
* Any other ZKTeco device supporting TCP/IP and Standalone SDK Protocol is also compatible.
👤 Face Recognition
  • uFace Series: uFace 202, 302, 402, 602, 800
  • VF Series: VF300, VF350, VF380
  • ProFace Series: ProFace X, ProFace Plus
  • SpeedFace: V5L, H5, M4
  • FacePass: FacePass 7
  • MultiBio: 700, 800
👆 Fingerprint Terminals
  • F Series: F16, F18, F19, F21, F22
  • K Series: K14, K20, K28, K30, K40, K50, K60
  • iClock: 260, 360, 560, 680, 700, 880, 990
  • MA Series: MA300, MA500
  • MB Series: MB10, MB160, MB200, MB360, MB460
  • ZK Basic: ZK4500, ZK9500
💳 Card & Access Control
  • UA Series: UA100, UA200, UA300, UA400, UA760
  • U Series: U100, U160, U300, U350, U650
  • Hybrid: X628, X990, G1, G2, G3, SilkID
  • C3 Panels: C3-100, C3-200, C3-400
  • inBio: inBio160, inBio260, inBio460
🔌 Connection Requirements
  • Device must support TCP/IP
  • Using Standalone SDK Protocol
  • LAN: Same network connection
  • VPN/Static IP: For remote locations

Getting Started Guide

Initial Setup Device Menu Add Device Configuration

🌐 Professional Support

Get expert assistance from the Dot BD Solutions Limited team

📧 Email info@dotbdsolutions.com
🌐 Web Resources www.dotbdsolutions.com learn.dotbdsolutions.com
📞 WhatsApp +8801810025181
📱 Social Media https://www.facebook.com/dotbdsolutions https://www.linkedin.com/company/dot-bd-solutions/ https://www.youtube.com/@DotBdSolutionsLimited
Odoo Ready Partner
Dot BD Solutions Logo

Dot BD Solutions Limited

Copyright © 2025 Dot BD Solutions Limited. All rights reserved.

Author: Rafiur Rahman Rafit

Licensed under OPL-1

Website | Support | Live Demo

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.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with