Hi Guys

I have seen many threads about proof of delivery (POD). I want to share something about POD that how we can use this for two different business scenarios. In standard SAP you can see help documents stating that POD can be used for confirming material delivery to the customer and its quantity. There are some companies in which they sales process is different. I have two scenarios in my mind and which I have faced practically.

 

  1. Sale order created > Delivery Order created > shipment document created and goods dispatched with delivery note > material received and confirmed by customer > Billing document created.
  2. Sale order created > Delivery order created > Billing document created and goods dispatched with invoice print > customer received and confirmed goods.

   

For first scenario we can use standard POD functionality which you can see in the below links

 

http://help.sap.com/saphelp_470/helpdata/en/c4/13c0da0f9011d3b47f006094b9b9dd/content.htm

 

http://help.sap.com/saphelp_46c/helpdata/en/65/3c1a2bc925d311b60f0060b03c2bff/content.htm

For second scenario we have to modify the standard POD system and I have tried to control this through standard settings but I couldn’t make it possible. I have also tried to modify copying routine 003 which we maintain in header level copy control from delivery to billing but was not possible without access key which is not recommended. We can’t even make our own copying routine by copying 003 to edit the error message number which is mentioned there as you can see in below screen.

Capture.PNG

I was only asked to maintain POD date, POD entry date and time. There was no requirement of quantity or any other information because in my case material quantity is always same as delivered. To fulfill this requirement I had only one choice left i.e enter additional field in billing document. We can also use text for this purpose but in text user can enter date in any format and we don’t have change log or entry log for this text. I asked my ABAPER to enter additonal fields in billing document header. ABAPER used append structure functionality and added three custom fields in VBRK table. I am not going into detail that how ABAPER added these fields as this is purely ABAP area. If you want to see how it was done you can check this in below link. The difference is only with field name and tab name. Functionality is same as I have tested this by myself after ABAPER has done this

http://www.****************/Tutorials/ExitsBADIs/VF01/Header.htm

With this I have additional tab with three fields in it. POD date field which is editable in VF02 even after accounting document is created. POD entry date and time which system maintains automatically and these fields are not editable in any way. We can also see the change log of POD date in standard chnage log of billing document i.e Environment > Change Log. Please check in below screens.

Capture.PNG

If I change this field then system will maintain its change log.

Capture.PNG

With this users can enter POD date after billing document is created and we can fetch this field in any report very easily. You don’t have to go for VLPOD for the 2nd scenario.

If you have any other scenario regarding POD or you have any query please ask me in your comments.

Regards

MoazzaM

To report this post you need to login first.

54 Comments

You must be Logged on to comment or reply to a post.

  1. Typewriter TW

    MoazzaM, Members,

    It is surprising that there are no comments at the content level (questions, other business scenarios, etc. etc.) !

    MoazzaM,

    A question about the dates in the screenshot –

    POD date = 25.09.2013

    POD entry date = 20.09.2013

    That means a user is entering in the billing document, of a POD which is after the entry date!

    How is this possible?

    POD date can be equal to or before the POD entry date. (and not after)

    Side comment – The blog touches lot of interesting points – Change points, Text field, ABAP coding to create new fields etc.

    Thank you!

    (0) 
    1. ' MoazzaM ' Post author

      TW Typewriter

      Good point and catch 😀

      I just put the screens to show the fields. I also didnt check the dates. When I created this document system showed the current system date in POD entry field and I manually entered 25 in POD date. Your point is valid and I am thankful that you highlighted this. You are right about dates. POD date can be equal to POD entry date always.Not before or after because when ever user will change POD date system will automatically update POD entry date field as well and maintain a change log of it.

      Thank$


      (0) 
      1. Typewriter TW

        MoazzaM,

        Not before or after because when ever user will change POD date system will automatically update POD entry date field as well and maintain a change log of it.

        Take a business scenario –

        The date, time and signature on the “POD” (a copy of the delivery note, with the signature of the SH warehouse staff) are of Monday, the same day this paper arrives in the company office. But all the POD entries (in the billing documents, in the z fields mentioned by you) are done on the following Friday (4 days after the POD is done).

        In this case the POD date = 09-Sep-2013

        POD entry date = 13-Sep-2013

        Now because entry of POD information is done on 13-Sep, the POD date can not be made as 13-Sep (for the above case).

        Or because POD date is 09-Sep, the POD entry date can not be made as 09-Sep; the system date being 13-Sep.

        (0) 
        1. ' MoazzaM ' Post author

          TW

          You are right. I missed this scenario. In my case our users are bound to enter POD on same date when they receive acknowledgment but in some cases this can be done on later dates as you have explained. Thank you for this explanatioin.

          Thank$

          (0) 
    1. ' MoazzaM ' Post author

      That is standard POD process. Thank you for sharing. I just modified it if we have to enter POD date after billing document creation. In most of the companies they receive customer confirmation on invoice print out so they have to enter POD after billing document creation so thats why I shared the document.

      Thank$

      (0) 
  2. Riten Patel

    The idea is to deactivate only that piece of code in the standard routine which checks POD status and prevents invoice creation.

    Rather than change the standard routine, a new routine can be created as follows:

    1. VOFM –> Copying Requirements –> Billing Documents

    2. Give a routine number (901 for example) and description.

    3. Copy the code of routine 3 (Header/dlv.-related) EXCEPT for first and last statements (Form and Endform)

    4. Paste in the new routine. Comment the code (shown below) related to POD status (PDSTK) check and activate the routine.

    .

    • POD-Status

    IF VBUK-PDSTK NA ‘ C’.

        PERFORM VBFS_HINZUFUEGEN USING ‘000000’ ‘197’    SPACE SPACE SPACE.

        SY-SUBRC = 4.

        EXIT.

    ENDIF.

    5. After activation of this routine, make sure that this is assigned in the configuration as follows.

    VTFL transaction –> choose the relevant billing type and delivery type copy control and double click to open the header settings. The copying requirements routine is 3 in standard R/3; replace this with 901 and transport the configuration as well as the routine.

    6. With the above routine and configuration active, when an invoice of the relevant billing type is being created, system won’t prevent even if POD status (PDSTK) is not C (complete).

    (0) 
        1. ' MoazzaM ' Post author

          Hi

          How did you manage the Inserts which are there in standard routine? Could you please share the complete coding of your 901 routine?

          Thank$

          (0) 
    1. ' MoazzaM ' Post author

      Hi

      In VLPOD we can confirm different quantity and we have to maintain over delivery or under delivery indicator as well but when we have billed some delivery order, we can’t do its POD afterwards.

      What is your scenario?

      Thank$

      (0) 
      1. ZHUO WEI

        ‘ MoazzaM ‘ Thank you for your reply.

        My scenario is the Sales Order raised 100 qty and Delivery made 100 qty. The first month we confirm 40 qty and billed 40 qty, and then the next month we want to confirm the left 60 qty for the same dlivery item and bill it.

        Is it possible or is there some other ways to achieve the goal.

        (0) 
        1. ' MoazzaM ' Post author

          Hi

          When you have made delivery of 100 quantity then how you can delivery goods physically 40 in first month and 60 in next month? We delivery goods in system and physically at the same time with same quantity.

          If you want it like this then make two deliveries. First would be with 40 and second with 60 quantity.

          Thank$

          (0) 
          1. ZHUO WEI

            Hello ‘ MoazzaM ‘

            My scenario is that we recognize the COGS & Sales revenue at the time the customer confirms the goods. At the time we delivery goods we don’t know how will they confirm them. Maybe they confirm 40 qty this month, but perhaps they only confirm 20 qty this month. So we don’t know how to make the right deliveries.

            (0) 
            1. ' MoazzaM ' Post author

              Then you should follow stock in transit concept. At the time of PGI system will issue stock and it will be in stock in transit and at the time of POD system will issue stock from your system with 601 movement type.

              (0) 
              1. ZHUO WEI

                In our project, we recognize the COSG at the time of POD as system issue stock in transit with 601+T.

                As the costomer confirms the stock in transit irregularly, so I need to POD one delivery more than once.

                (0) 
                1. ' MoazzaM ' Post author

                  How did you manage to put stock in transit with 601 movement type? As far as I know for stock in transit there is some other movement type 65* or may be 68* i dont remember the exact movement type.

                  I think you should open a discussion on this so that other members can also give you suggestions.

                  Thank$

                  (0) 
  3. Usha Rani Bandaru

    Hi MoazzaM,


    My scenario is similar to second scenario. When Customer receives goods, he sends a GRN. We are receiving GRN from Customer and creating POD against that. However, what would be logic, if customer does partial GRN? Say if I have delivered 100 quantity along with invoice print. Customer has placed 50 in blocked stock and did GRN against invoice for rest 50 quantity. Rest 50 they will be doing GRN at later stage – whether accepted or rejected with reason code.


    At our end, the idea of capturing POD should cover reason for all lines of invoice for entire quantity, so that status of GRN can be found as COMPLETED or PENDING. This information would be used by commercial team for Payment validations.


    Does the function module YSD_IDOC_INPUT_STPPOD support receiving partial GRN multiple times against an Invoice and update VLPOD table? We have done some customization at our end and currently if GRN is sent against an invoice multiple times, data in VLPOD will be over written.


    Please explain if standard program support this or feasibility for customization.


    Regards,


    Usha.

    (0) 
    1. ' MoazzaM ' Post author

      Usha Rani Bandaru

      There are two points.

      1. Function which you are sharing is not a standard one and that is your customized ABAP system I guess. I have never worked on Idocs so I am not able to comment on that.
      2. How would yo do POD after billing document is created? Have you done some customization for doing POD in VLPOD Tcode after creation of billing document?

      Kinldy give answer of 2nd point so that I can analyze it further.

      If you are looking for some customized solution you can follow the same which I have shared in this document. WHat you need to do is just add your customized fields in invoice at line item level. For us it was at header level because there is always full delivery and fully accepted by customer. In your case if it can be partial then you have to go for item level.

      Thank$

      (0) 
  4. ' MoazzaM ' Post author

    Thank you for your positive feedback Haresh, Madhu and Ramesh Kumar. Its good to see that this is useful for you guys.

    Thank$

    (0) 
  5. Annis Lee

    Dear MoazzaM,

    The info is indeed very much useful.  However, I have further query on the solution whether do we need to have separate order type, delivery type to handle POD and non POD customer order?

    Regards,

    Annis

    (0) 
    1. ' MoazzaM ' Post author

      Hi

      Are you talking about standard solution or the customized one? For standard solution you don’t need to have any separate order type. POD is controlled based on item category type. For customized solution you can add fields and screen in invoice. No need to have anything separately.

      Thank$

      (0) 
      1. Annis Lee

        Dear Moazzam,

        Thanks for the quick respond and would like to understand a little further on the item category type is it going to be at the order or delivery?  Appreciate further clarification on this and thanks.

        Annis

        (0) 
        1. ' MoazzaM ' Post author

          Hi

          ITem Category is always there in order and delivery both. Settings for item categories are in SD and Logistics nodes. If you want to get more details, why don’t you google with text “Delivery Item Category” and “Sales Item Category”.

          Thank$

          (0) 
  6. Mark Ojo

    we do not use POD functionality in my company but one of our distributors needs this requirement in SAP for deliveries to the final customer, they have given us a spec how we can map our IDOCS into their system, any suggestions how we can achieve this?

    (0) 
  7. Ouma Ronald

    Thank you very much MoazzaM for this Explanation. The second scenario is very useful for my company’s Scenario. We would like to be able truck delivery notes that come back from customer with their stamps and scan and attach the same in SAP while monitoring which ones haven’t been received back;

    1. Can you be able to make the it in such a way that it sends notification for deliveries not received after a given period of time

    2. Can you attach scanned copy?

    3. Can one have an exceptional report for the ones that haven’t been received back?

    Thanks,

    Ouma

    (0) 
    1. ' MoazzaM ' Post author

      Hi

      What you are talking about is ABAP development. All these requirements are possible with ABAP. Attachment is something that can be done in standard.

      Thank$

      (0) 
      1. Ashwini Thakre

        Hello Sir,

        I have gone through your document posted here it is very useful. We have recently configured POD process but the scenario is little different than mentioned above.

        For Export

        Order –> Delivery –> Proforma invoice –> Confirmation of delivery(Based on ETA) –> Final invoice
        For handling BL charges user is not ready to use shipment and shipment costing as the requirement is to hit the different charges in different GL as per vendor which is not possible through standard shipment costing. Can you please guide on the same.

        also one more challenge is our customers are based in different countries where ETA at customer is 30 days or more how can we automate POD confirmation based on time frame in customer master as for the same customer material dispatched from different factory and from different terminals and hence the time frame will vary.

        please help in this case.

        Thanks
        Ashwini

        (0) 
        1. ' MoazzaM ' Post author

          Hi

           

          Though I am replying after many days of your comment posting, let me put my views if these are still helpful for you.

           

          Posting different charges in different GLs using shipment cost document is possible. I am not sure why you are saying that this is not possible. If you can explain your requirement in details may be I can help you.

          For POD it is manual based on ETA or lead days. Once the POD is received from customer you can use VLPOD and confirm the delivery. Automatic POD is also possible using an Inbound Idoc. You can search in google for more information on this.

           

          Thank$

          (0) 
      2. Ashwini Thakre

        Dear Sir,

        Need your input on below query.

        Hello Sir,

        I have gone through your document posted here it is very useful. We have recently configured POD process but the scenario is little different than mentioned above.

        For Export

        Order –> Delivery –> Proforma invoice –> Confirmation of delivery(Based on ETA) –> Final invoice
        For handling BL charges user is not ready to use shipment and shipment costing as the requirement is to hit the different charges in different GL as per vendor which is not possible through standard shipment costing. Can you please guide on the same.

        also one more challenge is our customers are based in different countries where ETA at customer is 30 days or more how can we automate POD confirmation based on time frame in customer master as for the same customer material dispatched from different factory and from different terminals and hence the time frame will vary.

        please help in this case.

        Thanks
        Ashwini

        (0) 
  8. D E

    Nice Article! Very helpful..thanks..One question how POD date would get updated? is it thru some interface/batch job or user need to go each and every invoice & enter manually..

    (0) 

Leave a Reply