We’re looking for a way to mark a part as sellable, so if a customer calls in and tries to buy a subassembly that we don’t intend to sell we have a systematic solution for our sales people to know this. We’d like to avoid situations where we create an order that manufacturing can’t process as they don’t have work instructions but we already told the customer a ship date and charged them… Currently we rely on tribal knowledge, and we’d like to get away from his. Also please note we’re currently on E9 but in the process of upgrading to E10…
Any suggestions / advice?
BPM on a check box to warn or error at order entry?
Similar to Miguel’s idea. We have a BPM that looks at the parts ProdGroup, if it’s one of our non-Finished Goods types it’ll create an error if a user adds it to a Order.
BPM on Part.Sellable_c
To @Randy 's point… We can’t even get our own folks to agree on whether a part that we both sell, and use in jobs, is raw material or finished goods.
LOL we had those discussions. We make wire racks and the hooks that go in them. Both the hooks and racks are “FG” types but it was a struggle to get everyone to agree. But the powers that be wanted the restriction on prod group.
At least Epicor had the insight to make separate Part Class (which drives inventory end of things) and Prod Group (which drives sales/revenue end of things) for each part.
Product groups and a BPM to only allow certain product groups to be sold could do this.
Adding on to the other suggestions - Create a UOM of “NS” or “DONT” and then assign that Sales UOM to the non-sales parts and use a BPM to stop from adding to the quote/order. You can keep the Inventory UOM and Purchasing UOM so it won’t affect those processes.
We are looking into this same issue now and I am wondering if there is a best practice that is generally used throughout manufacturing? We are thinking of adding a postfixs like _sub or _raw to the end of all parts that are not finished goods.
For example if we sell a 715-123456-001
We may have these in inventory that get assembled into the top level finished good.
or lets say we purchase a part from a suppler and then do a few operations and assembly, that purchased part might be 715-123456-001_s. We hope this would help prevent the shipping of a non-finished good because the customer wants a 715-123456-001. I am interested in what other people are doing or have seen in the industry?
And a BPM that changes the LineDesc on the Order to:
NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, and .... NO!
Create a Product Group to use for Non-sellable items, and then a BPM that throws an exception when the PG is used on an Order or Quote.
Epicor has a field in the part table that is visible on the front page of Part Maintenance. The LABEL is “Web Saleable”… the field name is Part.WebPart. This field is what then allows/disallows a part from being sent to ECC (Epicor Commerce Connect) to make it saleable.
I have added a second field to mutliple customer systems called “Part.Saleable_c” (not “sellable”)… Then created a Order.Update BPM that checks this field and if it is false, an error message is displayed, prohibiting it from being added to an order.
You can further round out this customization by:
- making the part search program only look for saleable items.
- make another Part Method BPM that forces WebPart = false if part.Saleable_c is changed to false. (we dont want something saleable on the web if it isn’t saleable in-house).