Pragmatic – Leading provider of open source business applications OpenERP, Ruby on Rails, Node.js, Talend, jaspersoft  – Pragmatic
Beyonce Adams

How to hide buttons in Odoo without code | Clean up your UI with Smart Access control

Why do they even need to see that button?

👋 Let’s start with a simple truth …

Have you ever looked at a user’s screen in Odoo and thought, “Why do they even need to see that button?”

Maybe it’s the “Delete” button on a validated invoice. Or the “Send by Email” button on a draft sales order. Or perhaps your HR assistant accidentally clicked “Duplicate” on an employee contract, just trying to view it.

These aren’t rare incidents – they’re symptoms of something deeper.

Odoo, as powerful and flexible as it is, often shows too much to too many people. And while its built-in access rights help control broad permissions, they often fall short when you want to fine-tune the user interface itself.

The good news? You don’t need a developer to fix this.

The better news? You can do it without writing a single line of code.

Let’s explore how.

Why You Might Want to Hide Buttons in Odoo

Every business user doesn’t need access to every function.

In fact, showing more options than necessary can be a liability :

  • The junior accountant might click “Export” and share sensitive data externally.
  • A warehouse staff member might unknowingly archive an important product record.
  • Your operations lead might edit a field that should be read-only.

At its core, these problems boil down to a lack of granular control over user interface elements in Odoo.
And while Odoo’s native access rights and record rules can limit access to records and models, they don’t let you hide or show buttons on the screen.

Not unless you customize the XML views… and let’s be honest, that’s not always scalable.

What Kinds of Buttons Can You Hide?

You can clean up a lot of UI clutter by hiding specific buttons that most users don’t need, shouldn’t use, or might misuse.

Common Buttons That Are Often Better Hidden:

  • Delete / Duplicate → Avoid irreversible actions or messy duplicates
  • Export → Protect sensitive business data
  • Send by Email → Prevent unauthorized communication
  • Create / Edit on Many2one & Many2many fields → Prevent creation of unintended records
  • Archive / Unarchive → Avoid accidental data hiding
  • Developer Tools (Debug Mode) → Restrict technical access for non-admin users

Every one of these buttons, while useful, serves a very specific purpose – and usually for a specific role. When shown to everyone, they clutter the interface, cause confusion, and in some cases, risk the integrity of your business data.

Traditional Customization vs No-Code Solutions

Let’s quickly compare the old way vs the new way of managing button visibility.

Traditional (Code-Heavy) Method

In the past, if you wanted to hide a button from a specific user group in Odoo, you had to :

  • Edit XML views and templates
  • Use conditional rendering (groups, attrs, etc.)
  • Manage access groups in Python code
  • Deal with module updates and compatibility issues
  • Coordinate with developers

It worked, yes – but it was costly, time-consuming and fragile when upgrading to new Odoo versions.

The Smarter, No-Code Method

With the Pragmatic Access Management module, you can:

  • Configure UI element visibility without technical skills
  • Manage access rules for buttons, views, fields, menus, actions, reports, developer mode and even search filters
  • Apply changes per user, group, or model
  • Update settings instantly, without restarting or deploying

This is where the future of Odoo usability is heading – toward self-service configuration, smarter workflows and safer interfaces.

Business Use Cases by Department

Let’s look at some real-world, cross-functional examples where hiding buttons makes a tangible difference :

Finance

  • Problem : Junior staff accidentally delete journal entries or export financial data.
  • Solution : Hide “Delete,” “Duplicate” and “Export” buttons on journal and invoice records.

Sales

  • Problem : Sales reps send unapproved quotes via email or modify price fields.
  • Solution : Remove “Send by Email” and “Edit” access from the Sales Order view for certain users.

HR

  • Problem : HR users access developer tools or duplicate contracts unnecessarily.
  • Solution : Hide “Developer Mode” and “Duplicate” for employee and contract models.

Inventory/Warehouse

  • Problem : Archiving of products or exporting product stock lists without supervision.
  • Solution : Hide “Archive” and “Export” buttons in stock and inventory models.

Meet the Tool : Pragmatic Access Management

Let’s introduce the hero behind this smart UI control – Pragmatic Access Management by Pragmatic Techsoft Pvt. Ltd.

This Odoo app allows businesses to manage fine-grained UI permissions without writing code.

You can also assign these access settings per user, per model, or per UI element, offering the ultimate flexibility.

Step-by-Step : Hiding Buttons Without Code

Let’s walk through how you can use this module to hide buttons.

Step 1: Activate Developer Mode

Navigate to Settings > Activate Developer Mode.

Step 2: Access Button/Tab Config

Go to Settings > Technical > Button/Tab Access

  • Select the model (e.g., sale.order)
  • Click Fetch Buttons and Tabs

Step 3: Choose the Buttons You Want to Hide

You’ll see a list of buttons tied to that model.

  • Select buttons like “Send by Email,” “Delete,” or “Duplicate”.

Step 4: Assign to Specific Users

Navigate to Users > Access Management

  • Select the user
  • Under the Button/Tab Access tab, choose the model
  • Mark the buttons you want to hide for this user
  • Save and refresh the user’s view—changes are immediate

No restarts. No technical deployment. Just results.

Best Practices for Clean Odoo UIs

To get the most from UI control in Odoo, follow these tips :

  • Role-Based Configuration: Group users by tasks and assign buttons accordingly
  • Test First, Apply Gradually: Use a test user to check configurations
  • Document Your Permissions: Keep a spreadsheet or list of button access per user role
  • Review Quarterly: As teams grow or change, so should access rights
  • Pair with Field-Level Access: Restricting buttons is only part of the solution – combine with readonly/invisible fields for full control

If your Odoo users ever said,
“I’m afraid to click the wrong thing,”
then this module might be what you need.

Pragmatic Access Management brings control, clarity, and customization to your ERP environment – without code, complexity, or compromise.

👉 Want to see how it would work in your environment?
Request a free personalized demo and explore the possibilitieson your terms.

Frequently Asked Questions (FAQs)

Q: Can I hide buttons for some users but not others?
Yes, configuration is user-specific and model-specific.

Q: Does this affect system performance?
No. The app works via UI-layer controls and does not impact backend performance.

Q: Can I hide custom buttons added by another module?
Yes, as long as the button is tied to a model and fetched via the config screen.

Q: Will this break during Odoo upgrades?
No, because it’s a modular configuration—not custom code injection.

Q: Can I try this before buying?
Yes, the provider offers a free demo on request.

SHARE | FOLLOW | SUBSCRIBE

Leave a Reply

Subscribe to Blog via Email.

Enter your email address to subscribe to this blog and receive notifications of new posts by email.
Loading

Recent Comments

Related Posts