Shipping Discount with Multiple Shipments only applied to First Shipment


We have a project running Commerce 13.7.0 where we break orders in to multiple order forms / shipments, and are having trouble with shipping discount only applying to the most expensive shipping cost, and not the others. IE

Shipment 1 has a shipping cost of 39.76

Shipment 2 (in the same order form) has a shipping costs of 28.00

When we apply a coupon code that should apply a 10% discount, we get total saved of $3.98 and a total shipping cost of $63.78.

I believe I have traced it back to ShippingRewardApplicator.Apply method where it calculatus the remaining shipping costs using the sum of shipments in affectedShipments, and not on a shipment, by shipment level. Is this a bug, or is there an reason for doing this? We can reimplement this the way we need, but wanted to check first.

Jan 29, 2020 19:56

Hi Michael,

It's not a bug, we(Commerce team) implemented it intentionally. The shipping discount is only applying to one shipment which has the greatest discount amount.

For your purpose, you should reimplement the Applicator in your way.

Best regards


Feb 03, 2020 3:09


Thanks for the quick reply. We will do that.


Feb 04, 2020 19:35
This topic was created over six months ago and has been resolved. If you have a similar question, please create a new topic and refer to this one.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.