| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Purchase (purchase)
• Invoicing (account) • Discuss (mail) • Inventory (stock) |
| Lines of code | 3 |
| Technical Name |
suite_cost_guard |
| License | OPL-1 |
| Website | https://suitestate.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Purchase (purchase)
• Invoicing (account) • Discuss (mail) • Inventory (stock) |
| Lines of code | 3 |
| Technical Name |
suite_cost_guard |
| License | OPL-1 |
| Website | https://suitestate.com |
Cost Visibility Guard
Hide product cost and inventory valuation from warehouse and sales users
Keywords: hide cost price, hide standard price, hide product cost, cost visibility, restrict cost access, hide cost from sales user, hide cost from warehouse user, hide inventory valuation, hide avg cost, hide total value, hide unit cost, cost field permission, cost access control, cost security, inventory reporter, inventory reporting access, intermediate inventory role, reporting without admin, product cost visibility, cost guard, warehouse permission
The Problem
Odoo does not provide a way to hide product cost from specific users. Warehouse staff, sales teams, and other non-financial users can see cost price, average cost, total valuation, and unit value across dozens of views — product forms, stock on hand, lot details, inventory reports, and valuation drilldowns.
Most "hide cost" modules only cover the product form and list view. Users can still see cost data in Stock On Hand, Lot forms, Moves Analysis, Location reports, and valuation drilldown actions.
Additionally, Odoo only provides two inventory permission levels: User and Administrator. There is no way to grant reporting access without giving full admin rights including Configuration and Inventory Adjustments.
What This Module Does
Two independent features installed together:
- View Cost group — a standalone toggle that controls cost field visibility across the entire interface.
- Inventory Reporter role — a new privilege level between User and Administrator with reporting access only.
Pure view-layer enforcement. No new models, no new database fields, no business logic changes. Safe to install and uninstall at any time.
Feature 1: View Cost Group
How It Works
A new View Cost group is created as a standalone toggle (checkbox in user settings). Users in this group see all cost fields normally. Users outside this group see quantities and stock movements only — all cost, valuation, and pricing data is hidden.
The following groups are automatically granted View Cost access (no manual assignment needed):
- Inventory Administrator
- Purchase User (and above)
- Invoicing / Accountant (and above)
To grant View Cost to any other user, simply check the View Cost box in their user settings.
The View Cost toggle in user access rights. Automatically enabled for Inventory Administrators, Purchase Users, and Accountants.
What Is Hidden
The following fields and actions are hidden from users without View Cost:
| View / Screen | Hidden Fields |
|---|---|
| Product Template form | Cost label and value (standard_price) |
| Product Template list | Cost column (standard_price) |
| Product Variant list | Cost column (standard_price) |
| Product Variant quick-edit form | Cost label and field (standard_price) |
| Stock On Hand list | Unit Cost column (avg_cost) and Total Value column (total_value) |
| Inventory Valuation at-date list | Unit Cost column (avg_cost) and Total Value column (total_value) |
| Stock Lot form | Average Cost (avg_cost), Total Value (total_value), Cost (standard_price) |
| Moves Analysis list | Value and Remaining Value columns |
| Locations / Quant list | Value column (both standard and editable views) |
Actions restricted: The AVCO Report and Stock Valuation drilldown actions are restricted to View Cost users only. Even if a user navigates to the URL directly, the action will not load.
Purchase Order shortcut: The Purchase Orders link shown on an empty Receipts page is hidden from users without View Cost, preventing navigation to the purchase order list where unit prices are visible.
Sales user view: cost column is completely hidden from the product list. The same user sees quantities only in Stock On Hand and other inventory views.
Inventory Reporter without View Cost: the Reporting menu is accessible, but all cost and valuation columns are hidden. Only quantities and stock movements are visible.
Feature 2: Inventory Reporter Role
How It Works
A new Reporter privilege level is added to the Inventory access dropdown in user settings, sitting between User and Administrator:
- User (native) — Operations menu only
- Reporter (this module) — Operations + Reporting menu
- Administrator (native) — Full access including Configuration
The Reporter role includes all User permissions plus access to the Reporting menu. It does not include:
- Configuration menu
- Inventory Adjustments
- Moves Analysis (restricted to Administrator)
Reporting Submenus Visible to Reporter
| Submenu | Reporter | Administrator |
|---|---|---|
| Stock | Yes | Yes |
| Locations | Yes | Yes |
| Moves History | Yes | Yes |
| Performance | Yes | Yes |
| Moves Analysis | No | Yes |
Cost data in reports: A Reporter without View Cost sees quantities only in all reporting views. A Reporter with View Cost sees both quantities and cost data. The two features are independent and can be combined as needed.
Inventory Reporter with View Cost enabled: the same Reporting menu now shows cost and valuation data alongside quantities. The two features are independent and combine as needed.
Menu Access Summary
| Menu | Native Access | With This Module |
|---|---|---|
| Reporting | Administrator only | Administrator + Reporter |
| Moves Analysis (under Reporting) | Administrator only | Administrator only |
| Inventory Adjustments | All Inventory Users | Administrator only |
Typical Setups
| User Role | Inventory Level | View Cost | Result |
|---|---|---|---|
| Warehouse worker | User | No | Operations only, no cost, no reports, no adjustments |
| Warehouse supervisor | Reporter | No | Operations + reports (quantities only), no cost, no adjustments |
| Financial analyst | Reporter | Yes | Operations + reports with full cost data, no adjustments |
| Sales user | None | No (default) | Product cost hidden on product views |
| Purchase user | Any | Yes (auto) | Full cost visibility (auto-granted) |
| Inventory admin | Administrator | Yes (auto) | Full access (unchanged from native) |
Technical Notes
- Pure view-layer — all restrictions use
the
groupsattribute on view fields, menu items, and actiongroup_ids. No ORM-level access rules, no Python overrides, no new models or fields. - Safe to uninstall — removing the module restores all native visibility and permissions instantly.
- No performance impact — group-based field visibility is evaluated at view load, not per record.
- Multi-company compatible — group membership is per-user, works across all companies.
- Studio friendly — menu access changes can be further customized in Odoo Studio without conflict.
- Dependencies:
purchase_stock,stock_account(both native Odoo modules, typically already installed on any inventory-enabled database). - Compatibility: Odoo 19.0 Community and Enterprise.
License & Support
Licensed under OPL-1 (Odoo Proprietary License v1).
Maintained by SuiteState (ElectroState FZCO).
For questions, bug reports, or feature requests, visit
suitestate.com or contact
hello@suitestate.com.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module