Access Control

Odoo 1
v 12.0 Third Party 1189
Download for 12.0 series Deploy on
You bought this module and need support ? Click here !
Technical name smile_access_control
Read description for v 11.0 v 10.0 v 9.0 v 8.0 v 7.0 v 6.1 v 6.0

Access Control

License: AGPL-3 Smile-SA/odoo_addons

This module allows to manage users' rights using profiles.

Odoo's groups are a coherent set of rules that functionally consistent. Profiles allow you to combine several groups and effectively tailor users' access to each user.

Here an exemple :

  • accounting group : create an invoice, modify an invoice, cancel an invoice
  • business develloper group : create a lead, modify data of lead, close a deal

The CEO of an SME will probably belong to both groups. Profils allows to combine the both groups in one profil.

This is an alternative way to manage users rights by functional profiles.

Basically, a « profile » is a fictive user (res.users) tagged as a profile.

It means that like before (with the basic rules of Odoo), you can add groups to your profile.


  • You can associate a profile to created users.
  • You can add users by profile.
  • You can set fields to update for linked users.
  • You have the choice to update or not in write mode for associated users, with field 'Update users' in profiles.

Table of contents


To configure this module, you need to:

  • Go to new menu Settings > Users & Companies > User Profiles and create the profiles you need.


  • Go to new menu Settings > Users & Companies > Users and create a new user, choose the profile and after saving you will have user access rights set.


To test your profile, you need to set him as « active », which will be disabled afterwards at the next update.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

GDPR / EU Privacy

This addons does not collect any data and does not set any browser cookies.



  • Smile SA


  • Corentin Pouhet-Brunerie
  • Matthieu Choplin


This module is maintained by the Smile SA.

Since 1991 Smile has been a pioneer of technology and also the European expert in open source solutions.

Smile SA

This module is part of the odoo-addons project on GitHub.

You are welcome to contribute.

Please log in to comment on this module

Please choose a rating from 1 to 5 for this module.
Giving error after uninstalling
by on

Odoo displays the following error after uninstalling this addon, please, how do I resolve this? Odoo Server Error Traceback (most recent call last): File "/odoo24/odoo24-server/odoo/", line 654, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/odoo24/odoo24-server/odoo/", line 312, in _handle_exception raise pycompat.reraise(type(exception), exception, sys.exc_info()[2]) File "/odoo24/odoo24-server/odoo/tools/", line 87, in reraise raise value File "/odoo24/odoo24-server/odoo/", line 696, in dispatch result = self._call_function(**self.params) File "/odoo24/odoo24-server/odoo/", line 344, in _call_function return checked_call(self.db, *args, **kwargs) File "/odoo24/odoo24-server/odoo/service/", line 97, in wrapper return f(dbname, *args, **kwargs) File "/odoo24/odoo24-server/odoo/", line 337, in checked_call result = self.endpoint(*a, **kw) File "/odoo24/odoo24-server/odoo/", line 939, in __call__ return self.method(*args, **kw) File "/odoo24/odoo24-server/odoo/", line 517, in response_wrap response = f(*args, **kw) File "/odoo24/odoo24-server/addons/web/controllers/", line 904, in search_read return self.do_search_read(model, fields, offset, limit, domain, sort) File "/odoo24/odoo24-server/addons/web/controllers/", line 926, in do_search_read offset=offset or 0, limit=limit or False, order=sort or False) File "/odoo24/odoo24-server/odoo/", line 4509, in search_read records = or [], offset=offset, limit=limit, order=order) File "/odoo24/odoo24-server/odoo/", line 1555, in search res = self._search(args, offset=offset, limit=limit, order=order, count=count) File "/odoo24/odoo24-server/odoo/addons/base/models/", line 421, in _search access_rights_uid=access_rights_uid) File "/odoo24/odoo24-server/odoo/", line 4045, in _search query = self._where_calc(args) File "/odoo24/odoo24-server/odoo/", line 3836, in _where_calc e = expression.expression(domain, self) File "/odoo24/odoo24-server/odoo/osv/", line 670, in __init__ self.parse() File "/odoo24/odoo24-server/odoo/osv/", line 851, in parse raise ValueError("Invalid field %r in leaf %r" % (left, str(leaf))) ValueError: Invalid field 'is_user_profile' in leaf ""