Odoo Help


[V7] I need help understanding the way BoM's are stored in the database. Why are multi-level BoM's stored in the same table as regular BoM's?

on 8/24/15, 10:13 AM 863 views

I would like to discuss with people who have worked in openerp with mrp about the logic of databese structure of the mrp_bom.

I can't see one reason to make mrp_bom a 'flat database table' . I really can't.

It is nearly impossible to make even a little complex like bom and be able to know what is going on. What I mean by that is a bom that consists of other bom that consists... multi level. There is no way to know which bom enters the original product.

Am I missing something or what?

On 8/25/15, 5:01 AM

Thanks for your reply mate, but I should have been more specific, I was talking about openerp version 7 where there was no mrp_bom_line table. Everything was stored in mrp_bom.


Ray Carnes

--Ray Carnes--
| 9 7 9
Keyport, United States
--Ray Carnes--

Senior ERP Analyst

OpenERP 6.1, 7.0; Odoo 8.0, 9.0, 10.0 and 11.0.

Completed Odoo Functional and Technical Training.

Functional Areas:

  • CRM/Sales

  • Inventory

  • Manufacturing

  • Accounting

  • Purchasing

Major Skills:

  • Business Process Reengineering

  • Efficiency Consulting

  • User Needs and GAP Analysis;

  • Functional and Technical Design;

  • Prototyping and Proof of Concepts;

  • Requirements Specifications;

  • Agile Implementation;

  • Data Migration;

  • Configuration & Customization (UI and code);

  • Integration - Odoo and non Odoo Applications and Services;

  • Training and Knowledge Transfer;

  • Go Live Support;

  • Helpdesk;

  • Version Upgrades and Migration.

  • Accounting Expert.

I have over 20 years of experience empowering and enabling users with enterprise information systems that make a real and measurable difference in their ability to proactively manage their businesses and organizations. 

I am a skilled Communicator and I only take the serious things seriously!

Ray Carnes
On 8/24/15, 7:17 PM

The database represents only the persistence of 'simple' data related to an Odoo object/model.  Most of the time you need to review the Python definition of the class to understand how the tables represent a logical object that may not have all the information stored in the database.  All tables in the database are related to others.

BoM's are stored in the mrp_bom table and BoM Lines are stored in the mrp_bom_line table.

Using both tables, it is easy to see which BoM is the 'parent' and which are the 'children':

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 8/24/15, 10:13 AM
Seen: 863 times
Last updated: 8/25/15, 5:01 AM