Control Price Changes in Odoo POS
Odoo 18's Point of Sale (POS) module simplifies retail operations by offering an intuitive interface for real-time sales management, payments, and customer interactions. Its seamless integration with accounting, CRM, and inventory ensures accurate stock updates and financial tracking. The module is well-suited for various retail environments with customisable configurations, multiple payment options, and offline capabilities.
However, in a retail store, multiple employees—such as sales staff and managers—often have access to the POS system. To maintain pricing control and prevent unauthorised changes, it’s crucial to restrict certain actions, like price modifications, to authorised personnel only.
In this article, we’ll walk you through how to restrict price modifications in Odoo 18 POS, ensuring better control over pricing policies and reducing the risk of revenue loss due to errors or misuse.
Why Restrict Price Modifications?
Restricting price modifications offers several benefits:
- Enhanced Pricing Control: Prevents unauthorised discounts or price changes, ensuring consistency in pricing policies.
- Revenue Protection: Reduces the risk of revenue loss due to employee errors or misuse.
- Customer Trust: Maintains consistent pricing, which strengthens customer trust and aligns with your pricing strategy.
- Profit Margin Protection: Limiting price changes to authorised personnel helps protect profit margins and ensures compliance with internal financial policies.
- Accountability: Since price adjustments are traceable to authorised users, this feature promotes accountability and enhances operational transparency.
How to Configure Price Change Restrictions in Odoo 18 POS
The Point of Sale (POS) module can manage multiple shops or sessions. In this case, the changes apply to the Furniture Shop. Users can switch between shops from the available list of sessions and select the required one. Additionally, the +New Shop button allows users to create a new shop if needed.

To restrict price modifications in Odoo 18 POS, follow these steps:
Navigate to the POS Settings
- Go to Configuration > Settings.
- Under the Pricing section, find the Price Control option.
- Enable the Price Control option to ensure only managers can modify prices, preventing unauthorised adjustments and maintaining pricing consistency.
- Save the settings.

Assign Access Rights to Employees
- Under the POS Interface section, use the Login with Employees option to assign employees to specific POS sessions, and limit their access accordingly.
- Employees can log in using badge scanning or a PIN, which is configured under the HR Settings tab in the employee form.
When this option is enabled, two types of access rights become available:
- Basic Rights: Employees with limited access to POS features.
- Advanced Rights: Employees with extended access, including managerial controls.
For instance, in the Furniture Shop, two employees—Marc Demo and Mitchell Admin—are assigned. Marc Demo has Basic Rights, while Mitchell Admin has Advanced Rights.
The list of allowed employees is managed within the POS settings, ensuring that only authorised personnel can operate the POS system.
- After configuring the access rights, save the settings.

How to Apply Price Change Restrictions in a POS Session
Start a POS Session
- Navigate to the Point of Sale dashboard. The dashboard displays all the created POS sessions.
- Locate the session where the new settings were applied (e.g., Furniture Shop).
- Click on the Open Register button to start the session.
This will launch the POS interface, allowing employees to log in and process transactions based on their assigned access rights.

Select an Employee
- When the Open Register button is clicked, a new window will open, allowing the user to select the employee who will open the shop.
- Users can either use the scanning method or manually select the employee.
- To do so, click on the button marked in the screenshot below.

A list of employees or cashiers is displayed, allowing users to select the appropriate employee. In this case, two employees have been added: Mitchell Admin, who is the session manager, and Marc Demo, who is designated as a salesperson.

In this example, Mitchell Admin, the sales manager (with Advanced Rights) is selected as the session manager.
Add an Opening Balance
- When starting a session, the employee can add an opening balance to the shop.
The beginning balance refers to the amount entered into the cashbox as the starting sum for sales, which may include the remaining sum from the previous day.
- After entering the amount, click the Open Register button to begin sales.

Testing Price Modification Restrictions
Modify Prices with Advanced Rights
When the user clicks on the Open Register button, the order dashboard opens, displaying all available products on the right side of the screen. The logged-in employee, Mitchell Admin, is visible in the upper right corner of the screen.

When the user chooses some product, it will add into the left side. From the left side, the user can change the Quantity, Price, Discount %, etc.

Here, the user added one unit of the product Cabinet with Doors, which has a unit price of $140. A button labelled Price is displayed. Since the logged-in employee is Mitchell Admin, who has Advanced Access to the session, they can easily modify the unit price of the selected product.

Click on the Price button and modify the price. Here, the unit price of the Cabinet with Doors is updated to $155.
Complete the Transaction
To finalise the sale, click on the Payment button, select the appropriate payment method, and then click on the Validate button to complete the transaction.

Now it's clear that employees with advanced access rights to sessions can modify the price of selected products. This means that the manager has access to price adjustments.
Switch to an Employee with Basic Rights
Now, let's check the access of the other employee. To test restrictions, the user needs to switch employees first.
- Click on the employee name displayed in the upper right corner of the screen.

Then, a list of available employees will be displayed. From there, you can easily switch to the cashier. Click on Marc Demo, the second salesperson.

Marc Demo is now logged into the session. Similar to the previous order, the same product, “Cabinet with Doors”, is selected with a quantity of one. Notice that the Price button is disabled, preventing Marc Demo from modifying the price. This time, the user can only modify the quantity.

So, employees with Basic Access cannot change the price of a product, while only those with Advanced Access have the authority to modify the sales price.
Key Takeaways
- Enable the Price Control option in POS settings to restrict price modifications.
- Assign Basic Rights to employees and Advanced Rights to managers.
- Use the Login with Employees feature to manage access rights effectively.
- Test the restrictions by switching between employees with different access levels.
Restricting price modifications in Odoo 18 Point of Sale is a simple way to maintain control over your pricing strategy. By limiting price changes to authorised personnel, you can:
- Protect revenue and profit margins.
- Ensure consistent pricing for customers.
- Promote accountability and transparency in retail operations.
Enhance Your Odoo Experience
Simplify your operations with Numla's tailored Odoo solutions.