Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
Showing results for 
Search instead for 
Did you mean: 
Product and Topic Expert
Product and Topic Expert
Controlling Period End Closing for production companies are the necessary steps each period. There are always questions/incidents raised concerning Controlling Period End Closing. Most of them are How-to queries which can be explained with a KBA or existing help documents.

The purpose for this Blog is to collect the frequent questions raised during Controlling Period End Closing processes and provide answers to them.

  1. What is the suggested sequence for Controlling Period End Closing?

  2. What are the things to be considered during Edit Costing Run (Cost Estimates)?

  3. What needs to be considered during Actual Cost Rate Calculation?

  4. What is Actual Costing and how can it be used?

  5. What is Price Difference?

  6. How to make analysis on Price Difference for a material?

  7. What is Not Distributed / Not Allocated value? How to solve them?

  8. Why GR/GI was assigned into "Revaluation" folder in app Material Price Analysis?

  9. Why there is error KI235 in Post Closing step of Actual Costing Run and how to solve it?

  10. What is Run Template and how to make use of it?

  11. Why there is still balance on Cost Centers after Period End Closing?

  12. What needs to be considered if you want to change material price determination?




Question 1: What is the suggested sequence for Controlling Period End Closing?


The normal sequence should be like:

  • Edit Costing Run (Cost Estimates)

  • Allocation relevant apps

  • Actual Cost Rate Calculation

  • WIP Calculation

  • Variance Calculation

  • Order Settlement

  • Actual Costing Run (Material Ledger)

Question 2: What are the things to be considered during Edit Costing Run (Cost Estimates)?


The first step in the beginning of one period is always the Costing Run (Cost Estimates), since it’s the plan basis for all other postings.

It’s used for creating standard cost estimates for materials in your plants.

Execution Plan

If there are many materials to be executed, the completion of all the steps may take very long time.

You should plan the execution time for each step with the best option.

First you normally can create the Costing Run for the next period whenever in current period.

For example, you are in period 11 2021 (in this example, the fiscal period follows the real period), and you are trying to release the standard cost estimates in the new period 12 2021. Normally, you can create the Costing Run any time after November 1st. But it’s suggested that you to create the Costing Run a little earlier of current period, to give you enough time to execute different steps and to solve errors that may occur.

Caution: you should choose Costing Run date as the first day in next period. This will allow you to edit or re-cost the Costing Run any time before the end of this date.

There are 5 steps in a Costing Run.

For Selection and Costing, you can repeat them as you wish. Since new Costing will overwrite the previous results.

You’d better finish these 2 steps a little earlier before the end of each period.

There might be errors happen in the Costing step. You need to solve them one by one, and this normally takes time.

You can always choose Background Processing since if you use foreground processing, system will go dump after around 11 minutes. This is TIMEOUT limitation for foreground processing. See more detail in KBA https://launchpad.support.sap.com/#/notes/2921106 .

Also beware that if you open a costing run screen and close the browser, system will lock the costing run. You need to logoff the relevant user and logon again to unlock it.

It’s also suggested that you schedule the long-time job in the low business time (for example during midnight). Since during the costing run, there could be locking on materials.

To save time, you can also choose the Parallel Processing option.


If you would like to check the status for the background job, please select the Schedule Manage in the Menu:


After you have solved errors in Costing step, you can select the option “Cost Ests with Errors Only” and execute the Costing step again.

After you have solved all the errors in Costing step. You can choose to run the Analyze step to generate reports on different aspects to make sure the costing results are fine.


The Marking step is normally executed on the last day of the period. (You don’t need to execute the Marking step on the first day of next period) It means you have confirmed the created cost estimates are without problem, and the system will lock them for releasing in the next period.

With the Authorization button, you can make marking allowance setting.

With parallel accounting, you should consider using the correct cost variant and allow marking for all the ledgers relevant.

For more information, please check detail in the help portal.


Still Open Items

If there are incorrect processing configuration/steps, you may get “Still Open” items in some steps.

The primary cause for the “Still Open” items is that you have created several costing runs for one company code during one period.
Please understand, the costing run will normally cost from low-level to the up level. The selection step will explode the BOM structure. So even if you select only the finished goods, the lower-level materials will still be selected. So, it’s meaningless to separate materials into different costing runs. If you have done so, different costing runs will overwrite each other, and cause Still Open issues.

Question 3: What needs to be considered during Actual Cost Rate Calculation?


  • You need to make sure the allocations of cost centers are performed correctly.

  • You need to determine which cost elements should be considered during the calculation.

  • In the SSCUI 104795 Define Splitting Structure, by default, there are 2 kinds of method. One is “Activity Quantity Actual”, and the other one is “No splitting Method”. If you don’t want any cost elements to be included into the calculation, you should assign the cost elements into Assignment YA8 (with “No splitting Method”).

There is more information to refer in below KBAs:

3013212 - Currency Exchange Rate is unclear in APP Manage Cost Rates - Actual

3007128 - How to exclude costs from App Actual Cost Rate Calculation - Cost Centers

2935116 - Actual cost rate calculation logic in S/4HANA Cloud system

2932309 - Value date and exchange rate type used in Overhead Costing are unclear

2930774 - Actual cost rate calculation (KSII) price unit calculation logic.

3055021 - KP250 error happens in App Actual Cost Rate Calculation


Question 4: What is Actual Costing and how can it be used?


Actual Costing is to calculate material’s actual costs for material inventory with Material Ledger period end closing. This function is not active by default. You need to create incident to component XX-S4C-OPR-SRV to request for activation of the Scope Item 33Q.

There are mainly 2 functions:

  • Multilevel Price Difference Distribution/Allocation which can determine the Actual Price for materials.

  • Actual Cost Component Split.


Question 5: What is Price Difference?


There will be planned prices for both material and activity type in the beginning of the period. For material, it could be release standard price or standard cost estimate. For activity type, it’s normally set by app Manage Cost Rates – Plan.

During the period, the actual posts like GI, GR, or IR… will have different actual price used for difference reasons. Then the difference between planned price and the actual price is the material price difference.

With Actual Cost Rate calculation, the actual balance in the relevant cost center will work as basis to calculate the actual cost rate for the relevant activity types. Then there will be activity price difference between planned and actual cost rates.


Question 6: How to make analysis on Price Difference for a material?


You can use app Material Price Analysis. You need to jump from Manage Material Valuations into this app.

In this app, the value/quantity is following below formula:
Beginning Inventory + Receipts = Cumulative Inventory = Consumption + Ending Inventory
Beginning Inventory: this is the value before period start. It is carryforward from previous period.
Receipts: all debit postings or reversal of debit postings, like GR, IR or order settlement.
Consumption: all credit postings or reversal of credit postings, like GI.
Ending Inventory: it’s the ending value for the period, after follow above formula.


Question 7: What is Not Distributed / Not Allocated value? How to solve them?


Not Distributed: with settlement step executed from the Actual Costing Run, the price difference in the Cumulative Inventory should be distributed completely into Consumption or Ending Inventory. However, if there are some problems, there will be some values can’t be distributed successfully. Then these value will be shown in the Not Distributed folder.

There are 2 main reasons for Not Distributed values:

  1. Price Limiter logic
    Price Limiter is a statistical quantity information in case of price difference postings without actual quantity movement. The price limiter quantity, for example, is updated in case of invoice receipts or order settlement.
    The system will consider the Price Limiter quantity and by default, in case the Price Limiter value is bigger than cumulative inventory, system will only distribute the portion of cumulative inventory part of difference.

Suggest you check the attachment in KBA 2956924 to have more detailed information regarding the Price Limiter calculation logic.

  1. Fallback Strategy
    If the cumulated difference is too low (negative), it may cause the actual value (prerequisite + difference) become negative. Since this is not reasonable to have negative actual value, system will use fallback strategy to determine the actual value.


  • If you don't want to apply this Price Limiter logic, you could choose to deactivate it in the actual costing run setting:
    In the Parameter setting for Settlement step in App Edit Actual Costing Run, tick on the flag "No Stock Coverage Check". Then run the Settlement step again.

  • For the Fallback Strategy issue, you need to find out which posting caused the big negative difference. You need to make correction on that posting.


Not Allocated: As price difference generated, there needs to be receives who absorb the price difference from Consumption folder. If the system didn’t find the receiver successfully, the system will put those price difference in Not Allocated folder.

The causes for Not Allocated value could be complex.

But there are 3 common reasons:

  • The input material and the output material are not included in the same Costing Run.

  • The goods receipt for the production order is not performed.

  • WIP Quantity calculation is not done for Event-based order scenario.

For solution, you should not split costing runs into plants if there are cross plant manufacturing. And you need to make sure the GRs for the production orders are performed. Also check the KBA 3310356.

There are more causes for the “Not Allocated” value. You can check more information in KBA 2123418.


It’s recommended that you should check the app Material Value Flow Monitor to see whether there are any materials with “Not Distributed” or “Not Allocated” value. If yes, you should solve them first and then make Post Closing.


Question 8: Why GR/GI was assigned into "Revaluation" folder in app Material Price Analysis?


That is caused by backposting. Backposting is posting to previous period which was done after period shifting (MMPV). It means the posting date is in previous period, but entry date is in current period. For this kind of postings, since the new period record is created, they will update values for both current period and previous period.


Question 9: Why there is error KI235 in Post Closing step of Actual Costing Run and how to solve it?


KI235 means, the posting is using Cost Element account type. It’s necessary to have real account assignment under this situation.

During Material Ledger Period End Closing, the cause for this error is mainly on the Revaluation of Consumption account.

It’s necessary to make configuration in the SSCUI 104390 Assign Movement Type Groups of Material Ledger for all the relevant movement types. If some movement types are not maintained, and during Revaluation of Consumption, these kind of movement types are used, system will post to COC account. This is normally not as expected.

For more information, check KBA https://launchpad.support.sap.com/#/notes/2328429


Question 10: What is Run Template and how to make use of it?


Run Template is the template for Actual Costing Run. Since normally the overall configuration for Actual Costing Run should be consistent during a year or a period of time, the template function is introduced.

It’s important to make the configuration correct initially before the first run for the template, since if the template is used once, it’s not possible to make change on it. You need to create a new version of run template. Be careful about the ledger and company code settings.

If you have done Actual Costing Run on one Run Template, you normally should use the same template in the following periods.


Question 11: Why there is still balance on Cost Centers after Period End Closing?


For production Cost Centers, it’s expected that the balance should be zero after Period End Closing activities. But it can happen that due to some reasons, the balance is not zero for some Cost Centers.

To find out the cause, you should make sure below prerequisites are met:

  • Actual Cost Rate Calculation is done correctly.

  • Errors solved in Settlement step of Actual Costing Run.

  • No Not Distributed/Not Allocated value in app Material Value Flow Monitor after executing the Settlement step of Actual Costing Run.

  • Exclude any manual adjustment postings relevant the Cost Centers.

  • In app Edit Actual Costing Run – Post Closing step, it has been chosen to revaluate the consumption and set the CO account assignment.


If above prerequisites are met, yet still there is balance. There can be 3 other reasons:

  1. The material prices are different between Company Code Currency and Group Currency. This could because that the material’s Price Units are different between these 2 currencies.
    You can find this kind of materials with app Journal Entry Analyzer:
    - Select value for the relevant cost center and for the same period only.
    - Make adjustments on the fields to be shown, to show the values by orders only.
    - Check the orders with balance. (There should be only a few)
    After that, you can find the material from order which caused this issue.
    Then, you need to make adjustments with Manage Material Valuation – Debit/Credit Material function to adjust the price difference.
    You need also to adjust the price unit to make them the same between company code currency and group currency.

  2. There are goods issues that have been posted with an assignment to a cost center which is also used for production.
    For this scenario, please check the explanation in KBA

  3. The TECO status was set in the next period, so the order settlement needs to be done in the next period.
    You can check below Note to identify which orders are causing this error:


Question 12: What needs to be considered if you want to change material's Price Determination?


With Actual Costing activated system, it’s critical to change material price determination. Since there are significant impacts on the material data, it’s suggested that you have a good evaluation before you make the change.

The impact of the change is explained in Note https://launchpad.support.sap.com/#/notes/384553


Chinese Version: Link