Brand new to ERPNext. I’ve tried searching for an answer and not having luck. I expected item changes to be reflected in associated BOMs but that doesn’t seem to be the case. For example if I change the item name to fix a misspelling it doesn’t get corrected in the BOM.
I would like full association between a given item and BOMs that use it. Is it not supposed to work that way?
ERPNext works in “docs” meaning that when you create a BOM, Purchase order, Sales Invoice, etc. it is creating a “document” from the currently available information. That document does not change to include updated information unless you revise the document or create a new one.
When it comes to Item Codes this is a critical reason to NOT ever change them once they are created. The unintended ripple effect could have you chasing your tail for months.
If you are just starting out, then you likely do not have much or many places to have to go back an change things. But if you create an Item with an Item code and then use that code somewhere in the system, you will NOT be able to delete that item and attempting to change the code could be ugly. If you make a mistake when creating one, then its usually best to set it is inactive and recreate it using the correct code (or spelling).
BOM’s only rely on Item Codes. This means that Item Names or Description changes will not mess up your BOM from a functional perspective.
If you do not want raw materials items to show up in your POS or Sales Invoices then be sure to uncheck the “is sales Item” box in the Item record. Then they will only be available to your BOM’s as raw materials.
If you do happen to sell some raw materials, it is usually better to setup a separate Item Code for the quantities you set aside for direct sales. This makes manufacturing run much smoother. More human induced accidents happen in the inventory of items for sale than they do in manufacturing. So this prevents some sales related quantity problem from shutting down your manufacturing.
@bkm, Thanks again! The static state of documents is going to hard for me to accept. I am fine with that behavior for purchase orders, invoices, and other “moment in time” documents but BOMs last indefinitely and should reflect current data, at least as an option. This may be a deal breaker for me but I will try my best to find a way to make it work.
I already know that I cannot change an item description in a BOM. So what it the process of fixing a bad description in a BOM? Hopefully it doesn’t need to be recreated.
Once a BOM has been created it is named using the Item Code of the product being manufactured. Any subsequent revisions of this BOM are saved with the dash number at the end of the name being incremented by one.
For example, you are going to manufacture Item Code “PM100212” and you have just created the first BOM for this product. If you left intact the default naming convention then the very first BOM for this would be named:
If you needed to change this later for any reason it would become:
There is also a status indicator in the BOM list to point out which version is the “Default” that will be used when you generate a Production Order from the BOM.
Remember… all of the Item Codes that go into the creation of the BOM should never change. The Item Codes are the most important part of the BOM to get right as they are used to generate the Production order each time.
Now, here is where you may find some comfort level. Each time a new Production order is generated, the CURRENT Item name and Item description is pulled into the new production order.
The production order is what you will be using to do actual product builds, so this is going to reflect the items in the build accurately no matter what those field were at the time of the actual creation of the BOM.
A Production Order is another document type and will be permanent once created, but it’s life expectancy is usually only as long as it takes to actually complete the build and move the new items into a warehouse for sale.