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. Human Resources
  3. Zkteco, eSSL, Cams Biometrics Integration Module with HR Attendance v 17.0
  4. Sales Conditions FAQ

Zkteco, eSSL, Cams Biometrics Integration Module with HR Attendance

by Cams Biometrics https://www.camsunit.com
Odoo
v 17.0 Third Party 4929
Download for v 17.0 Deploy on Odoo.sh
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)
• Employees (hr)
• Discuss (mail)
Lines of code 1012
Technical Name odoo-biometric-attendance
LicenseAGPL-3
Websitehttps://www.camsunit.com
Versions 13.0 14.0 15.0 16.0 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)
• Employees (hr)
• Discuss (mail)
Lines of code 1012
Technical Name odoo-biometric-attendance
LicenseAGPL-3
Websitehttps://www.camsunit.com
Versions 13.0 14.0 15.0 16.0 17.0 18.0 19.0

This module seamlessly integrates biometric attendance machines with Odoo HR Attendance. Punch data is pushed directly from your devices into Odoo in real time — no manufacturer software, no middleware, no manual exports. It works with every biometric machine that exists globally, from brand-new cloud-capable terminals to decade-old legacy hardware on air-gapped factory networks.

1. 100% Global Device Compatibility

Every biometric device on the planet is covered through two deployment architectures:

NATIVE PUSH

Real-time • Direct • Full API

For devices verified at developer.camsbiometrics.com. The device pushes punch data directly to Odoo over HTTPS the moment it happens — sub-second latency, no intermediary required.

HYBRID PUSH

Legacy • Air-gapped • Any Network

For all other devices. Punch data is collected via SDK or database connector — through a public IP or a push service on a local computer — and forwarded to Odoo through the API.

One API. Any Device. Any Network. Any ERP. — Read the full architecture guide: Universal Deployment Guide → (https://forum.camsbiometrics.com/universal-deployment-100-global-device-compatibility-for-biometric-attendance-systems/)

2. Real-time Punch Sync

Attendance and punch data is instantly pushed from biometric devices directly into the Odoo HR Attendance module. Records appear in Odoo the moment an employee checks in or out — accurate, up-to-date, with zero delay.

3. Zero Extra Software

No manufacturer software. No ZKTeco ADMS server. No third-party sync tools. Communication happens entirely through a secure HTTP API. Simply connect your biometric device to the internet and punches are recorded directly in Odoo — a truly hassle-free setup.

4. Offline Punch Synchronization

If your biometric device loses connectivity, punches are stored locally on the device or intermediary service. The moment connectivity is restored, all queued records sync to Odoo automatically in chronological order — no manual intervention, no data loss, ever.

5. Customizable and Scalable

The module can be customized to receive user and biometric information from hardware, offering flexibility to tailor it to your specific HR workflows. It scales from a single office to enterprise-wide deployments spanning thousands of devices across hundreds of locations globally.

6. API Activation and License

Every device requires two things to communicate through the API — regardless of whether it uses Native Push or Hybrid Push:

  • Native Push devices — API Activation (one-time, no expiry) + API License (1 year, multi-year, or lifetime)
  • Hybrid Push devices — Hybrid Push Setup (one-time) + API License (1 year, multi-year, or lifetime)

There is no separate integration charge for using this Odoo module — only the per-device charges above apply. For a full breakdown of the pricing model, read the API Activation and License Guide → (https://forum.camsbiometrics.com/api-activation-and-api-license-understanding-the-charges-for-biometric-device-integration/)

Supported Device Brands

Includes — but is not limited to:

Cams Biometrics ZKTeco eSSL / Matrix Comsec Suprema Hikvision Anviz Morpho / IDEMIA Virdi Mantra Nitgen Realtime / Startek Biomax Secugen Time Watch + hundreds more

Works In Every Environment

Retail and Branch Networks

Devices push directly to Odoo cloud. Real-time shift visibility across all locations.

Manufacturing and Air-gapped Networks

Hybrid Push bridges isolated OT networks — devices need no internet access.

Healthcare and Regulated Industries

HIPAA-compliant deployments — biometric templates stay fully on-premise.

Corporate Multi-site

Manage thousands of devices across global offices from a single Odoo instance.

Streamline your attendance management by eliminating manual exports, third-party sync tools, and vendor lock-in. Whether you have 5 devices or 50,000 — across one office or one hundred countries — this module keeps Odoo HR Attendance accurate, real-time, and fully automated.

For Customization and Developer Support

Cams Biometrics — www.camsbiometrics.com



support@camsbiometrics.com | WhatsApp +91-98409-41006

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, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
  • Ratings
  • Discuss
by
Swetha
on 5/1/25, 5:04 AM

What truly impressed us about Cams Biometrics was two minutes integration with Odoo. There was no need for custom development or complicated setup. The biometric attendance data started syncing seamlessly in real time with our Odoo HR and payroll modules, which significantly reduced manual work and improved data accuracy. It’s clear that the integration has been thoughtfully designed for real business needs. Our HR processes are now faster, more reliable, and far more efficient. We’re very satisfied with the performance and support from the Cams Biometrics team.


by
duymanhutc@gmail.com
on 9/25/25, 5:06 AM

Hello, does this module support the ZKTeco ZGT6 or G5 models?

Re:
by
Ramshri
on 9/25/25, 6:21 AM Author

Yes. It supports all the machines that is verified at https://developer.camsbiometrics.com/


ngak bisa digunakan
by
Dinasrul
on 11/29/24, 4:50 AM



hi, this device are compatible ? ICLOCK260/ID/AD
by
Orlando Curieles
on 10/16/24, 1:46 PM


Re: hi, this device are compatible ? ICLOCK260/ID/AD
by
Ramshri
on 11/29/24, 9:21 AM Author

Yes it is one of most supported device. 

Pleaes refer to https://forum.camsbiometrics.com/how-to-integrate-zkteco-biometric-attendance-system-with-cloud-application/ which helps how you can confirm if your device has API supportability 


by
kalyan
on 9/11/24, 10:06 AM

Hi,

My name is Pavankalyan, and I am currently working on integrating an eSSL biometric device with Odoo. I have been exploring your module for this integration, and I would greatly appreciate some clarification on a few points:

  1. Module Usage:
    Could you please provide detailed instructions or documentation on how to effectively use your module for integrating the eSSL device with Odoo? Any specific configurations or prerequisites that need to be taken care of would be extremely helpful.
  2. Service Tag ID:
    I need to obtain the service tag ID from the eSSL device. Could you guide me on how to retrieve this ID? Is there a specific API endpoint or command that I should use to access this information?
  3. Authorization Token:
    I understand that an authorization token is required to access biometric data from the eSSL device. Could you please explain the process of generating or retrieving this token? If there are specific steps or security protocols that need to be followed, I would appreciate a detailed explanation.
  4. Additional Considerations:
    If there are any additional considerations or best practices that I should be aware of while integrating the eSSL device with Odoo, please do share them.

Please feel free to reach out to me at pavankalyan.p@ahex.co.in with any further questions or if you need more information from my end.

Thank you in advance for your assistance. I look forward to your guidance.

Best regards,

Pavankalyan

pavankalyan.p@ahex.co.in

Re:
by
Ramshri
on 9/12/24, 3:42 AM Author

Thank you Mr Pavan. Our sales team from +91-98409-41006 will contact you. 


by
AITLAMSALI Alaa
on 7/8/24, 8:46 AM

- Does we need to buy the Biotime Software with the Devices ??


- Are you using SQL to connect or API ? because with the API supplier told me I need to buy the Biotime native software with it which is expensive .

- If we have Odoo on cloud and the device in local network how we can connect ?

Thanks for your answer


Sincerely

Re:
by
Ramshri
on 7/9/24, 12:38 PM Author

No need of biotime software and we dont use the sql or software which comes along with the biometric machine. We only only the API available at https://camsunit.com/application/biometric-web-api.html .

And our solution works only in cloud. If your odoo exist in local network, our module will not help.


You can reach us on support@camsunit.com for more specific support. 


eror install odoo 17 enterprise on premiss
by
mohamad
on 5/11/24, 4:50 AM

Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/http.py",line 613, in parse self._tag_root(de) File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 556, in _tag_root f(rec) File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 567, in _tag_root raise ParseError(msg) from None # Restart with "--log-handler odoo.tools.convert:DEBUG" for complete traceback odoo.tools.convert.ParseError: while parsing /usr/lib/python3/dist-packages/odoo/addons/odoo-biometric-attendance/views/views.xml:3 Error while validating view near:

Field "machine_id" does not exist in model "hr.attendance" View error context: {'file': '/usr/lib/python3/dist-packages/odoo/addons/odoo-biometric-attendance/views/views.xml', 'line': 3, 'name': 'inherited.attendance.form.view', 'view': ir.ui.view(5050,), 'view.model': 'hr.attendance', 'view.parent': ir.ui.view(1853,), 'xmlid': 'inherited_attendance_form_view'} The above server error caused the following client error: RPC_ERROR: Odoo Server Error at makeErrorFromResponse (http://192.168.10.207:8069/web/assets/ad4616e/web.assets_web.min.js:2866:163) at XMLHttpRequest. (http://192.168.10.207:8069/web/assets/ad4616e/web.assets_web.min.js:2870:13) Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/http.py", line 1732, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 133, in retrying result = func() File "/usr/lib/python3/dist-packages/odoo/http.py", line 1759, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/usr/lib/python3/dist-packages/odoo/http.py", line 1960, in dispatch result = self.request.registry['ir.http']._dispatch(endpoint) File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_http.py", line 235, in _dispatch response = super()._dispatch(endpoint) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_http.py", line 207, in _dispatch result = endpoint(**request.params) File "/usr/lib/python3/dist-packages/odoo/http.py", line 722, in route_wrapper result = endpoint(self, *args, **params_ok) File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/dataset.py", line 28, in call_button action = self._call_kw(model, method, args, kwargs) File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/dataset.py", line 20, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/usr/lib/python3/dist-packages/odoo/api.py", line 466, in call_kw result = _call_kw_multi(method, model, args, kwargs) File "/usr/lib/python3/dist-packages/odoo/api.py", line 453, in _call_kw_multi result = method(recs, *args, **kwargs) File "", line 2, in button_immediate_install File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 75, in check_and_log return method(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 459, in button_immediate_install return self._button_immediate_function(type(self).button_install) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 583, in _button_immediate_function registry = modules.registry.Registry.new(self._cr.dbname, update_module=True) File "", line 2, in new File "/usr/lib/python3/dist-packages/odoo/tools/func.py", line 87, in locked return func(inst, *args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 113, in new odoo.modules.load_modules(registry, force_demo, status, update_module) File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 480, in load_modules processed_modules += load_marked_modules(env, graph, File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 364, in load_marked_modules loaded, processed = load_module_graph( File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 227, in load_module_graph load_data(env, idref, mode, kind='data', package=package) File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 71, in load_data tools.convert_file(env, package.name, filename, idref, mode, noupdate, kind) File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 627, in convert_file convert_xml_import(env, module, fp, idref, mode, noupdate) File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 693, in convert_xml_import obj.parse(doc.getroot()) File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 613, in parse self._tag_root(de) File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 556, in _tag_root f(rec) File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 567, in _tag_root raise ParseError(msg) from None # Restart with "--log-handler odoo.tools.convert:DEBUG" for complete traceback odoo.tools.convert.ParseError: while parsing /usr/lib/python3/dist-packages/odoo/addons/odoo-biometric-attendance/views/views.xml:3 Error while validating view near: Field "machine_id" does not exist in model "hr.attendance" View error context: {'file': '/usr/lib/python3/dist-packages/odoo/addons/odoo-biometric-attendance/views/views.xml', 'line': 3, 'name': 'inherited.attendance.form.view', 'view': ir.ui.view(5050,), 'view.model': 'hr.attendance', 'view.parent': ir.ui.view(1853,), 'xmlid': 'inherited_attendance_form_view'} The above server error caused the following client error: RPC_ERROR: Odoo Server Error at makeErrorFromResponse (http://192.168.10.207:8069/web/assets/ad4616e/web.assets_web.min.js:2866:163) at XMLHttpRequest. (http://192.168.10.207:8069/web/assets/ad4616e/web.assets_web.min.js:2870:13)
Re: eror install odoo 17 enterprise on premiss
by
Ramshri
on 5/13/24, 12:20 PM Author

Hi.

It has been updated. Please check now.


Thanks



Not able to activate
by
Mehmet Muhanna
on 3/6/24, 8:21 AM
Traceback (most recent call last):
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\http.py", line 1765, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\service\model.py", line 133, in retrying
    result = func()
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\http.py", line 1792, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\http.py", line 1996, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\addons\base\models\ir_http.py", line 222, in _dispatch
    result = endpoint(**request.params)
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\http.py", line 722, in route_wrapper
    result = endpoint(self, *args, **params_ok)
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\addons\web\controllers\dataset.py", line 28, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\addons\web\controllers\dataset.py", line 20, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\api.py", line 468, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\api.py", line 453, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "", line 2, in button_immediate_install
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\addons\base\models\ir_module.py", line 75, in check_and_log
    return method(self, *args, **kwargs)
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\addons\base\models\ir_module.py", line 466, in button_immediate_install
    return self._button_immediate_function(self.env.registry[self._name].button_install)
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\addons\base\models\ir_module.py", line 590, in _button_immediate_function
    registry = modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "", line 2, in new
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\tools\func.py", line 87, in locked
    return func(inst, *args, **kwargs)
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\modules\registry.py", line 113, in new
    odoo.modules.load_modules(registry, force_demo, status, update_module)
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\modules\loading.py", line 480, in load_modules
    processed_modules += load_marked_modules(env, graph,
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\modules\loading.py", line 364, in load_marked_modules
    loaded, processed = load_module_graph(
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\modules\loading.py", line 185, in load_module_graph
    load_openerp_module(package.name)
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\modules\module.py", line 394, in load_openerp_module
    __import__(qualname)
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\addons\odoo-biometric-attendance\__init__.py", line 4, in 
    from . import models
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\addons\odoo-biometric-attendance\models\__init__.py", line 4, in 
    from . import models
  File "C:\Program Files\Odoo 17.0.20240222\server\odoo\addons\odoo-biometric-attendance\models\models.py", line 5, in 
    from odoo.exceptions import Warning
ImportError: cannot import name 'Warning' from 'odoo.exceptions' (C:\Program Files\Odoo 17.0.20240222\server\odoo\exceptions.py)

The above server error caused the following client error:
RPC_ERROR: Odoo Server Error
    at makeErrorFromResponse (http://erp.mk3.com:8069/web/assets/ca2e8e9/web.assets_web.min.js:2874:163)
    at XMLHttpRequest. (http://erp.mk3.com:8069/web/assets/ca2e8e9/web.assets_web.min.js:2878:13)



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