Independent product studio · Swedenhello@karelialabs.com

Guide

Is every employee in Odoo 20 a Light User? How to count them and cut the bill

Short answerOdoo 20 bills every active employee record without an active internal user as a Light User. How the rule works, what the Point of Sale change means, how to count the records yourself and what you can archive.

Updated

If you run Odoo 20 with the Employees app, you may have noticed that people who never log in still cost money. This guide explains the rule, shows how to count the affected records without any extra software and says what you can safely clean up. It is a technical guide, not legal advice: your contract with Odoo decides what you pay.

All statements about Odoo were read on odoo.com on 11 November 2026.

The short answer

Yes, in practice. On its pricing page (odoo.com/pricing) Odoo defines a Light User as an active user marked as Light, or any active employee record that is not linked to an active non-portal user account. The price shown there is 7.90 EUR per Light User and month.

An Odoo staff reply in the forum thread "Is every Employee in Odoo 20 a Light User?" spells out the consequences:

  • An employee without a user record is licensed as a Light User.
  • An employee linked only to a portal user is counted as a Light User too.
  • An employee linked to a Light or regular user is licensed by that user's type.
  • An employee who never logs in is still billed.

Archived employee records fall outside the definition, because it only covers active employees. The pricing page does not say so in words, so treat that as a reading of the definition rather than a promise.

The Point of Sale change

The same staff member added on 23 October that employees who only use the Point of Sale application are no longer counted as Light Users (forum thread on PIN-only Point of Sale employees). Odoo has not published how it recognises such an employee. In the replies read on 11 November 2026 there is no technical rule, so check with your Odoo contact before you rely on any definition, including the one used by a tool.

How much can it cost

Each counted record costs 7.90 EUR a month, which is 94.80 EUR a year. A company with 120 employee records and no users for them pays 948.00 EUR a month, 11,376.00 EUR a year, at that price. Your contract can differ: Odoo staff mention in the same thread that existing contracts are honoured until renewal, and a renewal is when this tends to show up.

Does Odoo show you the number?

The Odoo 20 community server does not show it. The server sends the number of employees without a user to Odoo when the database checks in (it is the field nbr_employees_wo_user in the Employees module), but the "My Subscription" screen in the Community build shows only the subscription code, the expiry date and credit accounts. This was checked in an Odoo 20.0 Community database (server build of 15 October 2026). Whether the Enterprise interface or the customer portal shows the count was not checked here: look at your own subscription page, and if you find it, use that number as the reference.

The rule behind the reported number is simple: active employees where the user is empty, or the user is archived, or the user is a portal user.

Count them yourself

You can do this without any module:

  1. Open Employees, and switch to the list view.
  2. Open the search options and choose Add Custom Filter.
  3. Switch to the code editor (developer mode) and paste:
["|", ("user_id", "=", False), "|", ("user_id.active", "=", False), ("user_id.share", "=", True)]
  1. The record count shown is the number of active employees Odoo counts. Multiply by the monthly price.

Prefer a ready-made list? The free app Light User Counter adds Employees > Light Users with this same rule and the reason for each record: no user, archived user or portal user only. It is read only and changes nothing. It needs Odoo.sh or your own server, because Odoo Online does not accept modules with Python files.

Add a second condition for the clean-up candidates:

  • Departed but still active: a departure date up to today, or a contract end date in the past, on records that are still active.
  • Duplicates: group by name, and look for the same work e-mail or identification number on records with different names.
  • Portal-linked: records whose user is a portal user. They are counted, so the portal user does not save you the fee.

What you can safely clean up

  • Duplicates: keep the record that has the user and the history, archive the copy. Two real people can share a name, so check before you archive.
  • Departed employees: Odoo 20 archives them itself on the "archive on" date of the departure. Records of people who left before that process existed, or whose contract simply ended, stay active until someone archives them.
  • Records you do not need in HR: if the person is only an external contact, a contact record costs nothing in this rule, according to the staff reply, which suggests contacts or a custom model instead of employees for people who never use Odoo.

Archiving is reversible, but Odoo clears links that point to an archived employee, such as manager and coach, and restoring the employee does not bring them back. Write down who reported to whom before you archive a manager.

Doing it with a tool

Karelia Labs' Light User Cost Review for Odoo 20 does this in the database: one list of counted employees with the reason, the cost per month and year at a price you set, an adjustable Point of Sale rule, archive of selected records with a log, and undo. It reports and tidies; it never touches the licence or the subscription. There is also a data-module edition without Python files for Odoo Online plans that accept data modules. Details at karelialabs.com.

Sources

  • Odoo pricing page, odoo.com/pricing, read 11 November 2026.
  • Odoo forum, "Is every Employee in Odoo 20 a Light User?", read 11 November 2026.
  • Odoo forum, "In Odoo 20 is a Pin only POS Employee a light user?", read 11 November 2026.
  • Odoo 20.0 Community server code, module hr (models/update.py), build of 15 October 2026.

FAQ

Is every employee in Odoo 20 a Light User?

In practice, yes, for active employee records. Odoo's pricing page defines a Light User as an active user marked as Light, or any active employee record that is not linked to an active non-portal user account.

Are employees who only use Point of Sale counted?

Not since 23 October, according to an Odoo staff reply in the forum. Odoo has not published how it recognises such an employee, so check with your Odoo contact before you rely on any definition.

Do archived employees count?

They fall outside the definition, because it covers active employees. The pricing page does not say so in words, so treat that as a reading of the definition rather than a promise.

Does the My Subscription screen show the number?

Not in the Odoo 20 Community build that was checked on 11 November 2026. Whether the Enterprise interface or the customer portal shows the count was not checked.

More guides

More from Karelia Labs