Part Maintenance - Description change doesn't replicate on Sales Order

Preface: My part numbers are unique and custom to each sales order, ex. ASO-40247. My parts represent an entire system. The components of the system are listed in a Job vs multiple line items in the sales order. My orders have one line, with one part with a quantity of 1 and the sales unit price reflects the total cost on the Purchase Order.

After entering an order in E10, the customer cancelled the order.
I revised the Part Description to include the word: “Cancelled:” in front of the original description. For example: Cancelled: (1) WIDGET. I go to the Sales Order AND Opportunity / Quote and refresh both to confirm the Line(s) > Detail > Description has updated…but sadly it doesn’t.

So, I have to update the description three times: 1) Part, 2) Sales Order Entry > Lines > Detail > Description, and 3) Opportunity / Quote Entry > Line > Detail > Description.

I’m curious, if the Part is edited, why doesn’t it change in open Sales Orders and Opportunity / Quotes?

The two aren’t linked. The order/quote entry form pulls the data from the part master upon entry. Any updating done will have to be handled manually.

You could write a BPM that would update those items for you since you are a special case in how your parts/orders are 1:1


I’m new, so please bear with…by creating a Part, doesn’t that create the Part Master?

Now, to recant what I said, for Service Call Orders, I reference the same Part number, ex. MSO-10000 is used over and over.

So, if I wrote a BPM, is it all or nothing, or can I select only those orders where parts/orders are 1:1?

If you create a non-existing part number in a Quote or a Sales Order, that is considered a Part-On-The-Fly and Epicor does not automatically create a record in the Part table for that part number. As a test, open Part Entry and look for one of these one-part numbers… or from within Order Entry right-click on the part number on the Lines tab and select Open With > Part Entry. If you come up with a blank form, then no part record has been created in the database.

So it looks like you have a part master part no issue there. Those descriptions don’t update because doing so could cause issues for other customers.

Example we have the same part on multiple orders and we’ll call it Fast Taco using yellow, green, and blue inks. The customer calls and puts in another order and says hey we want to swap out the blue for pink ink. We aren’t going to create a new part but a new revision and update the description. If the description updated on all open orders that would change the original orders description. That would be a problem.

If for your process you want this to happen you can do so with a BPM and some coding. We do it for a couple areas where we do want the descriptions synced.

From a process standpoint I’m curious why the description is getting updated to Cancelled at all. Is that part of an old process that can maybe be reviewed? Outside looking in, it would seem an unnecessary step as there are a ton of other ways to signify through the system that

^ From a user experience perspective this would blow having to know what orders you want to update. It’s not a scalable solution.

1 Like

Another Consideration. A Sales order will pull a ‘snapshot’ of the Part Master Data. For example if you have a part 123 in Part Master that has a description of Beanie Baby, then you create a sales order for part 123, it pulls in the Part Description Beanie Baby. If down the road you change the description of part 123 to Beanie Young Adult ( just an example here) , Epicor Will NOT go through and change all the descriptions for that part to Beanie Young Adult. With that in mind, if your part description for part 456 is [DNO]Widget, you can change that description to Widget on the Sales Order. We use [DNO] as a prefix to Do Not Order. ( When I say We, I really mean the powers that be, not Me, I think a description should be a description… not a multifunction tool…)

I hope that explains it a little .


Here’s a screenshot of Part Entry. So, it’s not blank.
Part.pdf (25.1 KB)

Per your comment: “From a process standpoint…” You make an excellent point. What other ways could I signify this in the system?
I’m concerned about the BPM option for the same reason you state.

Hi Dean,
I appreciate your help. Perhaps just changing the Part on the Sales Order is sufficient. I’m still new and learning.

It depends on what the goal is. What is trying to be achieved by updating that description? What is the current action that is triggered by doing this?

Speaking from many years of Epicor consulting experience… this is NOT something that the system does. as others above have pointed out, the Quote, Order, Part, and Job (and PO) descriptions are all distict once they are set… they are all DERIVED from the Part if it exists… for example, if you create a part in the part table, and then an order, then the description in the part is DEFAULTED into the Order/job/po/quote… but once it is defaulted, you are allowed to override the value on that Order/Job/Po/Quote. It will never automatically update again.
Same goes for a situation where a PART does NOT exist… if you create a quote for the part, it will ask you for a description. Then when you convert this quote to an order, it will default from the Quote, but then allows you to override it at the order. When you create the MTO Job, it does the same thing, allowing you to override it at the job.
The point is, the Description is LOADED from its default location one time. after that, if someone tweaks it, then it will never be overwritten again.
This is by design, and is not a bug.


Hi timshuwy!
Thank you for your input. This is very helpful. I think changing the description of the part at the sales order level is sufficient. The main purpose is to provide an explanation that the part is no longer valid. I also add notes to the Lines > Comments to explain why the sales order is zeroed out.
Much appreciated!

Per my note to timshuwy, I think the best course is to add ‘cancelled’ to the part description at the sales order level only. I will also add a note to Lines > Comments. Both of these changes will appear on the revised sales order as a confirmation to the customer and for future reference if someone wants to know why the order is $0.
Thank you so much for your help!

Close the line and release manually and it will be marked as void in the system. I’m not sure if that’s reflected on the sales order acknowledgement out of the box but with a quick edit to the report you could use that true false flag to put a giant void watermark over the whole line on the print out if you wanted. Or just a small one whatever floats your boat.
Are you already closing the lines and releases manually when a line is cancelled or are you leaving it open and just adding cancelled to the descriptions?


I’m not touching the Lines and Releases. I leave them open and just add “canceled” to the descriptions and add notes to Lines > Comments.

So if they are cancelled you need to go to the actions menu and close the line otherwise the demand will still exist in your system for that part. Closing a line manually marks it as voided.
Someone cancelled this whole order, ouch

1 Like

I confirmed the SSRS native report for sales order ack removes the voided lines from the report. It’s not in the dataset either they are filtering it out at the report data portion. You would maybe need to figure out how to get it back in there if having it not show at all is an issue.

So, I closed the line manually. Here’s a screenshot showing OPEN as unchecked. I saw your last post and the VOID column is missing. I’ll reach out to IT and ask about it.

You said, “Someone cancelled this whole order, ouch.” Why is that problem? Once our accounting sends the last invoice, our orders are marked as shipped and closed.

When closing a line, any partial shipments against a line will result in a “CLOSED” status. If no activity has occurred for the line then it will result in a “VOID” status. They are two separate columns.

VoidLine = true then OpenLine = false
VoidLine = false then OrderLine could be True or False.

You can use the personalization feature to see the Void flag if that’s enabled for your user, but at the least the line shows not open.

Just commentary that someone cancelled a whole order in our system, that’s a bummer that’s all lol