ZKteco Biometric HR Attendance Suite and Payroll
by Dot BD Solutions Limited https://dotbdsolutions.com$ 69.99
| 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 | 24946 |
| Technical Name |
dotbd_hr_zk_attendance_suite |
| License | OPL-1 |
| Website | https://dotbdsolutions.com |
| Versions | 17.0 18.0 19.0 |
| 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 | 24946 |
| Technical Name |
dotbd_hr_zk_attendance_suite |
| License | OPL-1 |
| Website | https://dotbdsolutions.com |
| Versions | 17.0 18.0 19.0 |
ZKteco HR Attendance Suite
Complete Biometric Integration (Enhanced)
v19.0.8.10.47 — Import Employees from Device • Customisable UI Preferences • Bug Fixes!
What Makes Us The Best Choice
Trusted by businesses across the globe for reliable, enterprise-grade biometric HR automation.
See It In Action
Live demonstration — ZKteco device punch recorded directly in Odoo HR Attendance
Both PyZK (direct TCP/IP) and ADMS (cloud push) connection modes demonstrated
Transform Your Attendance Management
The most comprehensive biometric attendance solution for Odoo 19 — seamless ZKteco device integration, real-time analytics dashboard, intelligent anomaly detection, and enterprise-grade reporting. Works for businesses of all sizes.
Detailed Features of Our Module
Click a feature to explore it in detail
Real-Time Attendance Dashboard
A complete visual command center for your workforce attendance — updated live.
- ✓ Monthly calendar grid — P / LT / A / L / W / H per employee per day
- ✓ Today's counts — Present, Absent, On Leave, Late, Total Fine
- ✓ Top Present / Absent / Late leaderboards — click to filter
- ✓ Department & employee filter — instant re-render
- ✓ Download Excel — full monthly sheet with colour-coding
Late Check-in Management
Configurable tolerance, automatic penalties, and approval workflows.
- ✓ Grace period — set tolerance minutes before marking late
- ✓ Auto penalty — per-minute or fixed amount deduction
- ✓ 4-state workflow — Draft → Approved → Deducted / Refused
- ✓ Payroll sync — deductions pushed to payslip automatically
- ✓ Real-time detection — LT appears on dashboard immediately after punch
Biometric Device Sync
Two connection modes — Direct (PyZK) and ADMS Cloud — covering every ZKteco device.
- ✓ Direct / PyZK — LAN connection, instant download, 15+ series
- ✓ ADMS / Cloud — device pushes data, no port forwarding needed
- ✓ Auto check-in/out — intelligent punch type detection
- ✓ LCD messages — custom welcome/goodbye on device screen
- ✓ Import employees — pull users directly from device into Odoo
Reports & Analytics
Excel, PDF and on-screen reports covering every attendance dimension.
- ✓ Monthly attendance sheet — colour-coded P/LT/A/L per employee
- ✓ Department filter — download report for any department
- ✓ Detailed daily — check-in/out time, worked hours, late minutes
- ✓ Anomaly report — missing checkout, duplicate punches
- ✓ Late check-in report — penalties, tolerance, status breakdown
Built-in Payroll + Native Payroll Bridge
Full attendance-to-payroll pipeline — works with our own system and native Odoo payroll.
- ✓ Auto deductions — late penalties pushed to payslip on confirm
- ✓ Absence fine — configurable per-day deduction
- ✓ Salary templates — basic, allowances, contract-based
- ✓ Payslip PDF & Excel — branded, printable
- ✓ hr_payroll sync — Community & Enterprise
- ★ NEW — Attendance Statement — auto-fills wage, housing, transport, advance, deductions from native payroll (confirmed payslips → contracts → salary rules)
Attendance & Salary Statement
A two-step wizard generating a combined attendance + salary statement for all employees. Salary data auto-filled from native Odoo payroll — no manual entry needed.
- Wage from
hr.contract - Housing & Transport (auto-detected)
- Advance & Deductions
- Days, hours, overtime, late
- Net salary (auto-computed)
- PDF & Excel output
Works with both
Community Enterprise
Same module, runtime detection.
No separate version needed.
Interactive Attendance Dashboard
A completely new visual command center for your workforce attendance — real-time, colour-coded, and actionable at a glance.
Smart Holiday Detection
The dashboard automatically detects if today is a public holiday and displays a prominent banner with the holiday name. It also shows the next 2 upcoming holidays so your team is always informed in advance.
Today's Live Overview
Six real-time stat cards show Total Employees, Present, Absent, On Leave, Late Today, and Total Fine — all updated live with department and employee filters applied instantly.
Colour-Coded Monthly Calendar
A full monthly grid per employee shows every day as Present (), Absent (A), Leave with short code (CL, SL, OH…), Weekend (W), or Holiday (H). Late days are highlighted in a distinct colour.
Leave Type Short Codes
Instead of a plain "L", each leave day shows its exact type code — CL (Casual Leave), SL (Sick Leave), OH (Official Holiday), and more. Codes are fully customisable from the Leave Type configuration.
Employee Monthly Summary
Click any employee row to open a detailed summary panel showing their monthly totals: days Present, Absent, on Leave, Weekend, Holiday, and Late — all in one compact card with their photo and job title.
Configurable Weekend Days
Weekend days are no longer hard-coded. Choose any combination of days (e.g. Friday + Saturday for Bangladesh) from Attendance Settings. The dashboard, calendar, and reports all respect your configuration.
Holiday Banners & Stat Cards
Employee Summary Panel
Monthly Calendar with Leave Codes (CL / SL / OH…)
Configurable Weekend Days Setting
Unified Attendance Map
See biometric device locations, geofence radius, employee GPS check-ins, check-outs, attendance source, department filters, and date ranges on one interactive map.
Device Locations
Store latitude, longitude, location name, and geofence radius for each biometric device.
Team Check-ins
Managers can review team GPS pins while employees only see their own attendance records.
Fast Filters
Search by employee, device, mobile, ZK ID, department, and date range.
Why Choose This Suite?
100% PyZK Integration
Direct device communication without third-party APIsAuto Mode NEW
Intelligent check-in/check-out that prevents HR mistakesLive Capture NEW
Real-time attendance monitoring as events happenAdvanced Dashboard
Interactive Chart.js visualizations & analyticsDoor Control NEW
Remote door unlock with configurable durationAudio Feedback NEW
Custom sounds for check-in, check-out & errorsLCD Messages NEW
Personalized welcome/goodbye on device screenDuplicate Prevention
Ignore repeated punches within time windowImport from Device NEW
Pull employees directly from biometric device into OdooUI Preferences NEW
Choose your landing page and default view from SettingsAuto Time Sync NEW
Device clock auto-corrected before every downloadRobust Error Logs NEW
Pinpoint EXACTLY why a punch failed (Savepoints active!)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
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
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
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
Auto Mode
Ignores device punch type. Auto-alternates.
- 1st punch → Check-in
- 2nd punch → Check-out
- 3rd punch → Check-in again
- Prevents HR mistakes
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
08:55 → Check-in
12:00 → Check-out updated
13:00 → Check-out updated
17:30 → Final check-out
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
Smart Edge Case Handling (Per-Day Modes)
Module auto-closes yesterday's record at 23:59:59, then creates today's new check-in normally.
In Auto Per Day, every punch after the first updates the check-out. The last punch always wins.
Uses the device's configured timezone to determine "today" — so midnight is always correct for your location.
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
Common Reasons a Punch May Fail (All Auto-Logged)
Employee already has an active shift covering the punch timestamp. Odoo rejects duplicate overlap.
Device sent a corrupted or impossible date (e.g. Jan 1, 1970 after a power reset).
Employee was removed from Odoo but still punches on the biometric device.
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-
Install the PyZK library on your Odoo server:
pip3 install pyzk
- Find the device IP: On the device menu, go to COMM → Ethernet → IP Address.
- In Odoo, go to Attendances → ZK Devices → Create.
-
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
- Click "Test Connection". If successful , you're ready!
- Map employees: Set each employee's ZK Device User ID in their HR profile (must match the ID on the device).
- 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-
Ensure your Odoo is accessible via a public URL or IP
(e.g.
mycompany.odoo.comor192.168.1.10:8069). - In Odoo, go to Attendances → ZK Devices, open (or create) the device record and copy the Device Server Address from the ADMS Cloud Settings group.
-
On the ZKTeco device, go to COMM → Cloud Server Setting:
- Enable: Yes
- Server Address: paste the Server Address (firmware) value from the device record in Odoo
⚠ Do NOT type https:// — firmware takes host + path only, no protocol. - Server Port: paste the Server Port (firmware) value from the device record in Odoo
8069= direct Odoo (no proxy) ·80= HTTP via nginx ·443= HTTPS via nginx - HTTPS / SSL toggle (if present on your device model): turn ON when port is 443, OFF for port 80 or 8069
- Restart the device. It connects automatically and registers itself in Odoo.
- Configure the device record: set Connection Mode, Attendance Mode, and map employees by Device User ID.
- Done! Attendance is pushed automatically in real-time.
myodoo.com/db/my_database.
Configure it exactly as shown — do not add https://.
/db/database_name.
Configure each physical device with the address of its database.
Always copy from the Odoo device record — do not type manually.
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.
- Configure the Device Server Address exactly as in
the ADMS setup above (with
/db/database_name) - Multi-database routing works the same way as ADMS mode
- Real-time push — no manual download needed
- Requires Odoo to reach the device on TCP port 4370
- On-premise Odoo: works on same LAN
- Cloud Odoo: requires VPN or port forwarding on the site router
- If network access is not possible, use ADMS-only mode (attendance still works, hardware control features are not available)
Troubleshooting & Common Issues
This happens when the device sends a punch for a user ID that is not linked to any employee in Odoo.
- Go to HR → Employees in Odoo
- Open or create the employee record
- Set the "Device ID Number" field to match the user ID on the biometric device
- Save. Next punch will be processed automatically!
The device connects but doesn't show in the device list.
- First create the device in Odoo with Connection Mode = Cloud (ADMS)
- Set the Device Serial Number to match the device's serial (shown on device menu)
- Restart the device — it will auto-match on next heartbeat
On a server with multiple Odoo databases, attendance punches are recorded in the wrong database or are missing entirely.
- Open the device record in Odoo → Attendances → ZK Devices
- Under ADMS Cloud Settings, copy the Device Server Address field
- On the ZKTeco device: COMM → Cloud Server Setting → Server Address
- Paste the copied address (it contains
/db/database_name) - Save and restart the device
Why: Each database has a unique URL path. Without it, Odoo cannot determine which database the device belongs to and defaults to the first/only configured database.
Device has no serial number (shows as 0)
and is matched by IP address instead. In multi-database setups the IP fallback
will not work unless the correct database URL is used.
- In Odoo, create the device record manually first with the correct IP address and Connection Mode = Cloud (ADMS)
- Copy the Device Server Address from the ADMS Cloud Settings group
- On the device: COMM → Cloud Server Setting → set
Server Address to the copied value (includes
/db/database_name) - Restart the device — it connects to the correct database and the IP fallback matches the pre-created record
Note: Without a serial number, auto-registration is blocked by design. The device must be pre-created in Odoo so the IP fallback has a record to match against in the right database.
Each user enrolled on the biometric device has a unique ID number.
- On Device: Menu → User Mgt → All Users → select user → see ID
- In Odoo Log: Check the server log for the error message — it shows the exact Device ID Number to use
- Example log:
No employee found with Device ID Number '6666'→ Set employee's Device ID = 6666
In ADMS mode, the device clock is automatically synced from the server on every heartbeat.
- Device time = Server Time. If you manually change time on the device, it will revert within seconds.
- To change your device time, you must change your server time.
Employee Mapping Guide
Properly mapping employees is crucial for a smooth experience and to avoid duplicate records.
Recommended Workflow:
- Create Employee in the Odoo HR module first.
- Set ZK Device User ID in the employee's Biometric settings tab.
- Connect the Device to Odoo.
- Download Attendance: Now, attendance records will sync perfectly without duplicates!
Direct Connection (Recommended)
If your device is on the same local network as Odoo, use Direct connection for the smoothest experience. You can:
- Download attendance with one click
- Import employees straight from the device — no need to create them manually in Odoo first
- Control the device hardware (door, LCD, sounds)
Cloud Connection
If your Odoo is hosted online and the device is at a remote site, Cloud connection is the easiest option — the device sends data to Odoo automatically. Note:
- Attendance arrives automatically — no manual download needed
- You must create employees in Odoo and set their device ID numbers before punches are recorded
- For full device control features, consider Hybrid mode
What's New
Attendance & Salary Statement — Native Payroll Bridge
A complete two-step wizard that generates a combined attendance + salary statement for your entire workforce. Salary data is auto-filled from native Odoo payroll — wage, housing, transport, advance deductions and other components are detected automatically from salary rule codes and names.
Auto-fill priority
- Confirmed payslip for the period
(most accurate — reads actual computed lines) - Active contract + salary rules
(fixed/percentage rules computed) - Our own salary system
(fallback if native payroll is off)
Statement columns
- Basic Wage
- Housing Allowance
- Transport Allowance
- Advance & Other Deductions
- Days Present / Hours / Overtime / Late
- Net Salary (auto-computed)
hr_payroll_community
hr_payroll built-in
dotbd.payslip
Extensible by design
Adding a new column is 6 easy steps:
- Add a
Monetaryfield to the line model - Add keyword detection (e.g.
MEAL_KW) - Include it in
action_load() - Add
<field>to wizard view - Add column to Excel export
- Add
<th>/<td>to PDF
Full guide is embedded in the wizard view and PDF template as comments.
Enable in Settings
Attendances → Configuration → Settings
Toggle: Use Native Odoo Payroll for Attendance Statements
(Default: ON — auto-hides if payroll not installed)
Multi-Database ADMS Routing
When multiple Odoo databases share one server, each database now gets its own ADMS URL path (/db/database_name). Data always goes to the correct database — no more mix-ups.
Device Archive / Restore
Archive unused devices to hide them and stop ADMS pushes. Restore with one click. Archived devices are excluded from scheduled downloads automatically.
Smart ADMS Port Detection
Device page shows the exact Server Address and Server Port to paste into ZKTeco firmware — auto-detected from web.base.url. Supports 8069, 80 and 443.
Core Features
Advanced Biometric Integration
- Multi-device support (uFace 202, 800, K40, ZK4500)
- Face & fingerprint recognition
- Auto Check-in/Check-out Mode - Prevents HR mistakes
- Duplicate Punch Prevention - Configurable window
- Traditional Mode for backward compatibility
- Automatic sync with configurable intervals
- Centralized device management
- Auto employee mapping
Real-time Analytics Dashboard
- Interactive Chart.js visualizations
- Smart date filters (Today/Week/Month/Year)
- Live attendance metrics & KPIs
- Instant anomaly alerts
- Department analytics
- Export capabilities
- Employee time-off tracking
- Manual attendance monitoring
Intelligent Anomaly Detection
- Missing check-in/out detection
- Duplicate punch identification
- Attendance violation tracking
- Automated categorization
- Compliance reporting
- Issue resolution workflow
- Invalid time entry detection
- Audit trail support
Late Check-in Management
- Configurable grace periods
- Automatic penalty calculation
- 4-state approval workflow
- Payroll integration
- Late analytics dashboard
- Email notifications
- Penalty waiver system
- Department-wise tracking
Professional Attendance Sheets
- Calendar-style monthly layout
- Color-coded status indicators
- PDF & Excel export
- Individual or combined reports
- Rich statistics & rankings
- Leave & holiday integration
- Work hours calculation
- Attendance rate tracking
Comprehensive Reporting
- Summary & detailed reports
- Late check-in penalty reports
- Anomaly compliance reports
- Professional Excel export
- Print-ready PDF generation
- Custom date range filtering
- Department analytics
- Employee performance metrics
Compatible ZKTeco Device Series
All series below are fully supported via Direct (PyZK) or ADMS (Cloud) connection modes. If your device has TCP/IP networking, it works.
| Series | Models | Supported |
|---|---|---|
| uFace Series | uFace202, uFace302, uFace402, uFace600, uFace800, uFace800Plus | ✓ |
| F Series | F09, F16, F18, F19, F21, F22, F25, F26, F28, F35 | ✓ |
| MB Series | MB10, MB20, MB30, MB130, MB160, MB10-VL, MB360, MB2000, MB560-VL | ✓ |
| Mini Series | MiniAC Plus, MiniTA, MiniAC | ✓ |
| EFace Series | EFace 10 | ✓ |
| iClock Series | iClock 680, iClock 700 | ✓ |
| SpeedFace Series | SpeedFace V5, SpeedFace-V3L, SpeedFace-V5L, SpeedFace M4, SpeedFace-mini | ✓ |
| BioFace Series | ProBio Plus Series | ✓ |
| ProMA Series | ProBio Plus Series | ✓ |
| FaceDepot Series | FaceDepot-7BL, FaceDepot-4A, FaceDepot-7C | ✓ |
| K Series | K40, K40 Pro, K45, K45 Pro, K60, K999 PRO | ✓ |
| S Series | S500, S560, S880, S900, S922 | ✓ |
| HORUS Series | HORUS TL1, HORUS E1 | ✓ |
| iFace Series | iFace 900, iFace 950, iFace 302 | ✓ |
| BioPro Series | BioPro MV30, BioPro SA20 | ✓ |
Connection Requirements
- Device must support TCP/IP connection
- Device must use Standalone SDK Protocol
- Firmware should be up-to-date
- LAN (same network)
- VPN (site-to-site)
- Port Forwarding (static IP)
Getting Started Guide
1. Configure Your ZKteco Device
Access the Attendance module from the main menu
Navigate to Biometric Devices section
Click "New" to add a new device
Enter device IP, port, and password
Test connection to verify setup
2. Advanced Device Management NEW
Configuration Tab: Connection details, attendance modes (Auto/Traditional), duplicate prevention settings, and location information
Capacity & Health: Monitor user capacity, fingerprint enrollment, face templates, and attendance record storage
Live Monitoring: Real-time attendance capture settings with instant notifications and event statistics
Messages & Audio: LCD message customization, welcome/goodbye messages, and audio feedback with 55+ voice options
Door Control: Remote door unlock, lock status monitoring, and configurable unlock duration with security warnings
Users Tab: Sync employees to device, backup biometric templates, verify employee data, and automatic enrollment
Status Bar: Quick overview of device status, attendance records count, enrolled users, and backup templates
3. Attendance Overview & Working Schedules
View real-time attendance records and monitoring
Configure working schedules for employees
Assign schedules and link ZK User IDs
4. Attendance Settings & Rules
Configure tolerance time and validation rules
Setup late check-in penalties and grace periods
Configure automated cron jobs and actions
5. Analytics Dashboard
Interactive charts and real-time KPIs
Comprehensive attendance statistics
Department-wise attendance analysis
Employee Time Off & Manual Entries: Track leave dates, monitor manual attendance with missing check-out alerts
5b. Attendance Dashboard — See Everything at a Glance
A live, interactive attendance view built right into your Odoo. No reports to run — just open the dashboard and instantly know who is in the office, who is late, who is absent, and who is on leave — all in one screen.
The full Attendance Dashboard — today's numbers, monthly calendar, filters, and employee details all in one place
Today's Overview Cards
At the very top, four cards instantly show you how many employees are total, how many are present, absent, and on leave — right now, today. When late penalties are enabled, two extra cards appear showing today's late count and total fine amount.
One-Click Status Filters
Click Present, Absent, Late, or On Leave buttons to instantly show only the employees matching that status. The count on each button always reflects today's numbers. Click again to clear the filter.
Full Monthly Calendar
See every employee's attendance for the entire month in a scrollable grid. Each day shows a colour-coded status: green check for present, red A for absent, amber check for late, L for leave, W for weekend, and H for public holiday. Summary totals appear at the end of each row.
Click Any Employee for Their Summary
Click any employee row to highlight it and reveal a personal summary card showing their exact monthly counts for Present, Absent, Leave, Weekend, Holiday, and Late days. Click the same row again — or the close button — to dismiss it.
Top Rankings in One Click
Four sort buttons let you instantly re-order the list: Top Present puts the most-present employees first, Top Absent shows who missed the most days, Top Late surfaces the most frequently late arrivals, and Top Leave highlights who took the most time off.
Role-Based Access
Managers and HR officers see the full team. Regular employees who open the dashboard see only their own attendance — no one else's data is ever visible to them. Filters and sort buttons work the same way for everyone within their allowed scope.
6. Anomaly Detection & Analysis
Automatic anomaly identification
Detailed anomaly breakdown
Statistical analysis of issues
Compliance and audit reports
7. Reports & Exports
Multiple report generation options
Custom date range selection
Advanced filtering options
Visual anomaly trends
Excel export functionality
Calendar-style attendance view
Comprehensive daily breakdown
Monthly attendance summary
What's New in This Version
Auto Check-in/Check-out Mode RECOMMENDED
- Intelligent Processing: Automatically determines check-in/check-out based on last attendance
- Prevents HR Mistakes: Ignores device punch type completely
- How it works: First punch → Check-in, Second → Check-out, alternates automatically
- Zero Configuration: No device setup needed
Real-Time Live Capture
- Instant attendance capture as events occur
- No more polling delays
- Immediate notifications to relevant users
- LCD and audio feedback triggered automatically
Device Health Monitoring
- Track firmware version and device info
- Monitor storage capacity and usage
- User and biometric template statistics
- Network information tracking
Door Access Control
- Remote door unlock from Odoo
- Configurable unlock duration
- Lock status monitoring
- All actions logged in chatter
Intelligent Time Sync & Auto-Correction ENHANCED
- 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 setting
- 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 exactly which timezone the device is running in
Identity Protection NEW
- 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
Multi-Device Global Sort NEW
- Two-Phase Download: All devices downloaded first, then all punches processed together in true chronological order
- Download Button Downloads All: Clicking Download on any device automatically downloads all devices — no need to click each one
- No More Duplicate Records: Employees registered on multiple devices no longer get double attendance records
- All Modes Supported: Works correctly for Auto, Auto Per Day, Traditional, and Traditional Per Day
Odoo Punch Type Visibility NEW
- New Column in Attendance Analysis: "Odoo Punch Type" shows whether the module processed a punch as Check In or Check Out — separate from the device's reported punch type
- Chronological Fix: Punches now always processed in time order — fixes the bug where check-out was recorded before check-in
- Full Traceability: Every raw punch record now links directly to its generated hr.attendance record
- Live Capture UTC Fix: Live capture timestamps now correctly converted from device local time to UTC before storage
Import Employees from Device NEW
Got a device full of enrolled staff but no employees in Odoo yet? Now you can pull the entire user list directly from your biometric device and import them into Odoo's employee directory in seconds — no manual data entry.
- Preview before importing — see every person on the device with their name and ID before making any changes
- Smart status detection — already-linked employees are shown as "Already in Odoo" so you never create duplicates
- Selective import — tick only the people you want to add, or use "Select All New" to grab everyone at once
- Available for Direct connection — works when your device is on the same network as Odoo
Attendance UI Preferences NEW
Every team works differently. Now you can configure exactly how the Attendance module looks and behaves for your company — right from Settings, no developer needed.
- Choose your default landing page — pick whether users land on our custom Dashboard (today's stats, monthly calendar, filters) or Odoo's Overview list when they open the Attendance module
- Choose your default overview view — open the Overview page in List view (classic table) or Gantt view (timeline) by default
- Company-wide setting — applies to all users, takes effect immediately on next page load
Enterprise Features
Integration & Automation
- Time Off (hr_holidays) integration
- Public holidays detection
- Working calendar respect
- Overtime tracking
- Payroll deductions (optional)
- Automated scheduled actions
Security & Compliance
- Multi-company support
- Role-based access control
- Complete audit trail
- Data security & encryption
- Compliance reporting
- GDPR ready
What's Included
Complete Package
- Full source code with OPL-1 license
- Comprehensive documentation
- Installation guide
- Sample data for testing
15 Days Support Included
- Installation guideline & step-by-step setup help
- Bug fixes during support period
- Installation support (hands-on if needed)
- Query & usage questions answered
- AnyDesk / online meeting support available
Built-in Payroll & Native Payroll Bridge
Odoo Community Edition does not come with a payroll module. We built one — directly inside this suite — so Community users can manage salaries, payslips & deductions without any extra app. And if you're on Enterprise or have hr_payroll_community installed, our Attendance Statement wizard connects directly to your existing payroll setup.
Works with Odoo Community & Enterprise. One module, runtime detection — no separate version needed.
Auto Payslips
Salary Templates
Auto Deductions
Payment Tracking
PDF & Excel
Festive Bonus
Attendance Statement ★
To enable: go to Settings → Users, open a user, and tick ZKTeco Payroll Access under ZK Attendance permissions.
Frequently Asked Questions
- VPN (Recommended): Set up a Site-to-Site VPN between your office network and your Cloud Server.
- Port Forwarding: Forward the device port (default 4370) on your office router to the public internet (requires Static IP at office).
Compatible models include: uFace 202, uFace 800, iClock series, K40, K14, MB10VL, F18, UA300, ZK4500, and more.
Simple test: If your device works with the old ZKTime.net 3.0 software, it will work with this module!
Support & Resources
Need help? We're here for you!
Dot BD Solutions Limited
Copyright © 2025 Dot BD Solutions Limited. All rights reserved.
Author: Rafiur Rahman Rafit
Licensed under OPL-1
License Notice (OPL-1): This module is protected under the Odoo Proprietary License v1.0. You may install and use it, but modifying, copying, or redistributing the source code is not permitted without prior written permission from Dot BD Solutions Limited. If the module source code is modified without our knowledge, support will not be provided for the modified version. To request a modification license or custom development, please contact us before making any changes — support@dotbdsolutions.com or WhatsApp: +880 1810-025181
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
Highly recommended for organisation looking for an efficient and dependable attendance management system.
We have successfully implemented the HR Attendance ZKTeco Suite, and it has proven to be a highly reliable and well-structured solution for attendance management. The system integration is smooth and stable, the interface is user-friendly, and the overall workflow has significantly reduced manual effort within our HR operations.
What truly stands out is the vendor’s exceptional after-sales service. Their support team is not only professional and responsive but also proactive in addressing queries and ensuring seamless operation.
We have implemented HR Attendance ZKTeco Suite and it has proven to be a reliable and well-structured solution for attendance management. The integration is stable, the interface is clear, and the overall workflow significantly reduced manual effort in HR operations. The vendor’s support is professional and responsive. Highly recommended
dear ,
can support any Zk Device
Cinco estrellas
El módulo funciona de maravilla, pero lo mejor ha sido el soporte técnico. Respondieron mis dudas rápidamente y me ayudaron con la configuración inicial. Da gusto trabajar con desarrolladores así.
How works ?
Hi !
this module works whit odoo onPremise ? i have mi instance in amazon whit a public IP static, mi devices only in local net ... works ?
How works ?
Yes, it works, but you need a network configuration. Since your Odoo instance is on the Cloud (AWS) and devices are on a local network, Odoo cannot "see" the devices by default because the module initiates the connection from the server to the device (Active Connection). Requirements:
How works ?
Hi !
this module works whit odoo onPremise ? i have mi instance in amazon whit a public IP static, mi devices only in local net ... works ?
Compatibilidad ZKTECO
Es compatible con el modelo
Compatibilidad ZKTECO
Yes, it is generally compatible. The
is a Visible Light device that typically supports the standard ZK protocol (TCP/UDP on port 4370) alongside the newer push protocol.
can you share us a demo?
can you share us a demo?
You can respond with your standard demo process, e.g., "Please request a demo on our website dotbdsolutions.com or contact us directly."