Skip to Content

Moving average Price : different ways of value calculation on date

Hi SCN Members,

I would like to share my knowledge on Moving average Price.  Before going to this we should know about the Price Control.

Sap offers two methods of Price control: 

1) Moving Average Price (V)    

2) Standard Price. (S)

The method to be used is identified on the material master level, thus different materials can use different methods with in plant.

SAP recommended that, Standard price usually used for finished or semi-finished material.

Moving average price are used mainly for Raw Materials and External Purchases.

The Price of external procured materials varies based on Market, will reflect the current market cost. Because of this reason we will use the Moving average price for External procured material like raw materials and Trading materials…etc.

While going to new client implementation, for moving average price will get updated based on initial stock upload with Value. But for Standard price Control S will be updated based on standard cost estimation.

Different ways to find Moving average Price Calculation on selection Date:

They are different ways to check moving average price calculation. If you need to find the Logic to develop the Report to see Moving average price on period or day basis- Need to find Logic for this.

  1. 1)    By using Formula
  2. 2)    From Standard Reports
  3. 3)    From Multiple tables Mapping
  4. 4)    From Info Structure tables

  1. 1) By using Formula :

When material is subject to moving average price control, the system values for goods movements in following way


Using above formula we can calculate Moving average price. Below explained with example.


  1. 1)    20.04.2015 Goods Receipt Quantity 100 Kg and the value of Goods Receipt as 1200 Rs.
  2. 2)    21.04.2015 Goods Receipt Quantity 90 kg and the value of Goods receipt as 1100 Rs.
  3. 3)    24.04.2015 Goods Issue Quantity 50kg
  4. 4)    29.04.2015 Goods Receipt Quantity 110Kg and the value of Goods receipt as 1600.

Now I need to find the moving average price on 24.04.2015. Using above formula we can find this.

moving average snap shot.PNG

The moving average price on 24.04.2015 is 12.11 and on 29.04.2015 is 13.18.


  1. 2) From Standard Reports :

In standard, we have standard report can view the moving average price.

T-code: S_P00_07000139



Here we need to work out on date basis. If more than one entry on the date then you have to pick the last entry Moving average price.

You can find moving average price Period wise also.

T-code: MC.1   / MC.9

Here we need to work out on formula.  i.e.; Total valuated value / total valuated stock.

Enter Period and other required fields and execute the Program.

You will get the total valuated value and total valuated stock.



Total valuated stock value = 86500, Total valuated stock = 3250

=86500/3250 = 26.62.

If you need you can compare MC.1 and S_P00_07000139.

In S_P00_07000139, you have to give 30.04.2015 for month of period 04.2015.

Same you can compare with MB5B- Total receipts – total issues with quantity and value.

  1. 3)    From Multiple Table Mapping :

We can write logic to get the report for moving average price on selection date.  As know everybody we can get latest price from MBEW table. But how we can see when the price was updated and how it was updated can be get values from CKMI1.

Tables: MBEW, CKMI1


  1. 1)    Pass Material and valuation area (plant) in MBEW table and pick the value of Prod CostEst.No. (KALN1)
  2. 2)    Pass Prod Cost Est no into CKMI1 table – filed name Cost estimation no (KALNR) and pass year
  3. 3)    Check the values of quantity and amount and moving average price.


The moving average price will be update when the next accounting entries updated. Example: if you are checking on 30.04.2015 and next entry updated at 01.05.2015 then you should see moving average price on 01.05.2015 and it will be the moving average price on 30.04.2015


Here see above entries. On 30.04.2015 the moving average price is 26.62 which is updated on 04.05.2015.

You can calculated summation of all the amount / summation of all the Quantity up to date.

If you want to see on 30.04.2015 then (Qty -> 1000+1500+750 = 3250) and (Value-> 25000+45000+16500 = 86500) = 86500/3250 = 26.62.

  1. If you want to see latest price when it was updated means -à see the last date entry on date in CKMI1 and check in MBEW for latest price.
    1. 4) From Info structure Table :

S031 – Material movement data on monthly basis

In Standard we have S tables which is related to LIS structures. The below S Table which is related to Inventory stock and price. From this you can find the moving average price on date. We can call as info structure table.

Table: S031 – information structure for Inventory stock and price on period based on date based. While updating the values you should select date basis (daily basis).

For better practice you can copy from S031 to S931 and update the values in S931 on daily basis.

In this table, will get valuated receipt stock and valuated receipt value and also valuated issue stock and valuated issue value.

Summation of all valuated receipts quantity and value as well as valuated issue quantity and value from up to date all entries (selection date).

Moving average price = (total value receipt – total value issues)/ (total quantity receipt – total quantity issues).

You can see below link regarding LIS written by PRASOON.

For best we can see below link

Related SAP Notes:

Note 483735 – Self-defined info structures with reference S031, S032, S039

Note 512416 – LIS | Stocks in the past

Note: Sometimes you will not get correct moving average price. Why because if there is any unplanned delivery cost or value variance posted to stock account while doing MIRO. These values will be posted to stock account and Quantity remains same. In this case you have to consider these values from BSEG table.

You must be Logged on to comment or reply to a post.
  • Thanks for great document

    I have a practical question on moving average price.


    Scenario 1:

    So, let’s say moving average price of a material changed from 12$ to 14$ due to goods return to vendor(161 MVT). What is the practical impact of this change in terms of next PO creation or anything else?



    Scenario 2:

    I have created a surcharge header condition (-ve sign, marked as accrual and is posted into a separate GL account with transaction key) for a scenario called vendor charge back. We want to charge vendor for labor cost incurred for return processing. I could see that during GR the calculation posting goes like this( screenshot attached) :

    BSX- credited with PO line item Gross Price+ Vendor charge back $ value ( 30$+5$)

    GR/IR clearing account- debited with PO line item Gross Price(30$)

    Vendor charge back account- debited with $ value(5$)


    Credit memo received in SAP:

    GR/IR clearing account- credited with PO line item Gross Price(30$)

    Vendor charge back account- credited with 5$ value

    Vendor account- debited with 30+5=35$.


    Now since the BSX during GR has been posted with additional 5$ of vendor charge back value, system has different MAP. So, what is the practical impact of this new MAP??

    Thanks in advance,