Skip to Content
Technical Articles
Author's profile photo DICKSON JIN

SAP MM – Change of material moving average price after goods receipt and invoice verification posting for PO

This blog is based on the SAP system of S4HANA 1909 version. The system environment activates the retail industry solution, and the displayed materials use the moving average price as their price control.


1,The PO 4500000807.

The net price of material is 2 EUR per EA.


Suppose we just have one purchase surcharge, the customs duty, and its rate is 10%.

The inital MAP (moving average price) is 1.95 EUR,

Initial stock 400 EA,initial stock amount is 780 EUR, see above screen.



2,Exeucte the transaction code MIGO to do GR for this PO.

Save it, then the material document 5000000794 generated.

Check the finance document of this material document,

Dr:Raw material 220

Cr:GR/IR 200

Cr:Customers clearing MM 20

It can be seen that the customs duty of 20 EUR has been included in the cost of materials.



3, Execute the transaction code MM43 to observe the MAP of article master.

You can see that the MAP has been updated by SAP system. The new MAP is 2 EUR, see above screen.

Click the button “Material price analysis”, get below screen:

Before GR, the MAP is 1.95 EUR, stock quantity is 400, the stock value is 780 EUR.

The MAP after this time GR =(the stock value before GR + receipt stock value)/(the stock quantity before this time GR + the GR quantity) =(780+ 2.2*100)/(400+100)=1000/500 = 2 EUR/EA.



4,Execute the transaction code MIRO to do invoice verification.


4.1,First let me post the invoice for the materials. The price of invoice is 2.5 EUR/EA (in PO the price is 2 EUR/EA).

Save it,

The invoice document generated. Now go to see the MAP in article master,

You can see the MAP was updated again, the new MAP is 2.1 EUR/EA. Because the invoice price is 0.5 EUR bigger than the PO price, after invoice posting, the stock value increased 50 EUR (0.5*100), the total quantity is 500 EA. Then the MAP=1050/500=2.1 EUR.



See the material price analysis result,

4.2, The invoice for the customs duty. We suppose that the rate of customs duty is not the same as the rate I maintained in PO document,the rate is 5%, not 10%.


Save it,

Another invoice document generated successfully.


Now check the MAP in article master data again,

The new MAP is 2.08 EUR, see above screen. Check the material price analysis result,

Because the customs amount was deducted 10 EUR, so the stock value was changed from 1050 EUR to1040 EUR. The stock quantity is 500 EA, then the MAP = 1040/500=2.08 EUR.


So far, the verification of the purchase order invoice has been completed. At this time, the cost price of the material is the latest and most real cost price.



See the purchase order history,


In this scenario, the material and customs duty invoice prices are different from the prices in the purchase order, so the moving average price of the material will be updated automatically after the invoice is posted.


Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Dominik Tylczynski
      Dominik Tylczynski

      Something is wrong with the images. They are not loading.

      Author's profile photo DICKSON JIN
      Blog Post Author

      Dear Dominik,


      Thanks a lot for your comments, I updated this blog. Should be OK now.


      Dickson Jin

      Author's profile photo lizbeth Chinchay
      lizbeth Chinchay

      Very good input, but I have a question, how do you parameterize the system so that the invoice updates the PMV in the material and does not go to a DIF account, currently my system works with price difference account, how do I modify this?


      Author's profile photo pradeep gadhepatil
      pradeep gadhepatil

      Thank you so much.....