cancel
Showing results for 
Search instead for 
Did you mean: 

Post Goods Issued Quantity vs Customer received Quantity.

Former Member
0 Kudos

Dear All,

I am having a requirement where there is always a difference between dispatched goods quantity to customer received quantity.

For Example:

Frozen Material of 100 Kg dispatched to customer, while customer is receiving delivery weight is reduced to 95 Kg.

For this we need to capture both quantities and as actual dispatch was 100 Kg so delivered quantity cannot be changed, but we need to bill customer only for 95 Kg. Please help on this.

Looking forward for your kind solutions.

Regards,

Yogesh Singh

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

We made some enhancement and it is done.

Thanks all for giving your valuable inputs.

Regards,

Yogesh Singh

former_member182378
Active Contributor
0 Kudos

Yogesh,

This is an interesting requirement! Please give some clarity.


But difficulty is client want to generate only one invoice number against delivery document. And as per business process it is mandatory to issue invoice along with delivery challan to transporter.


Invoice can be blocked for posting till we receive confirmation from customer. then invoice is to be released for accounting.

What solution is done?

1. Invoice created for 100 qty and sent with truck driver

2. No accounting document created (as there is posting block)

3. SH confirms that 95 qty was received

4. In VF02, is the qty changed to 95 in the invoice?

5. This invoice is released and accounting document is created.

Is this the way the process works?

Thanks!

TW

Former Member
0 Kudos

Hi TW,

You mapped requirement correctly but Billing quantity is not getting changed we have calculated all pricing calculation on actual confirmed quantity except VPRS and some other pre-sales overheads.

Regards,

Yogesh Singh

Former Member
0 Kudos

Please find developed solution.

1). User goes to pricing screen and changed the actual and missing quantity.

     

2). First program flow goes to ENHANCEMENT XYZ***3.

2.1). If pricing condition type is Z***, Z***, Z*** or Z*** then  insert the value of KOMV-KUMZA and

         KOMV-KUMNE in to Z**_QTY table for KNUMV and KPOSN.

2.2). If same key value already exist then modify the values else insert new values. Use KOMV and KOMP

         Structure data to insert or modify values in Z**_QTY.

2.3) Z**_QTY table is used to hold actual and missing quantity.

3). After this program flow goes to ENHANCEMENT XYZ***4. Here its changes the basic unit of

     Measure for division **. If RV61A-MEINS = 'EA' then change it to 'KG'.

4). After this program flow goes to ENHANCEMENT XYZ***3 1. All pricing calculation takes place

     here.

5). Check division is ** and transaction is VF01, VF02, VF03, VFX3.

6). If account posting is initiated then check PGI is done for the invoice.

  6.1). Select data from VBFA table for delivery number where document type (VBTYP_N) is 'R' or 'h'.

  6.2). If total of 'R' mines total of 'h' is less than 1 then display error message for PGI not done.

7). If division is ** then use KOMV-NTGEW for quantity else use KOMV-MGAME for quantity.

8). For division ** check if material is catch weight material or not. If not then treat division ** as **.

9). XKONV is main table, which is passed to enhancement through standard program.

10). Loop at XKONV for basic and actual conditions. Divide quantity of step 7 at decimal place and insert

       into KUMZA and KUMNE fields of XKOMV.

  10.1). Change actual and basic quantity and amount .Multiplying quantity with rate to get amount.

11). Now get the actual (Z***, Z***) and missing (Z***, Z***) from Z**_QTY table (check step 2).

  11.1). If values found then modify XKONV else insert relevant XKONV data into Z**_QTY table.

12). Now loop at XKONV and calculate amount for every pricing condition.

  12.1). Basic and actual price is already calculated in step 10.

  12.2). For actual and missing pricing condition, If value found in step 11 then use XKOMV-KUMZA,

            XKONV-KUMNE and XKOMV-KBETR to get amount.

  12.3). If condition type is ZD** or Z**V then get discount using XKONV-KBETR and actual amount.

            If ZD** then (XKONV-KBETR * actual amount) / 100000 is discount amount.

            If Z**V then multiply actual quantity with XKONV-KBETR to get discount amount.

  12.4). If condition type is Tax condition types then get amount  as calculated for discount.

  12.5). Get VPRS (Internal Price) rate by dividing material document amount with material doc quantity.

            Get all 'R' records from VBFA table for delivery number and use most recent document.

13). Calculated amount for all other conditions same as step 12.

14). If basic quantity - actual quantity - missing quantity is less than 0 then give message and clear missing

        Quantity fields.

15). Now calculated values for fields where KSCHL (condition type) is blank (Like: Price after Tax).

  15.1). for price after discount and price after tax rows add actual amount and discount/tax amount.

16). Coinage is also calculated by this enhancement. first add total value of all items and then get the

        round off  value. Divide this round off value equally in all items.

17). After this program flow goes to ENHANCEMENT Z***_****1.

  17.1). Here program calculate the net value of every line item. Net value is actual value + discount +

            freight + coinage.


Regards,

Yogesh Singh

former_member182378
Active Contributor
0 Kudos

Hi Yogesh,

Thanks for your post!

but Billing quantity is not getting changed we have calculated all pricing calculation on actual confirmed quantity except VPRS and some other pre-sales overheads.

Added: How does the SAP system know about the changed qty (e.g. 95)?

Is this inputted by the user? where?

Please clarify taking the below example -

1. Invoice created for 100 qty and sent with truck driver

2. No accounting document created (as there is posting block)

3. SH confirms that 95 qty was received

4. In VF02, is the qty changed to 95 in the invoice?

5. This invoice is released and accounting document is created.

TW

Message was edited by: TW Typewriter - added in blue

Answers (3)

Answers (3)

moazzam_ali
Active Contributor
0 Kudos

Hi

The best way is to control this through POD. You should activate relevant for POD for your item category and then confirm POD in VLPOD. If you have delivered 100 KG and customer has receieved 95 KG then you'll be issuing 100 KG at the time of PGI but in invoice system will copy only confirmed stock which is 95. Check this and let me know in case of any issue.

Thank$

Former Member
0 Kudos

I also thought that it can be done through POD. But difficulty is client want to generate only one invoice number against delivery document. And as per business process it is mandatory to issue invoice along with delivery challan to transporter.

Can you further help on this?

Thanks for replying

Regards,

Yogesh Singh

moazzam_ali
Active Contributor
0 Kudos

Then how would they know actual delivered quantity? Lets say we create a delivery of 100 KG today and we have saved PGI and invoice. We give invoice print and delivery print to transporter and it take two days to deliver this material. After two days customer tell you that he has receieved 95 KG. Then what and how would be the treatment of this 5 KG difference and what would be the benifit of knowing this after posting the invoice? In my opnion you should convice your client to follow standard process and give delivery order print to transporter and post invoice only after getting actual delivery confirmation.

Thank$

Former Member
0 Kudos

I am trying to do it through enhancement, if there would be no further solution available. Invoice can be blocked for posting till we receive confirmation from customer. then invoice is to be released for accounting.

Regards,

Yogesh Singh

Former Member
0 Kudos
I am trying to do it through enhancement, if there would be no further solution available. Invoice can be blocked for posting

For this no enhancement is required,  you can  achieve the same (Invoice can be blocked for posting) in standard SAP.

In VOFA enter respective billing doc type,  you will find a check box called posting block in control tab.  Just checked it.

Another solution is proforma invoice where accounting doc will not generate after saving invoice.

Hope this will help you.

Regards

-AJC

Former Member
0 Kudos

Huhhh... I was talking about to map my whole requirement through enhancement.

Anyway thanks for replying.

Regards,

Yogesh Singh

Former Member
0 Kudos

Hi,

an approach could be a mixed solution:

- print an proforma invoice that will take away transporter

- use POD to finally bill by received quantity

Regards,

JM

Former Member
0 Kudos

Hi JM,

Although i am sure it can't be mapped through POD as Invoice need to be send along with delivery challan and client wants only single invoice number against particular delivery document.

Regards,

Yogesh Singh

Former Member
0 Kudos

may be your view right, could you please able to post the actual proposed solution so that other member will have same for the future. please respond to help

warm regards,

Jagdeesh

venkateswarareddy_medam
Active Participant
0 Kudos

Hi Yogesh,

Maintain the delivery tolerances and try.

Regrds,

Venkat.

andrea_brusarestelletti
Active Contributor
0 Kudos

Hello,

  you should first of all (I suppose you already did) define whether this situation, that's to say the difference among delivered quantity and received quantity can happen sometimes, or if it's predictable since it's Always happens.

In the first case, in my opinion you should invoice the whole quantity,  and then issue a credit note for the difference.

In the second case, you could manage it with a material discount, or defining a net price based on a reduced order quantity, instead of the whole order quantity (using pricing base routine).

Best regards,

Andrea

Former Member
0 Kudos

Giving credit note or discount is not a solution for me.

Thanks for replying