What a Light User is (official definition)
The pricing plan page defines it in one sentence. A Light User is counted as:
“any active employee record (from the human resources App) not linked to an active non-portal user account”
Source: odoo.com/pricing-plan
In plain terms: anyone with an HR record who does not have a paid login. Kiosk clock-in staff count. HR-only records for hourly workers count. Seasonal staff on the roster but without a login count.
Confirmed Light User rates
| Region | Price |
|---|---|
| United States | $8.90 |
| European Union | €7.90 |
| United Kingdom | £7.00 |
| Australia | A$12.90 |
| India | ₹195 |
| Germany, France, Spain, Italy | €7.90 |
Rates above are confirmed on the public pricing plan page and in partner sources. For countries outside this list, Odoo sells Light Users through an advisor quote. Fall back to the US rate as a planning estimate.
What a Light User can access
- My Time Off (view and request own leave)
- My Expenses (submit own expenses)
- My Attendances (clock in and out)
- My Payslips (view own records)
- My Appraisals, My Referrals, My Planning
- Point of Sale (operator)
- Manufacturing Shop Floor
- Inventory Barcode operator
- Field Services (operator)
- Knowledge (read-only)
What a Light User cannot do
- Approve leave requests (requires Time Off officer rights)
- Create or edit timesheets
- Access Sales, Purchase, or CRM
- Access Project app
- Access Accounting or Invoicing
- Any write access outside the self-service scope above
The counting rule (which is the whole story)
Every active employee record without a non-portal login counts as a Light User. That includes kiosk-only clock-in staff, HR-only records for workers who never log in, and anyone on the roster for payroll who does not touch the system.
This only applies to v20 customers who sign Enterprise Subscription Agreement v13, effective September 24, 2026. Customers on v18 and v19 continue under the previous agreement with no Light User count.
Partner code reviews of hr/models/update.py suggest the Light User count is enforced automatically on the daily database check-in. We have not seen Odoo document this specific mechanism publicly, so we are flagging it as a partner report rather than confirmed policy.
Why this is a cost increase for most teams
The Light seat is new. Before Agreement v13, employees without a login paid nothing. The HR record was free. Agreement v13 added those records to the invoice at the Light rate. For any team with a large kiosk or hourly workforce, that is net new spend.
Worked example: 50-employee manufacturer
10 operators with Standard logins. 40 shop-floor staff who clock in at a kiosk and never log in otherwise.
| Scenario | Seats | Monthly |
|---|---|---|
| Pre-v20 (Agreement v12) | 10 Standard users | €249 per month |
| Post-v20 (Agreement v13) | 10 Standard + 40 Light | €565 per month |
Net impact: €249 goes to €565. A 2.3x increase in Enterprise spend. The 40 kiosk records that cost nothing yesterday now cost €316 per month combined.
Who actually benefits
Teams that previously paid the full Standard rate for staff who only use self-service features. Example: a professional-services firm with 100 Standard seats, where 60 users only ever touch Time Off and Expenses. Reclassifying those 60 to Light saves (€24.90 minus €7.90) times 60, which is €1,020 per month.
If your current bill looks like that, Agreement v13 is a saving. If your bill looks like the manufacturer above, it is a cost increase. Most organizations with any kind of shift-based or kiosk workforce fall in the second group.
If you self-host on OEC.sh
OEC.sh is a deployment platform. Our product does not change Odoo's licensing. Your Enterprise subscription bills directly to Odoo, and Agreement v13 applies the same way it would on any other hosting path.
Two practical notes for teams running v20 on their own cloud:
- Archive departed-staff HR records before renewal. Agreement v13 only counts active records. Setting ex-employees to archived removes them from the count. This is standard hygiene regardless of pricing.
- Factor the Light count into TCO before you sign. If you are evaluating a move from v18 or v19 to v20, run the Light User math first. The pricing calculator has a seat input you can split between Standard and Light.
One infrastructure note: Light Users do count for server sizing. They log in and consume RAM like any other user. Worker count and server tier math should use total active users, not just Standard seats.
What we are not saying
Three claims we have seen in partner channels that we are not stating as fact yet.
We assume Odoo.sh bills Light Users separately from the $24.90 Enterprise seat bundle. Odoo has not confirmed this on the public pricing page. Pending clarification.
Odoo publishes US, EU, UK, AU, and IN rates. For other countries, Odoo sells Light Users through an advisor quote. We are not inventing a rate.
Flagged separately in our Odoo 20 release post. Not yet visible on the public configurator at the time of writing.
The dates
| Item | Reference |
|---|---|
| Agreement v13 effective | September 24, 2026 |
| Confirmed Light User rates | Published on odoo.com/pricing-plan |
| Portal User tier | Unchanged |
Model your real Odoo 20 bill
Split your headcount into Standard logins and Light-only records, then compare against v18 or v19. The calculator surfaces infrastructure, Enterprise, and Light User lines separately.
Related reading
Sources
- odoo.com/pricing-plan (primary: Light User definition and rates)
- odoo.com/odoo-20-release-notes
- Partner guide: trobz.com/insights/odoo-20-light-user
- Partner guide: iventureteam.com/blog/odoo-20-light-user
- Partner guide: bobbybernier.co.uk/blog/odoo-20-licensing-pricing