Skip to Content
Menu
You need to be registered to interact with the community.
This question has been flagged
5 Odgovori
254 Prikazi

Hello everyone,

We are currently facing an issue on Odoo 17 (Enterprise, Odoo.sh) related to the automatic creation of Manufacturing Orders (MOs) when confirming a Sales Order.

Here’s what’s happening:

  • On our Staging environment, everything works perfectly:
    • When we confirm a Sales Order, Manufacturing Orders are automatically generated as expected.
    • The Product form view correctly displays all smart buttons such as “Bill of Materials (BoM)”, “Inventory”, and “Traceability”.
  • However, on Production, the behavior is different:
    • Manufacturing Orders are not generated when confirming a Sales Order.
    • On the Product form, the “BoM” and “Inventory” smart buttons are missing, even though both environments are configured identically.
    • All modules (stock, mrp, sale_management) are installed and active.
    • The routes (Make To Order + Manufacture) are properly defined on the product and working fine in Staging.
    • The products are correctly set as “Storable Products”.
    • User access rights are the same on both environments.
    • There are no visible errors in the production logs.

It looks like the views inherited from stock or mrp (product.template form view) may not be properly loaded in Production, which could explain why those smart buttons are missing — and why Odoo might not be linking products to their BoMs when trying to trigger manufacturing orders.

So far, we have checked:

  • Module installation and dependencies (OK)
  • Product configuration (OK)
  • Routes setup (MTO + Manufacture) (OK)
  • User rights and access groups (OK)

 

The only visible difference between Staging and Production is the absence of the “BoM” and “Inventory” smart buttons on the Product form — and this correlates with the failure to auto-generate Manufacturing Orders when confirming Sales Orders.

Has anyone experienced this issue where Odoo.sh staging works correctly but production fails to create MOs automatically, and the smart buttons from mrp and stock are missing on the Product form?

Could this be related to a missing or inactive view inheritance, cache or deployment issue, or perhaps a broken link between product and BoM due to database synchronization problems?

Any help or advice would be greatly appreciated 🙏

Avatar
Opusti
Best Answer

It sounds like you're facing a tricky issue with inconsistencies between your Odoo Staging and Production environments. Here's a breakdown of potential causes and troubleshooting steps:

  Module Version Mismatch: Verify that the exact same versions of all relevant modules (especially stock, mrp, and any custom modules) are installed in both environments. Even minor version differences can cause unexpected behavior.

  View Customizations: Check for any custom views or modifications on the product.template form in Production that might be hiding or altering the display of the "BoM" and "Inventory" smart buttons. Review inherited views for potential conflicts.

  Access Rights Deep Dive: While you've checked user access, double-check that the user confirming the Sales Order in Production has all necessary rights related to Manufacturing and Inventory. Sometimes, subtle differences in access rights can prevent MO creation.

  Automated Action Issues: Investigate any automated actions or server actions that might be interfering with the MO creation process in Production. Ensure they are correctly configured and triggered.

  Clear Odoo Cache: Try clearing the Odoo cache in your Production environment. This can resolve issues related to outdated or corrupted cached data.

  Check for Pending Database Migrations: Ensure there are no pending database migrations in your Production environment that might be causing inconsistencies.

  Review Odoo.sh Deployment Logs: Examine the Odoo.sh deployment logs for any errors or warnings that might indicate a problem during the deployment process.

For personalized assistance:
https://www.pragtech.co.in/contact-us-mql.html

Avatar
Opusti

Hey Awa,
That sounds super annoying—everything clicking in staging but crapping out in production? Classic Odoo.sh headache.
Quick recap: Those "BoM" and "Inventory" buttons get added via XML inheritances from the MRP and Stock modules on the product.template form. If they're gone in prod, views probably aren't loading right—maybe a deployment glitch, old cache, or branch sync mess where staging grabbed the latest commits but prod didn't.
Here's what I'd try, step by step (fixed this exact thing a couple times myself):

Views Dive: Flip on Developer Mode (Settings > Activate developer mode). Go to Settings > Technical > User Interface > Views. Search "product.template form" and filter for inherits from 'mrp' and 'stock'—maybe toggle inactive ones too to check 'em. Make sure they're active, there are no XML errors, and there's no custom stuff overriding the button box. If it looks off, upgrade MRP and Stock (Apps > Update Apps List > search and hit Upgrade). That usually kicks the inheritances back into gear.
Odoo.sh Branch Check: Dashboard > Branches > Commits—see if staging is ahead. Merge changes to prod and rebuild (drag the branch; copy the DB fresh). Or shell in and run odoo-bin -d your_db_name -u all --stop-after-init to upgrade without downtime.

Nuke Caches: Dev mode is still on—Settings > Technical > Database Structure > Attachments, search product. template stuff (JS/CSS) and delete. Hard refresh the browser (Ctrl+Shift+R), whip up a test product with MTO + Manufacture routes, and check for buttons. Confirm a fake SO—MO should pop. If not, shell: odoo-bin -d your_db_name -u base --stop-after-init.

Quick Extra Checks:
Automated Actions (Settings > Technical > Automation): Any on SO confirm blocking MOs? Pause and test.
Routes: Inventory > Config > Routes—double-check Manufacture and MTO are active for warehouse/category.
Logs: Odoo.sh > Prod > Logs, grep "view" or "inheritance" during SO confirms. Browser console (F12) for JS errors on the product form.

If custom modules mess with product views, pull 'em out quick to test.
This matches some threads I've seen where cache or views were the villains—let me know what happens; we can tweak. Fingers crossed, quick win!

Best Answer

It sounds like you're facing a tricky synchronization issue between your Odoo Staging and Production environments. Here's a structured approach to troubleshoot:

  Module Version Check: Ensure that all relevant modules (stock, mrp, sale_management, base) are the exact same version in both environments. Even minor version differences can cause unexpected behavior.

  Update Modules: In your production environment, try updating all modules. Sometimes, a module update triggers necessary database updates that might be missing.

  Check Module Dependencies: Verify that there are no missing or broken dependencies in your production environment. In Odoo, go to Apps, then click on 'Dependencies' for both mrp and stock modules to check for any missing dependencies.

  Clear Caches and Reload: Clear the Odoo server-side cache in your production environment. Restart the Odoo service after clearing the cache. Then, clear your browser cache and try again.

  Inspect View Inheritance: Manually inspect the `product.template.form` view in both environments to confirm that the `stock` and `mrp` modules are correctly adding the smart buttons via inheritance. Use Odoo's developer mode to view the inherited views.

  Database Consistency: It's possible that there are inconsistencies between the databases. If practical, try restoring a recent backup of your Staging database to Production (ensure you do this in a controlled test environment first!).

For personalized assistance:
https://www.pragtech.co.in/contact-us-mql.html

Avatar
Opusti
Avtor Best Answer

Thanks to everyone for your answers. The display error originated from the modification made to the view Product.template.product.form, which instead of using 'product' as the view model, used a variant of products. The Manufacturing order creation from the Sales validation issue comes from the route rules. I only have to archive of the duplicated ones.

Avatar
Opusti
Best Answer

Hi,


This issue is likely caused by a broken or missing view inheritance in Production. The “BoM” and “Inventory” smart buttons are added through inherited views from the mrp and stock modules. If those views aren’t properly loaded, the product loses its link to the BoM, preventing automatic Manufacturing Order creation.


This can happen if a custom module overrides the product form without including those inherited parts, or if a deployment or cache issue on Odoo.sh prevented the views from loading.


To fix it:


    Check Settings → Technical → Views for mrp.product_template_form_view and ensure it’s active.


    Upgrade the mrp, stock, and related modules in Production.

    Rebuild the Odoo.sh environment to clear cache.

    Compare view definitions between Staging and Production.


Once the views reload, the smart buttons should reappear, and Manufacturing Orders will generate automatically again.


Hope it helps

Avatar
Opusti
Best Answer

Hello Awa,
Check your custom code and ensure that it is not affecting the Odoo default views and also you can check: Settings/Technical/User Interface/Views.

Thanks
Feel free to  Contact Us for any personalized assistance. 

Avatar
Opusti
Related Posts Odgovori Prikazi Aktivnost
2
avg. 25
2172
1
maj 25
2034
1
dec. 24
6717
0
jan. 22
3760
0
okt. 17
2984