Non-completed purchase order is recalculated when billing address is changed

Vote:
 

I have created a custom line item promotion using the "new" promotion system. I can use it on my cart and place a order. The promotion code is part of the B2C website, and not part of Commerce manager. If I, in Commerce Manager, change the billing address of the placed order, the order is recalculated, which removes my custom promotion and thereby changes the total price of the order.

I can see that this happens in Mediachase.Commerce.Manager.Apps.Order.Modules.OrderAddressEdit.cs, search for OrderStatusManager.RecalculatePurchaseOrder in btnSave_ServerClick(...).

I realize that this is a unusual case, but it could very well happen. Is the solution to (in some way) disable workflows in commerce manager, or to include the promotion implementation also in commerce manager?

As a result/consequence of this - I also tried using a existing Episerver promotion (Spend amount, get free item), and it seems it have some wierd behaviour. If I...

  1. Place an order without any promotion applied
  2. Create a promotion (Spend amount, get free item) which would have been fulfilled by the previous, existing order
  3. Change the order billing address for that order, via commerce manager, which triggers the recalculate
  4. The free item has now been added to the existing purchase order :o
#209252
Nov 12, 2019 14:36