Part Discount

Is there a way to have a part that is non-discountable? Such as freight? I want to add freight as a line item on the sales order and the customer has an automatic discount % but I don’t want the freight part number to have the discount as well?

I see two options…

  1. Use Misc. Charges for Freight instead of making it a line item.
  2. I think you can make a Discount Price List for non-discountable parts, and then put it higher in the hierarchy for the customer/customer group. It should pick up its discount of 0 before getting to whatever price list you are using to make everything else have a discount. This only works if your current discount is coming from a price list.

Any other ideas?

1 Like

Same question as the OP, except it’s a regular part, not freight. (We use misc charges for freight.)

Like the OP, we do flat discounts by customer (this customer always gets x% off every line). But every so often we have a part that is not allowed to be discounted ever (don’t know why; just the messenger).

Sounds like that’s impossible with flat discounts? I’d have to switch to the Discount Price List methodology instead? (Or make a BPM, etc…)

That’s really depressing.

I tried doing a price break and setting the customer discount setting to Max (instead of Add), but it was ignored. (It applied BOTH the price break and the discount percent.) I guess that’s not what that is for?

I was going to suggest looking at Price Groups…

Price Group Maintenance

Use Price Group Maintenance to create and update price groups in the Order Management module.

Use price groups to establish discounts based on the order value, quantity, or both. Price groups provide a powerful pricing strategy when used with product groups. The relationship between a price group and a product group provides pricing for the parts that belong to that specific product group.

But setting one up with a Discount of zero yields:



A change to an order line (like Qty or unit price) fires SalesOrder.MasterUpdate(), with:

Maybe intercept the MO method and tweak the Disc fields based on checking a parameter of the part (UD field or belongs to a specific group, etc…)


FWIW - using a Product Group assigned to a Price Group, makes the Line Discount % show the combination of the Cust’s Discount and the Price Group Disc.


The above is on an order with a 15% Cust Disc, and the Price Group set to 7.5%

I didn’t mention the BPM option or anything. I have no desire to fiddle with that for the 0.01% of the time this can happen. I think they will just watch it manually here.

I’m guessing that’s when the max/min/add option comes into play?

I believe adding the part to the product group price list will effectively “remove” it from that discount %:

Here is my product group discount setup:

Then setting up the specific part I don’t want to have the discount (same price list):

I assigned that to a customer in the Discount Price List tab.

On a sales order, you get the discount for a part that wasn’t defined on the price list, but is part of the product group:

But the one I defined on the part tab:

As you can see, the 30% did not go to the part that I defined. This may not be applicable to your case, but I’ve found it useful if we have parts that we don’t want to discount that are in the same product group.

OK, but that’s not my goal, personally. I wanted to avoid the discount list. Sounds like that is the only way that is out of the box. :frowning_face:

I get you can do this at the customer group level, which is less overhead (compared to customer by customer). But it’s still more hoops than I hoped/expected.

I figured that, but thought I would put it out there.

I don’t see any way short of doing an BPM that would achieve this.

1 Like