/
Free Consultation
All articles
Odoo & ERP4 min read

Odoo 20 HR: Time Types, Biometric Attendance and More

Odoo 20 merges leave types into one list of Time Types and connects fingerprint attendance machines natively. What HR and payroll teams need to know.

By Tim Keyklik

This is part 5 of our Odoo 20 series, for HR managers, payroll administrators and the operations leads who manage shift teams. Two changes stand out: leave and paid time now share one setup, and biometric attendance machines connect natively.

One list for leave and work time: "Time Types"

In Odoo 19, HR maintained two related lists:

  • Leave types (annual leave, sick leave, unpaid leave and so on), used when employees request time off, and
  • Work-entry types, used by payroll to decide how each period of time is paid.

The two had to be linked and kept in step by hand. A mismatch meant an approved leave could be paid the wrong way.

In Odoo 20 they are one list, labelled "Time Types". A single setting now describes both how an absence is requested and approved, and how it feeds payroll.

What it means for you: fewer places to configure, and fewer payroll errors caused by leave and pay rules drifting apart. During the upgrade, review the merged list carefully. Duplicates or odd names that were harmless in Odoo 19 will now be visible to everyone who requests leave.

Overtime configuration has changed

The overtime rules from Odoo 19 have been replaced by a new set of time rules. Treat overtime as something to re-check, not assume: confirm in your Odoo 20 test database that overtime is calculated the way your company policy and Indonesian labour rules require.

Biometric attendance, built in

Many Indonesian offices, factories and outlets already clock in on fingerprint or face-recognition machines. Until now, getting that data into Odoo usually meant a third-party add-on or a manual export.

Odoo 20 adds native biometric attendance integration, with device support for brands including ZKTeco, eSSL and Mantra.

What this means in practice:

  • Clock-in and clock-out data reaches Odoo without re-keying.
  • Attendance, leave and payroll work from the same source.
  • Lateness and overtime can be reviewed promptly instead of at month-end.

Before you rely on it, confirm your exact device model and connection method with your partner. "Supported brand" does not always mean "every model".

Employee types and offboarding

  • Contract types became employee types. The classification of staff (for example permanent, contract or intern) now sits on the employee rather than on a separate contract-type list.
  • A departure record. Odoo 20 adds a dedicated record for employee departures, giving offboarding (last working day, reason, handover) a structured place.
  • Remote-work locations (where an employee works on which day) are now part of core HR instead of a separate module.

Payroll localisations

Odoo 20 adds payroll localisations for several countries, including the Philippines, Iraq, Kuwait, Oman and Uzbekistan. Indonesia is not on that list. Indonesian payroll (PPh 21, BPJS Kesehatan and BPJS Ketenagakerjaan) needs its own local configuration or module. Factor that into upgrade plans if you run payroll in Odoo.

What to check before upgrading

  1. Time Types: review the merged list for duplicates and naming, and test a few leave requests end to end through payroll.
  2. Overtime: recreate and test your overtime policy in the new time rules.
  3. Attendance devices: inventory your machines (brand, model, location) and confirm how each one connects.
  4. Indonesian payroll: check that your local payroll setup is ready for Odoo 20 before you move HR.
  5. Employee classification: check that contract types converted sensibly to employee types.

Moving HR and payroll to Odoo 20? See our services or contact the Keyklik team.

The Odoo 20 series

  1. What's New for Your Business
  2. Point of Sale for Restaurants and Retail
  3. Inventory and Manufacturing
  4. Accounting and Purchasing
  5. HR and Attendance (this article)
  6. AI Agents and MCP
  7. Planning the Upgrade

Note (DYOR — Do Your Own Research): This article is based on our own comparison of the Odoo 19 and Odoo 20 source code, not on Odoo's official release notes. Leave, overtime, attendance and payroll are governed by Indonesian labour and tax regulations (including PPh 21 and BPJS) and by your company regulations. Biometric data is personal data under the PDP Law. Verify against official sources (Kemnaker, DJP, BPJS, Odoo documentation) and consult your HR, legal and tax advisors before changing your setup.

#odoo#odoo-20#hr#attendance#leave#payroll

Ready to start your digital transformation?

Talk to our team about your Odoo, ERP, or business integration needs.