cancel
Showing results for 
Search instead for 
Did you mean: 

Cancelling order discounts when below Customer's Minimum Order value

Former Member
0 Kudos

I've been reading what I can find about discount conditions etc and am slightly confused as all the examples seem to relate to item line situations. We need to have a setup where all possible discounts are cancelled if the order total value is less than a given minimum order value (or threshold) related to that particular customer - and not based upon any line item value.

We do not use Minimum Order Value as per the SAP examples given i.e. orders not accepted below the MOV and therefore surcharges added. As mentioned we use a threshold value for most customers under which discounts do not apply.

Because of this we cannot automatically email or fax acknowledgements, and we have a massive time consuming checking operation for orders added to ensure mistakes are not made i.e. discounts applied incorrectly before the acknowledgements are sent out.

Can anyone advise as to where I can find the path to getting a solution to this problem.

Thanks

Jim Jackson

Edited by: Jim Jackson on Feb 20, 2009 9:11 AM

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Dear Mr.Jackson,

Let me try this .

In sales order apply the user exit USEREXIT_SAVE_DOCUMENT .

When u save the sales order, system will check the field Qty (KOMP-MGAME) with your minimum order value field from the material master (MVKE-AUMNG) .

If the sales order quantity less than the MOV , then it will trigger UPDATE PRICING in the item->condition with Pricing Type as B (Carry out new pricing) .

Let me know wheather it works...................

Thanks

MKS

Former Member
0 Kudos

Hi MKS,

I understand what you are saying and I was thinking that a user exit would end up being the solution.

The only thing from what you suggest is that what we want is related to the specific customer and the total order monetary value after all of the lines have been entered. Relevant customers will have been designated an order value via condition AMIW so that if their sales order value is above that threshold, then discounts can apply where appropriate. If the sales order value is below that level, then discounts cannot be applied. We can set the order values but cannot figure out how to cancel discounts if below that figure.

This is a different scenario to the one in SAP's examples where they use this condition to apply surcharges i.e. when the sales order value is below this minimum order value they apply a surcharge for the difference.

Regards

Jim

Former Member
0 Kudos

As suggetsed, I've checked the MV45AFZZ user exit and the forms in there and can check order total and then the order lines for discounts in USEREXIT_SAVE_DOCUMENT_PREPARE and USEREXIT_SAVE_DOCUMENT. What I've failed to do so far is find a way of deleting the K030 discount records when the total order value is less than what is required for that customer. From the company's point of view, checking a line total is not appropriate, it has to be the total order value reviewed and all of the discounts kept if valid or all discounts across all lines should be deleted if not valid.

I get the vbak-knumv value to get to the konv records where the condition details are kept. I can loop through these and calculate a total order value without using the discounts. I then use this total to check whether discounts are valid or not and then I try to delete them from KONV if invalid. This does not happen.

Can anyone advise as to what this next step should be to delete the invalid discounts when they happen.

Thanks

Jim Jackson

Former Member
0 Kudos

I understant AMIW is Header condtion type - statistical- and has the MOV value for the specified customer.

Maintain AMIW as Header / Line condition type.( T Code V/06)

Create the condition reocord for AMIW with EXCLUSIVE Indicator X.(VK11)

Then create a requirement for all the discount condition types, if the total order value = or > AMIW value then do not check the exclusion indicator( KOMP - KZNEP), ELSE check the exclusion indicator.

( T Code VOFM)

During order save - automatically repirce the order in Userexit_save_document_prepare or userexit_save_document.

If there is a partial delivery, during Invoicing if the copy control(delivery to Invoice) has carry out new pricing B, the above setting might fail. Maintain the copy control setting to copy pricing elements unchanged and redetermine taxes OR try to determine the condition values in the invoice from the order.

Hope this helps.

Thanks

Sai

Former Member
0 Kudos

Thanks, Sai.

I understand the logic of what you are saying and will try that out. I've never worked in VOFM before and the times I've looked at it, I've found it a bit daunting and not easily understood. It's surprising how complex the condition process actually is when you get into it.

I'm out of the office for the next week but I'll be working on it on my return.

Best regards

Jim

Former Member
0 Kudos

Thanks to all those who took the time to help answer my query.

Creating a VOFM routine (901) in Formulas --> Condition value as a copy of routine 013 was the answer.

In the routine, I totalled the Order value via looping and checking for the VA00 and PR00 records in internal table, TKOMV. I checked the AMIW record for the MOV and if the Order value was less than MOV, I zeroised XKWERT in the K030 discount records.

This works fine for VA01 and in VA02, repricing takes place on saving the order or via GoTo --> Header --> Conditions.

Best Regards

Jim