Skip to Content
Author's profile photo Dibyendu Patra

MAP calculation for various transactions of Material.

Hi all,

We know about material price.

Material price can be two types:

1. Standard Price

2. MAP = Moving Average Price

If we use standard price for material, then it means we fix the material price. Generally it will never change automatically for any types of transaction.

Its normally used for Semi-finished or Finished material.

Still we can change the price from MR21.

If we use MAP for material, then the MAP is change automatically for many transaction. Its normally used for Raw Materials.

After reading this blog, I am sure You will be very clear about MAP calculation and accounting entry for these materials which contain MAP.

Suppose we purchase a material for Rs. 10 for qty 10.

Then the 10 qty’s value will be 10X10=100.

Now we purchase this material again for Rs. 15 for qty 10.

Then the the material value will change like as 100+(15X10) = 250.

Lets discuss about details with example.

I have create a material with MAP = 10.


You can see this material doesn’t has any stock yet.

Now Lets create a PO, and do a goods receipt.

I have create a PO with qty 50 @ Rs. 15.

Then I performed goods receipt.

Lets check the accounting entry.


As we know Our accounting entry will be Inventory A/C debit and GR/IR A/c credit.

Here our Inventory account means material account, we can see the amount of 750 is hit on inventory for this account entry.

Its means our stock will be 50qty and our stock value will be 750.

At this situation our material MAP will be 15.


If we do invoice as same as PO price now, then the MAP will remain same, but if we change the price of PO before invoice, the the MAP will differ.

Lets check the scenario.

Now We change the price in PO as 18.

Now we will do IR for this material, here is the accounting entry for invoice.


Here is our invoice accounting entry.

We can see our GR/IR is debited as it was credited. But we pay the vendor for an extra amount of 150.

As per normal business logic, If we pay extra for purchasing raw material to vendor, then it must be add/less rate for material.

Here you have changed the price of PO from 15 to 18.

So the difference if 3 and we have done invoice of quantity 50. So that system debit into material account is (3X50)= 150.

Now our stock value for material will (750+150)=900 and our material stock is 50. So now our MAP will be (900/50) =18.

Lets check the material master.


Here we can see our material MAP is 18.

Here is a little interested thing happens for MAP calculation.

Here we have still 50 qty stock in our material master.

That’s because the different amount of invoice is debited to material stock account.

Lets do an other things.

Now I cancel the invoice then remove the stock from plant and storage location

Lets remove the all stock before doing invoice.


I have scrapped the material stock, now our material stock and value is 0.

Now we do invoice again.

Here is the accounting entry for invoice.


Here we can see the different amount goes to a price different account.

It is going to price different account because system doesn’t find any stock for material and the MAP for material still remain same.

It means system will search the stock for material, If any stock find then the different amount will posted to material stock account, if system doesn’t find the stock, then system will post the different amount to price different account.

Now lets do another scenario.

If some qty available in stock then how system does the accounting and MAP calculation.

I cancel the invoice and scrap 30 qty of material.

here is my material stock and value and MAP.


My MAP remain same. Now My stock is 20 and value is 300.

Then I post the Invoice with price 18.

Lets see the accounting entry.


Here we can see some amount goes to inventory stock a/c and some amount goes to price different account.

Here is the calculation.

Our different price is 3.

First system will search for the quantity of invoice in stock.. System found only 20 qty.

So system has posted only (20X3)=60 amount to inventory and rest of amount is posted to price different account.

Now lets see the MAP status.


We can see our stock quantity is still remain same but value and MAP is changed.

Lets do the calculation.

As per out invoice entry amount 60 has posted into inventory account.

We have the inventory stock value 300, and coming from invoice is 60. So the inventory value is calculated (300+60)= 360.

And as well as the MAP is calculated (360/20)= 18.

Now We have material stock quantity = 20, stock value = 360 and my MAP = 18.

Now we do a goods receipt again for quantity 100 and price will 12.

Here is the accounting entry for the above situation.


Here is my accounting entry..

We can see its hit the inventory account of 1200 amount.

Lets check the material MAP and Stock qty and value.


My stock goes up to 120, my stock value goes up to 1560, but my MAP is goes down 13.

Lets see the calculation.

My previous stock quantity was 20, Now we have received 100 more. Then my total stock is (100+20) = 120 quantity.

My previous stock value was 360. I have purchased the material which hit in inventory a/c was 1200. So my new stock value is (360+1200) = 1560.

So my MAP is calculated (1560/120) = 13.

In that way, material MAP is calculate for goods receipt and invoice receipt..

Now we will see how the MAP calculate when we do transfer posting from one material to another.

I have done one transfer posting

I have transferred 50 qty stock from one material to this material.

Here is the accounting entry.


My second material also has a moving average price, that was 13.43.

I have transferred 50qty from that material so the accounting amount is effected (50X13.43) = 671.5.

Lets check my this material’s status.


Now we can see my all status is changed.

Total Stock = My previous stock was 120 qty, we transferred from that material to this one of 50 qty, so my total stock is (120+50) = 170.

Total value= My previous value was 1560 amount, we receive a value of 671.61 to this material’s inventory account, so our total value is (1560+671.61) = 2231.61.

MAP = As per the total stock value and total stock qty, our MAP is calculated like this (2231.61/170) = 13.12711764705882 (Its rounded off to 13.13)

Now I have transferred from this material to another one of 100 qty.

Lets see what is accounting entry and MAP calculation.

Here is my accounting entry.


Here we can see the account entry happens against my current MAP. It means (13.12711764705882X100) = 1312.711764705882 (Rounded off to 1312.71)

Now lets check the material status.


My Stock qty and value is calculated exact with my MAP.

Stock quantity is decreased by 100 qty.

Stock value is decreased by (100X13.1271) = 1312.71.

My MAP still remain same.

In that way MAP is calculated for these transactions.

Assigned Tags

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

      Thanks Dev for sharing this,

      to keep it short do you mean to say, the moving average price gets calculated by (total value)/ (Total stock). And the price difference gets accumulated in the Material Master instead of the price difference GL?


      Sagnik Chakravarty.

      Author's profile photo Dibyendu Patra
      Dibyendu Patra
      Blog Post Author

      Not at all...

      Material price always calculate Total Value/Total stock.

      I just give the information that how the account posting happens for MAP material and How the MAP changes for every transaction.

      Author's profile photo Atul Walvekar
      Atul Walvekar

      Hi Dev...

      Its really nice & very detailed explaination..thanks a lot..



      Author's profile photo Gopal Krishna M
      Gopal Krishna M


      Very informative and and excellent explanation.

      Can you please let me know in which cases, during GR  with MAP, system posts the price difference. In my case system calculates Price difference between PO and MMR and posting to PRD. Pls suggest.


      Author's profile photo Dibyendu Patra
      Dibyendu Patra
      Blog Post Author

      generally it should not. Are you using foreign currency PO ?

      Author's profile photo Gopal Krishna M
      Gopal Krishna M


      Sorry for the delay.

      We are using Material Ledger. When GR is done system posted the difference amount into PRD and simultaneously system creating another A/c doc which clears the PRD and adding the differential value to Stock A/c.

      I read somewhere this is the standard behavior in ML concept.


      Author's profile photo Dibyendu Patra
      Dibyendu Patra
      Blog Post Author

      Yes. You can check the same in this OSS note 532932 - FAQ: Valuation logic with active material ledger

      Author's profile photo Partha Sarkar
      Partha Sarkar

      Nice doc....

      Author's profile photo vivek gaurav
      vivek gaurav

      HI Dibyendu,

      Nice document. Have a question. Does uploading stock using movement type 561 has any effect in MAP ?Similarly, What effect does movement type 201 has on MAP ? As I am understanding 201 will not change the MAP. Right ?




      Author's profile photo Dibyendu Patra
      Dibyendu Patra
      Blog Post Author

      Both movement types (561 and 201) will take the MAP for amount calculation with regards to quantity. In that case, system will not change MAP for material.

      But if you will enter an amount as external amount, then system will adjust the MAP as per entered quantity.

      Author's profile photo Arivazhagan Sivasamy
      Arivazhagan Sivasamy

      Hi Dibyendu Patra,

      Very nice document. I have a question.

      When we post the GR for the first time, the material stock qty will be zero. Then how system hits the inventory account instead of PRD account.

      Arivazhagan S