cancel
Showing results for 
Search instead for 
Did you mean: 

Billing of entire fixed amount Header condition in first partial Delivery

Former Member
0 Kudos

Dear,

 

I am wondering WHICH (if any) user exit I can use to accomplish the following:

We have a Header Condition of calculation type ‘Fixed amount’ in use that is distributed over the Sales order items according to the value of the items.

According to Note 876617 this is standard behavior and we are fine with that.

Our requirement however is, since we have lots of partial deliveries, to have this Header Condition billed IN FULL AFTER THE FIRST DELIVERY.

What happens now for example is we have a Sales order with one item with a quantity of 4 PC and a PR00 of EUR 100,-/pc and the Header Condition mentioned of EUR 10,-.

Now when we make a (partial) Delivery of 1 PC and a (Delivery-related) Billing document, the PR00 of EUR 100,- is copied without a problem but the Header Condition ends up in the Billing document with a value of EUR 2,50 (KOMV-KWERT); it is distributed as EUR 10,-/4 (being the total quantity) * 1 (being the partial quantity).

We want it to end up in the Billing document only after the first (partial) Delivery, and for the full value of EUR 10,-.

Again, is that possible with a (WHICH?) user exit?

Thanks in advance for the correct answer, this will be rewarded in full.

Kind regards,

Bart

Accepted Solutions (1)

Accepted Solutions (1)

former_member183879
Active Contributor
0 Kudos

Hi Bart,

I have a problem in understanding.

When you have 4 items and PR00 = EUR 100

Delivered items 1 and hence expected PR00 = EUR 25.

But you say that you are getting EUR 100 in the Delivery related invoice. You also say that it is fine. Actually it is not fine. In my understanding, it is not correct to deliver 1 item to the customer and then bill him for just 1 item (delivery related) but charge the entire amount to the customer in the invoice.

Is your PR00 25 or 100.

For your actual question,

The concept of header condition type or item condition type applies only upto the sales order. Once you include the header condition type, the value gets allocated to the items. From here onwards, it is treated like an item condition only for purposes of copying to subsequent documents. You cannot have the entire value of header condition in the invoice for the first partial delivery. In my opinion, your header condition type works the way it is expected to work.

If you really want to do it in USER EXITS, it is possible but I would suggest to have clean process.

Anyway the user exit used can be in the routine RV61AFZB The exit can be USEREXIT_XKOMV_BEWERTEN_END

Former Member
0 Kudos

Hi Navaneetha,

 

You did not understand me correctly: like I said, the PR00 is EUR 100,- PER PIECE.  So if we sell 4 PC at EUR 100,-/PC and (partially) deliver 1 PC, the Delivery-related Billing document should be EUR 100,- for the 1 PC delivered..

Further, I know the concept you describe; I mentioned Note 876617, which of course I have read carefully before posting this thread:)

Anyway, I'll have a look in the user exit you mentioned, thanks for that.

Kind regards,

Bart

Former Member
0 Kudos

Dear Bart

For further help please don't hesitate in asking.

Thanking you!

Ashish Mishra

Answers (2)

Answers (2)

ivano_raimondi
Active Contributor
0 Kudos

Hello Bart,

the recalculation of fixed condition is made in fucntion PRICING_COPY:

      IF quantity_old > 0 AND quantity_old NE quantity_new.

      ...

          arbfeld = xkomv-kwert   * quantity_new / quantity_old.

          xkomv-kwert = arbfeld.

the userexit USEREXIT_PRICING_COPY is performed just BEFORE that part of source code.

Best regards,

Ivano.

Former Member
0 Kudos

There Bart

This you can achieve through Requirement in the Pricing Procedure with that condition type, where you can inactive that condition type when it is being used with a order when there is already a billing has been done.

if have to write logic like that from VBRP you will pick Sale order AUBEL because you will get sale order number here only, and after getting the value select VBELN FROM VBRK, where VBELN equals to line item VBELN and FKART NE 'S' and FKSTO NE 'X', and again when you get the value , make

LS_KOMV-KINAK = 'M'.

LS_KOMV-KAWRT = 0.

LS_KOMV-KBETR = 0.

LS_KOMV-KWERT = 0.

and modify TKOMV.

Similarly move to VBAK and take the document flow  and there and if you get a billing document, then inactivate your condition with the KINAK field.

This will resolve your issue.

Thanking you!

Ashish Mishra