Enable Dark Mode!
how-read-write-create-and-delete-permissions-work-in-odoo-19.jpg
By: Abhinraj R

How Read, Write, Create, and Delete Permissions Work in Odoo 19

Functional Odoo 19 Odoo Enterprises Odoo Community

Odoo has a global authorization/user access policy that restricts access to information on a global/enterprise level. For example, as a salesperson, you cannot delete an invoice, and as an intern, you cannot change pricing. An outline manager is able at all times to access all information for their department.

The protection of all information is accomplished through four primary types of permissions/authorizations, i.e., Read, Write, Create & Delete.

The Four Types of Permissions

1. READ - Grants a user

The right to view records, see individual record details, produce reports, and export records.

Will not allow a user: A user cannot see if there is no READ permission for that model. The model will literally not exist in the menu.

Ex: Sales Reps can view the details of all Customer Orders, and Interns cannot view financials.

2. WRITE - Grants a user

The right to modify an existing record to add to its field values or change the record status.

IMPORTANT: WRITE permission requires READ permission, i.e., if a user cannot view the record, then they cannot modify the record.

Ex: Sales reps can modify their own orders. An accountant cannot modify previously created invoices.

3. CREATE - Grants a user

To create a new record, add a new customer, or generate a document.

NOTE: CREATE permission is independent of WRITE permission, i.e., you can create a "new Invoice" but cannot modify an existing invoice, or vice versa.

Ex: An accountant can create invoices but cannot modify them once created (Separate permission).

4. DELETE

This feature provides the owner with the ability to permanently remove records from the system.

This function should only be allowed for account administrators and managers in order to prevent accidental losses of data.

  • The manager can delete older test records
  • To avoid potential loss of data, regular employees are prohibited from deleting (or removing) records.

Permission Examples by Role

RoleReadWriteCreateDelete
InternYesNoNoNo
Sales RepYesYesYesNo
ManagerYesYesYesYes
AdminYesYesYesYes

Understanding How Permissions Work

There is a hierarchy in permissions:

Your first level of access is "Read" - if you don't have "Read" access, then you won't be able to do anything else because then "Write" access doesn't really matter, etc.

To "Write" something, you must first have "Read" access in order to modify the item(s) that you can Read.

To "Create" something, you have the ability to create new items without modifying an existing item.

To โ€œdeleteโ€ something is something that is separate and will be allowed only for authorized users.

As an example: Within the Sales organization.

Sales Representative:

  • Sale Order = Read=1; Write=1; Create=1; Delete=0;
  • Product = Read=1; Write=0; Create=0; Delete=0;

This means that a sales representative can create, modify, and delete Sales Orders, but can only have access to read products.

How Are Permissions Set?

Users are given permissions via Security Groups.

  • Go to Settings > Users & Groups
  • Create or Select a Security Group (e.g., Sales Team).
  • Define Permissions associated with Models.
  • Add User(s) to the Security Group.
  • Users automatically inherit all permissions from the Security Group.

Key Principles

PrincipleWhy It Matters
Read FirstYou must see data before you can do anything with it.
Least PrivilegeGive only the permissions needed for the job.
Delete is SpecialRestrict it to managers only - prevents accidents.
Test EverythingLog in as each role and verify access works correctly.

Common Mistakes to Avoid

  • Full access for everyone seems easy, but it creates significant security issues. Grant access based on position (for example, finance, warehouse, sales).
  • Create 'write' and 'read' buttons and ensure that the 'read' button is enabled first (this would be useless otherwise).
  • Don't forget to review permissions for employees who are no longer there or for people who have just changed position. Audit permissions every quarter when a position change occurs.
  • Too many groups make it difficult to manage all of them effectively (it's better to group a person's access by job function instead of individually).

Why Permissions Matter

Because they provide a safeguard for data security, without the right permissions, there will be many potential people with the ability to delete sensitive data. Interns will have access to see sensitive data. There will be violations of compliance regulations.

With the right permissions in place, there are ways to verify who changed/added or deleted records, and the data will be protected by the user's role within the company.

Where to Check Permissions in Odoo 19

To see what current access has been given to the user:

  • Go to Settings > Users.

How Read, Write, Create, and Delete Permissions Work in Odoo 19-cybrosys

  • View the User Profile page.
How Read, Write, Create, and Delete Permissions Work in Odoo 19-cybrosys
  • Select the Groups smart button to view assigned groups.
  • You will see which Groups have been assigned and their corresponding permissions.
How Read, Write, Create, and Delete Permissions Work in Odoo 19-cybrosys

The four permissions (Read, Write, Create, Delete) provide Odoo security:

  • Read determines if it can be seen
  • Write allows modification of records
  • Create allows new records to be added
  • Delete has the most power

Assign permissions based on the role within the organization, not by the user. Implement the principle of least privilege. Regularly review every quarter. Test with thoroughness.

Good permissions = Secure data + Productive Team + Clean audits.

To read more about How to Manage Odoo 19 Permissions by Groups, refer to our blog How to Manage Odoo 19 Permissions by Groups.


Frequently Asked Questions

How can I give Write access without Read Access?

Technically, you can give write access to a user without Read access. These two are separate flags. But in the UI, it is not usable. Opening any records to edit requires reading them first.

What is the difference between Create and Write?

Create permission allows users to add new records to a model, while Write permission allows them to modify existing records. These permissions are independent of each other, meaning a user can be granted only Create access, only Write access, both permissions, or neither, depending on the required level of access.

Can I delete with write access and delete access without delete permission?

No, you are only writing data, and you cannot delete it as separate access.

What if a user is part of multiple groups? How will this affect permissions?

When a user belongs to multiple security groups, Odoo combines the access rights from all assigned groups. The user receives the highest level of permission available for each access type. For example, if one group grants Read access only and another group grants both Read and Write access, the user will ultimately have both Read and Write permissions because Odoo merges the permissions rather than restricting them.

What is the difference between ACL and Record rules?

ACLs control access at the model level (what actions a user can perform), while Record Rules control access to specific records within that model. Both must allow access for an operation to succeed.

Can a user log in without any permission?

Yes; however, they will not be able to access any of the models and will only see their profile.

Do changes to access permissions take effect immediately?

Yes. Changes to user access permissions take effect immediately. If a user is removed from a security group or their permissions are modified, the new access rights are applied right away, and the user will instantly lose or gain access according to the updated security configuration.

If you need any assistance in odoo, we are online, please chat with us.



0
Comments



Leave a comment



WhatsApp