Make Sense of the CO Cost Settlement Process: Live Q&A on Navigating Cost Settlement in SAP Systems

May 26, 2016

Cost settlement plays a critical role in business operations in SAP environments. It determines  whether orders – such as production orders, sales orders, and internal orders – are settled in full as part of period-end processing. This process, which takes place in the controlling (CO) component of the SAP system, can appear to be highly complex, with costs sifting from one cost object to another in CO, and eventually moving to the SAP General Ledger. But it doesn’t have to be complicated.

During this live Q&A session, Financials 2016 speaker Rohana Gunawardena of Exium Inc. broke down everything you need to know about cost settlement and how it works, and provided answers to questions such as:

  • How can I improve the speed of batch jobs?
  • How do I address settlement errors?
  • What is the best way to configure transfer structures?
  • What is the difference between periodic and full settlement?
  • What cost elements are required to support settlement

Meet the panelist: 

Rohana Gunawardena Rohana Gunawardena, Director SAP Practice, Exium
Rohana co-heads the SAP practice division at Exium Inc. He has been working with SAP since 1992. During his career, he has assisted multiple clients on detailed system correction projects, such as correcting inventory balances, controlling area reorganizations, retrospectively activating group currency, and optimizing inter-company accounting transactions. He has spoken at many SAP conferences and has published more than 20 magazine articles in Financials Expert, SCM Expert, and SAPtips on various aspects of SAP technology. His presentations have focused on financial module selection, the order-to-cash process, global rollouts, business segment reporting, cross-module integration, and the financial impact of SCM transactions. Rohana is widely acknowledged as a leading SAP expert. Rohana is a Fellow of the Institute of Chartered Accountants in England & Wales. Previously, Rohana worked with the consulting practices of Accenture, Deloitte, and PwC.

Live Blog Live Q&A on Navigating Cost Settlement in SAP Systems

Melanie Obeid, SAPinsider: Hello! Welcome to today’s live Q&A on navigating the CO cost settlement process in SAP systems. I’m Melanie Obeid, Editorial Director of SAPinsider and insiderPROFILES, and I’m excited to introduce today’s panelist, Rohana Gunawardena, Director of the SAP Practice at Exium Inc.

Rohana has been working with SAP since 1992. During his career, he has assisted multiple clients on detailed system correction projects, such as correcting inventory balances, controlling area reorganizations, retrospectively activating group currency, and optimizing inter-company accounting transactions. He is a regular speaker at many SAP conferences — and will be speaking at the upcoming Financials 2016 event in Vienna next month!

Hi, Rohana. Thank you so much for being here today to answer readers’ questions!

Rohana Gunawardena: Melanie, thanks for inviting me to this Q&A and the great introduction.

Also thanks to everyone who has taken the time to join this Q&A session and submit questions.

I am glad to see there is so much interest in this topic, with a lot of questions already submitted. I will do my best to answer as many as possible in the next hour.

As you have mentioned, I will be presenting six sessions at Financials 2016 in Vienna, 20 – 22 June, 2016.

  • How to effectively report operating expenses with standard SAP ERP Financials functionality
  • Expand your reporting options with an extended G/L code block
  • Using validation and substitution rules with SAP General Ledger
  • Deciphering the CO settlement process
  • Navigating the controlling options in your SAP system: A practical guide
  • Tips and techniques for identifying and analyzing CO data

Melanie Obeid, SAPinsider: Rohana, there are already some great questions from readers waiting for you, but to get started, would you explain, at a high level, why cost settlement is such a critical process? And why should users not be concerned that it is too complex?

Rohana Gunawardena: Melanie, thanks for a great introductory question. This matches well with questions I get asked frequently, where users are confused about the settlement process in CO. A lot of this is due to US-based users having been educated with a different accounting philosophy than Germans.

In the US system, there is an expectation that all accounting, both financial and managerial, match up to the trial balance, balance sheet, and P&L with consistency between financial and managerial accounting.

The SAP CO module is based on the German Grenzplankostenrechnung (GPK) management accounting philosophy. This emphasizes that financial and managerial accounting do not have to match, as they address different audiences so they need different tools.

In early releases, CO functionality focused on GPK accounting exclusively; now, the functionality has been rounded out, e.g. addition of Account Based CO-PA.

In the US, GPK is better known as Resource Consumption Accounting (RCA), which has built on the foundation of GPK.

For the users, the key steps are to understand the sequence of steps required for settlement, the key configuration and the impact on the month-end process. Understanding all of this clearly takes some time and I encourage users to develop their own documentation so that they are clear on these steps.

During Financials 2016 in Vienna, 20 – 22 June, 2016, I will present the session “Deciphering the CO Settlement Process,” which will take the attendees through all of the details behind the settlement process.

Melanie Obeid, SAPinsider: Thanks, Rohana. I’ll let you get started answering readers’ questions. To our audience, please continue to post your questions for Rohana. He is eager to share his insights.

Comment From SreeniReddy: We have set “valuation type is set automatically” for our production materials SFG and FG. And we will generate around 50,000 valuation types monthly. While we do settling through CO88, the production confirmations are stopped/locked. The settlement runs for few hours and it is difficult for the production team to hold. My question is why lock at the material level when we are using valuation types?

Rohana Gunawardena: SreeniReddy, thanks for your question.

I can totally understand your production team’s frustration in having to suspend manufacturing operations for a few hours, especially if you are a 24/7 operation.

As you mention “valuation type is set automatically,” assume you refer to valuation category settings in OMWC and that you are manufacturing in batches with SAP batch management functionality turned on.

Do keep your production order statuses up to date, close (or set the deletion flag for) completed and settled orders, it will greatly minimize your settlement run times. Try to implement a mass maintenance process, given the number of valuation types you mention assume you have an equally large number of production orders.

The CO88 transaction is run by plant, key material tables MARC and MBEW are at the plant/material level, so they will lock the specific material/plant combination regardless of the valuation type. Assume you are really running program RKO7CO88 as a batch job and not CO88 directly, have you made use of the parallel processing function to improve performance?

You do not mention how many plants you have. Are the 50,000 valuation groups per month for one plant or spread across many plants? If multiple plants, then staggering the batch jobs by plant can free up production confirmation at different plants.

Another possibility is to create selection variants by valuation type listing specific internal orders and run RKO7CO88 by variant, but this option may be too complex to implement.

The official SAP answer to your issue would be to upgrade to SAP S/4HANA Finance using the new CO88H transaction, which would run much faster :-).

Comment from Meanne: Is this the same on processing cost allocations to different profit centers?

Rohana Gunawardena: Meanne, great to hear from you.

I see from your additional comment that you will be unavailable during the Live Q&A due to timing issues. Unfortunately, your question is a bit too open-ended to give a detailed answer. 

Some more context such as specific transaction codes you are using, outline of the cost allocation process you are following, number of profit centers, number of allocations, etc., will help provide a more details answer.

Do contact me at and I can go through the options in more detail with you

Comment from Mary-HII-NNS: How can I determine if a network/network activity has costs that “need to be settled?” I need to develop a reconciliation report to identify what “needs to be settled” vs. what actually settled. We have over 100 network settlement batch jobs (CJ8G) and need a way to consolidate the information displayed in the individual spool reports.

Rohana Gunawardena: Mary, thanks for joining us on the live Q&A, great to get your question.

Use the “Check Transaction Data” check box on CJ8G/program RKO7CJ8G, from F1 help on the check box:

“Indicator for checking transaction data of individual objects in the settlement. If you set the indicator, the system performs a check at the beginning of processing of a sender. This checks whether any transaction data was posted to that sender after the last settlement. If no transaction data was posted, then sender processing is stopped. In the statistics, this sender is in the "No transaction data available" category.

Do consider how often you can settle, depending on your business process daily or weekly settlement could be a possibility, this early settlement will minimize run time at month end.

There are a few options for your consolidated report, to get what you really want the most flexible option would be a custom report to read the settlement data created during the month, basically the same as going to the previous settlement option in CJ8G.

During the conference I will present a session entitled “Tips and techniques for identifying and analyzing CO data” which will identify the key tables that contain the data and how to select the data.

Comment From Mary-HII-NNS: CJ8G fails when it comes across a network activity that has been deleted/removed, is there a fix for this?

Rohana Gunawardena: This is not an easy one to handle as what has happened is the network activity has been deleted, but references to it exist in other objects, resulting in an inconsistency.

If there are not too many of these cases, the simplest option is to update your selection variants to exclude the erroneous objects. Additionally, cleaning up the references to the deleted network activities may not be possible in all cases. Use test runs prior to month end to find offending networks.

To stop the situation from getting worse, educate your users not to delete network activities, but rather set a CLSD status for them, additionally you can use user status configuration to prevent deletion.

Comment From Mary-HII-NNS: How do we determine what networks/network activities "need to be settled" vs. already settled? I need to provide a report some sort reconciliation report for business partner. We have over 100 network settlement batch jobs (CJ8G) and need to consolidate the information in the reports generated by the process. What CO tables and fields do I need to look at? Thank you.

Rohana Gunawardena: Mary, great question on “What CO tables and fields do I need to look at?”;

During the conference I will present a session entitled “Tips and techniques for identifying and analyzing CO data” that will identify the key tables that contain the data and how to select the data.

Comment From Ashish: We have real-time FI/CO reconciliation active but cannot see settlement in G/L.

Rohana Gunawardena: Ashish, great to hear from you.

Assume you are using SAP GL (new GL) as you mention real-time FI/CO reconciliation.

For readers who are not familiar, the key point for real-time FI/CO reconciliation is to make intercompany adjustment postings when multiple FI company codes map to a single CO controlling area and a CO transaction that is within a single controlling area spans multiple company codes (e.g., cost center 1000 belongs to company code 1000, but settles to cost center 2000 belonging to company code 2000).

One obvious reason you may not see anything in FI/CO reconciliation is that the settlement may be within one company code.

Another reason may be that the activity types for settlement have not been activated to flow through to SAP GL.

Without logging on to your system and looking in detail it is difficult to provide a detailed response.

Do contact me at and I can go through the system with you.

Comment from Ifty: Hello there, I would like to confirm that in SAP S/4HANA Finance 1503 onward, all CO settlement postings appear in table ACDOCA, and from this table we can access directly all the information we need on settlement postings.

Rohana Gunawardena: Ifty, thanks for posting this information, glad you have been researching SAP S/4HANA Finance, it is very helpful for the attendees.

To confirm the ACDOCA is the master universal journal line-item table and (nearly) all financial line-item data posts to this table. It takes over from the previous COEP and COSS tables. The CO plan data (value type not 04 or 11) the old COEP table is still used.

Comment from Mary-HII-NNS Mary-HII-NNS: We have over 7 million network activities. Currently we run 100+ batch jobs across network number ranges and it takes almost 18 hours for all the jobs to complete. Out of those networks that are selected, only about 13K actually settle. We are in the process of building a custom solution to build the network selection variant based – initially to select by order type. We are also going to set check transaction data flag in batch settlement job (CJ8G/RKO7C8G). Is there a better way improve performance so that the settlement job doesn’t have to read all those “activities”? Note: For the selected order types, approximately 1.8m networks and approximately 5.8m activities.

Rohana Gunawardena: Mary, thanks for the follow-up question.

Glad to see you are coping well with such a large number of networks, I can see how this can have a big impact on your month-end close.

The development of a custom program to created focused selection variants to speed up the settlement jobs is an approach I have seen before, and it works well.

In my earlier response to Ashish, I mentioned the parallel processing function for the settlement batch jobs that can be used to improve performance, see selection screen for RKO7CJ8G. You will need to work with your Basis team to set up the RFC groups to distribute the workload across your multiple app servers.

Comment from JOHNSON: In SAP HANA, can you also do the settlement?

Rohana Gunawardena: Johnson, good to hear from you.

To answer accurately I need to clarify what you mean by “SAP HANA”, do you mean the SAP HANA database or SAP S/4HANA Finance?

Here is the difference quickly:

SAP HANA is an in-memory database that uses column-based indexing to provide SQL query results in a much quicker time than traditional SQL databases, such as Oracle or DB2. For a current SAP ECC or BI system, you can perform a database conversion from a classic SQL database to SAP HANA.

SAP S/4HANA Finance is an evolution of the SAP ECC application and has had table structures and transactions optimized to take advantage of the performance improvements provided by the SAP HANA database. Implementing SAP S/4HANA Finance, you will also perform a database conversion from a classic SQL database to SAP HANA.

In both cases, the answer is yes, you can run settlement and it will run quicker than SAP ECC with a classic SQL database.

In the case of SAP S/4HANA Finance, there are new SAP HANA-optimized settlement transactions (e.g., CO88H, VA88H, and KO8GH), which speed up settlement even more.

So the simple answer is yes, you can do settlement in SAP HANA, it will be quicker than your current system, but it does not go away.

Comment from Robert: After you do CJ88 and KSV5, can the original settlement document reference come through to the FI line items?

Rohana Gunawardena: Robert, thanks for joining the live Q&A.

Assume you mean you settle the WBS element costs with CJ88, then distribute the settled costs using KSV5.

By default, distribution will not bring through the CO document reference to FI you will need to code and enhancement or user exit to bring through the information.

As the distribution could be summarizing costs for hundreds or thousands of documents before posting to FI having a reference back to the original CO document does not make sense for standard SAP.

Comment from Katie: If standard cost is deleted in transaction CKR1, is there a way to regenerate the original standard cost so that the target cost on the process order does not calculate to be zero? How do you retrieve the target cost on previously completed “TECO” process orders?

Rohana Gunawardena: Katie, sorry to hear about your issue.

The number-one thing to focus on is preventing deletion of standard cost using CKR1 so the problem does not become worse, e.g. lock down transaction CKR1, understand why end users are deleting cost estimates, build an enhancement in CKR1 to prevent deletion of required cost estimates, etc.

For the cost regeneration part, I would need to know a bit more about your process to see what is required. In some cases, a simple regeneration of cost works, in other cases, the target cost may be locked to a specific cost estimate number that cannot be regenerated.

Comment from RSORIANO: We are a manufacturing shop and running settlement once a week. The main objective is to catch variances early on. The KOC4 report is too complicated for users to understand. What do you recommend as the simplest SAP standard variance analysis report (i.e., S_ALR...) for users to see variances. Thanks.

Rohana Gunawardena: Rsoriano, good to get your question.

Reporting is always a key end user concern in SAP. Either reports are too complex for users, do not have specific fields they want, or are just hard to find. Yes, there are a lot of good standard reports, but they are just hidden away in the system somewhere.

For the simplest report for end users, I would recommend the basic internal order variance report S_ALR_87012993 or KOB3.

Comment from For currency conv...: For currency conversions from local currency into group currency, when does CO-PA translate those transactions, at date of transaction or upon transfer from FI to CO-PA?

Rohana Gunawardena: This is slightly off topic, but let me answer anyway.

A lot depends on how your FI-GL system is set up. If Group Currency is set up as LC2 or LC3 in your ledger, then the value is copied to CO-PA, if it is not, then it is translated upon transfer from FI to CO-PA. Additionally, if either local currency or document currency is the same as group currency, a straight copy of the value may occur.

I would start by looking at transaction OB22 for the FI-GL currency configuration by company code, which will show you if Group Currency is assigned to LC2 or LC3 and what base currency is used for translation.

Comment from Ashish: Thanks for your response. One more question regarding the real-time FI/CO integration. We do see CO assessment data in GL. Does SAP handle assessment differently compared to settlement vis-à-vis real-time integration.

Rohana Gunawardena: Good follow-up question, Ashish.

The simple answer is no. Basically, SAP handles assessment and settlement the same way with regards to FI/CO real-time integration. At the detail level there is some difference as these are different processes and have Business Transaction type codes.

Comment from Mary-HII-NNS: Rohana, thank you for your suggestions, I will try those. I not familiar with the previous settlement option in CJ8G. I will check it out. My research about the custom report has indicated that I could use the COEP table, and if the total is zero then everything settled successfully. My research also indicated by doing this process I would then eliminate the settled records and that would give the “to-be-settled record.” I was hoping you could help me identify any fields that would indicate the network was ready to be settled. I have attended your presentation in the past and your document was great.

Rohana Gunawardena: Mary, glad you found my conference sessions useful and liked the documentation.

This question is now getting quite specific would be simpler to contact me at and I can discuss in detail with you.

Comment from JOHNSON: Is it true in SAP S/4HANA, CO there is no need to do reconciliation?

Rohana Gunawardena: Johnson, I can see exactly how you came up with this question based on the background information on SAP S/4HANA Finance.

In theory, no FI/CO reconciliation is required in SAP S/4HANA Finance as all FI and CO postings occur using Universal Journals posting to a single line-item table ACDOCA, with matching FI, CO, CO-PA, ML, etc. documents all posted as a single Universal Journal.

However, depending on your CO architecture, identification of cross-company-code transactions within a single controlling area may be important, current role of Reconciliation Ledger and FI/CO real-time reconciliation.

In practice, the nature of accountants is they want to reconcile, so it will be up to you to convince your business users that reconciliation is not required. In all likelihood, you will need to run a few periods of reconciliation after you go live with SAP S/4HANA Finance before you can convince accountants not to reconcile.

Additionally, SAP is not perfect, we always expect Dr = Cr in the G/L however due to update terminations and other issues the G/L can get out of balance. SAP even has standard programs to detect this and fix the issue as they know it can occur, see my article "Update Was Terminated"— What Every FI/CO User Should Know About This Error Message in Financials Expert for more details.

Comment from Rodrigo Gonzalez: Hi Rohana, I have a doubt about making settlements with secondary cost elements. Here in my company we want to do the next process: Run settlement process from cost center A to cost center B, C, and D. Then when we have the product of that settlement make another one from cost center B,C, and D to E, F, and G. Is there a way to make a second settlement with the secondary cost elements?

Rohana Gunawardena: Rodrigo, thanks for your questions.

Multi-level settlement as you mention above is actually quite common in SAP processes. In general, what you ask for can be achieved with secondary cost elements, however to give a detailed answer I would need more information about your system, e.g., is the second level settlement truly settlement or better executed as an assessment or distribution?

Comment from Mary-HII-NNS: Rohana, excellent idea about parallel process and RFC groups. I will look into it. Thank you!

Comment from Robert: Thank you, Rohana.

Comment from Robert: When KALC is executed, can we get the ref of the CO settlement document in the CO - FI reco doc?

Rohana Gunawardena: Robert, I assume you are on classic G/L using the reconciliation ledger. For the benefit of readers with SAP GL (new GL) the KALC transaction goes away and is replaced by real-time FI/CO reconciliation. If you really want the old style KALC transaction can be used instead of real-time FI/CO reconciliation with SAP GL (New GL).

I would start by looking directly at the line-item detail in table COFIS, which contains actual line-item detail for the reconciliation ledger. You can see if the document number you want is stored in the table. If it is then it is just a case of creating a new report (report writer or ABAP) or modifying an existing one to display the detail you want. If the document number is not there then you will need an enhancement to populate the settlement document number, I would think very carefully before making any such change as it could impact the effective operation of reconciliation ledger.

Comment from Mary-HII-NNS: Rohana, how is using CJ8G parallel processing with server group different from the standard load balancing?

Rohana Gunawardena: Mary, good question, many people get confused about these two phrases, which sound very similar.

In general, load balancing means distributing the many different SAP processes running at one time across different servers, e.g., spread multiple end user logons across servers, while parallel processing means splitting a single job into multiple processes. Parallel processing needs to be specially coded in the program, whereas load balancing is handed by the SAP NetWeaver system for all processes.

Comment from For currency conv...: Thank you.

Rohana Gunawardena: Currency conversion is an area I have worked on a lot. Do contact me at and I can go through the issue in more detail with you.

Rohana Gunawardena: Melanie, thank you for all of the support setting up the Q&A and getting so many participants.

Thank you to all of the participants for the great questions they have submitted.

I will be presenting at Financials 2016 in Vienna, 20 – 22 June, 2016.

I will be presenting six sessions:

  • How to effectively report operating expenses with standard SAP ERP Financials functionality
  • Expand your reporting options with an extended G/L code block
  • Using validation and substitution rules with SAP General Ledger
  • Deciphering the CO settlement process
  • Navigating the controlling options in your SAP system: A practical guide
  • Tips and techniques for identifying and analyzing CO data

Melanie Obeid, SAPinsider: Thanks, Rohana! Readers can check out Rohana’s sessions on this link. And click here for more information about the Financials 2016 event, including a full list of speakers and details about how to join us in Vienna 20-22 June!

An email has been sent to:

More from SAPinsider