Does anyone know of a way to make a part only be able to be sold to a specific customer?
Hopefully this is a simple answer for someone else.
If there is a not a built in way, a simple BPM could take care of it.
Sales Unit Price of $9,999,999. Customer has a price list with the reasonable price.
Could the part just exist on a quote? Does it need part master record for any reason?
Many ways to skin this cat but … let’s go back to the beginning
Dreaded question time: Why? (End goal / issue you are trying to solve)
A real business case would be if you made a private label product. You’d want to ensure you never sell that to anyone but the company you manufacture it for.
- Add a UD checkbox field to the Part table - “CustomerSpecificPart”
- Add a UD integer field to the Part table - “CustNum”
- Create a BAQ to list all active customers (or reuse one that may be there already)
- Customize the Part form to include the new UD fields added calling on the BAQ to select the Customer ID but storing the CustNum
- Create BPMs to perform validation against these fields in Order Entry
We could probably hijack Customer Part Cross Reference for this.
It’s a private labeled product for one of our customers. Just want to prevent our order entry team from accidentally putting it on a sales order for a wrong customer.
How strong do you want the security for this?
A. Absolutely do not allow an order (or MIsc shipment) to include the part number, unless the specific Customer is selected.
B. Make it unlikely someone would use the part with the wrong customer. Basically “hide” the part from order entry folks. Make it not show up in searches, and the only way to add it to anorder is to manually type in the part num.
Option A would be ideal
BPM is going to be your best and only option then. Should be pretty straight forward. The OrderDtl table contains both CustNum and PartNum. Could easily validate if a specific part matches specific customer.
Would probably go one step further and add Part.CustNum_c to assign customers directly to part records.
@SueLowden 's post outlines the most elegant and maintainable solution.
A quick and dirty solution would be to hardcode the partnum and custnum into a BPM that would not allow saving a line on an order when the partnum matches and the custnum doesn’t.