Ashim Nanda explains how to reconcile costing-based Profitability Analysis (CO-PA) with FI using the G/L account as a characteristic.
Key Concept
SAP Profitability Analysis (CO-PA) supports two forms of profitability computation: costing based and account based. Account-based CO-PA reconciles with FI, whereas costing-based CO-PA has higher flexibility and computational capabilities that provide businesses with supporting tools and dashboards to make decisions such as make versus buy, promotion strategy, advertising spend focus, and distribution optimization spend.
Management accounting serves the core needs of internal business managers by improving decision support to efficiently manage internal business processes for achieving organization goals. For large organizations, the management accounting framework is laid out at the corporate level and is rolled out to its affiliates in various regions and countries. This approach ensures that the affiliate goals are commensurate with the vision of the organization.
An example of such a framework is requiring principles used to compute the profitability of an affiliate or a product line to be in line with the principle used for external profit-and-loss (P&L) statement reporting. This framework calls for reconciliation of management profitability reports with the published P&L statements. SAP costing-based Profitability Analysis (CO-PA) provides an efficient set of tools to compute profitability of business at various levels of granularity in dimensions pertaining to customers, product range, and geographic locations. However, costing-based profitability reports do not tie with FI. For companies that want the internal reports to tie to external published profitability statements, SAP offers account-based CO-PA, which has reduced computational capabilities. For example, valuation and top-down distribution functions are not available for account based CO-PA.
To have the best of both worlds, I use costing-based CO-PA and report profitability using a characteristic general ledger (G/L) account. I explain how to create the G/L account characteristic, provide logic to update this characteristic for various business scenarios, and generate a profitability report mockup using Excel based on the data from costing-based CO-PA tables.
Costing-based CO-PA reports by value fields, but account-based CO-PA reports by general ledger accounts. Based on performance implications, SAP limits the maximum number of value fields to 200 in costing-based CO-PA (SAP Note 1029391). However, there is no such limit to the number of characteristic values. I explain an innovative solution to address the requirement to build complete product-level profitability reports.
Note
Most companies have more than 200 lines (accounts) in their externally published P&L statements. Because costing-based CO-PA can generate product-level P&L reports only with a maximum of 200 lines (value fields) for management accounting, reconciliation of management and published profitability statements becomes a tedious task. For example, consider a scenario in which a company sells only two products: A and B. Adding the dollar value of the line electricity expense from the profitability reports of products A and B should result in the same dollar value in the electricity expense line in the published P&L statement. Thus, the reconciliation of the full reports ensures that internal or management reports follow the same principles of externally published statements and vice versa.
These reports mimic the layout of externally published profit-and-loss (P&L) statements using costing-based CO-PA functionalities such as top-down distribution and valuation. I use accounts as a CO-PA characteristic to complement the value fields to address the 200 value fields limitation and have costing-based CO-PA reconcile with FI. With this approach I prevent duplication of data in account- and costing-based CO-PA tables and improve system performance.
This solution can be realized by leveraging the characteristic derivation (COPA0001) and actual data enhancements (COPA0005) customer exits available in CO-PA. I describe various scenarios that feed data into costing-based CO-PA tables and update the account characteristic via leveraging COPA0001 and COPA0005. I explain some scenarios and demonstrate the posting logic in the SAP system. I also discuss how to generate complete product-level profitability reports. I use the line-item reporting functionality in which the account characteristic complements the value field and creates a report mock-up using the data in costing-based CO-PA tables.
Create General Ledger Account as a Characteristic
Characteristics are the criteria in CO-PA by which you can analyze your operating results and perform sales and profit planning. To generate product-level profitability reports by G/L accounts, you need to create a G/L account as a CO-PA characteristic.
To create new characteristics for an operating concern use transaction code KEA5 or follow menu path SPRO > Controlling > Profitability Analysis > Structures > Define Operating Concern > Maintain Characteristics. Characteristics that originally come from other SAP modules can be created as characteristics in CO-PA by copying these fields from existing tables or structures. The table from which a characteristic is copied is referred to as that characteristic’s table of origin.
To create G/L account characteristics, you need to add tables SKB1 (in the classic G/L) or FAGLFLEXA (in the SAP General Ledger) to the list of table of origin available for building CO-PA characteristics. Add the following entries in table TKEDP and TKEPT. Use transaction code SE16 to access the tables TKEDP (
Figure 1) and TKEPT (
Figure 2). To create new entries click the create icon

or press the F5 key. This step yields additional tables of origin that reference which CO-PA characteristic can be built. In my example I use the SAP General Ledger table FAGLFLEXA for building the characteristic G/L Account.
Figure 1
Table TKEDP
Figure 2
Table TKEPT
Note
In this article references to the SAP General Ledger are to the module formerly known as the new G/L.
Note
Introduction of the G/L account as a characteristic increases the number of CO-PA segments. For example, consider a scenario in which the total number of CO-PA segments without the G/L account characteristic is N, and you have 300 P&L accounts in an operational chart. You now have 300*N CO-PA segments. The table CE4xxxx (where xxxx is the operating concern) has its size increased 300 times. Therefore, I recommend that you negotiate with business over the reporting dimensions to lower N by eliminating nice-to-have characteristics from the CO-PA cube.
How to Create Value Fields
Because you have a G/L account level of details for all CO-PA line items, technically you do not need any value field to build a profitability report layout. However, I recommend that you create a basic list of value fields based on a high-level logical group of accounts, as these may form the basis of various allocations and top-down distribution in CO-PA. For example, you need to have a value field for gross revenue in case there are business requirements to do period-end allocations and top-down distributions using gross revenue as the basis or tracing factor.
Note
Per SAP Note 1029391, costing-based CO-PA can have up to 200 value fields. However, I do not recommend that you exhaust all value fields for reporting. That is because many value fields may be used as a tracing factor for facilitating periodic allocations and top-down distribution. In addition, I recommend that you create some value fields with generic names (e.g., allocation factor 1, allocation factor 2) so that affiliates (company codes) can use them for any affiliate-specific allocation requirement.
How to Update G/L Account Characteristics for Various Business Transactions
After you define all characteristics and G/L account characteristic and value fields based on business requirements, you generate the operating concern via transaction code KEA0. To derive the G/L account characteristic, use the characteristic derivation functionality that can be accessed using transaction code KEDR or follow customizing menu path SPRO > SAP Customizing Implementation Guide > Controlling > Profitability Analysis > Master Data > Define Characteristic Derivation. The methods that are used in the derivation step are termed as derivation types. The characteristic derivation consists of many derivation types such as:
- Derivation rule
- Table lookup
- Moves
- Clear
- Customer enhancement
Now I discuss a typical set of scenarios for which you need to populate the G/L account characteristic. I use different derivation types for G/L account characteristic derivation for each of these scenarios.
Scenario 1: Revenue or Credit Posting from SD Billing: Enhancement
A standard SAP system posts revenue, discount, and cost of goods sold (COGS) during the billing process into a single CO-PA line. Enhancement logic is required to split the CO-PA line into multiple lines for revenue, discount, and COGS posting, as well as to populate the G/L account characteristic in each of these lines. To achieve these two objectives you need to use the CO-PA Valuation Enhancement (COPA0005) and Characteristic Derivation Enhancement (COPA0001). I recommend that you post the post goods issue (PGI) and billing with a minimal timing difference, preferably the same day using batch processing for CO-PA to reconcile with accounting. I also recommend setting up cost of goods sold (COGS) as a cost element so that CO-PA reports can mimic an external P&L statement.
Note
I do not activate the flow of the incoming sales order into CO-PA using transaction code KEKF because the sales order does not have any impact on accounting (i.e., no accounting document was created). Therefore, I don’t want it to affect CO-PA.
To split the CO-PA lines activate the valuation enhancement by using transaction code KE4U or following customizing menu path SPRO > SAP Customizing Implementation Guide > Controlling > Profitability Analysis > Master Data > Valuation > Valuation Strategies > Define and Assign Valuation Strategy. In this transaction the Valuation Enhancement is triggered.
The valuation can be performed either using CO-PA costing sheets or via a user exit. In my scenario I use the user exit, so I enter user exit U01 for valuation strategy 001 (
Figure 3).
Figure 3
Define a valuation strategy using a user exit
Now you need to assign the valuation strategy to an operating concern. The point of valuation (PV) is set to 01 for real-time valuation of actual data (Figure 4). The record type (Rec.) in CO-PA indicates the type of business transaction from which the data is transferred to CO-PA. Because the Sales and Distribution (SD) data flows to CO-PA during billing, I choose record type F (billing data).
Figure 4
Assign a valuation strategy
Note
I have discussed data flow to CO-PA separately using various scenarios. Some scenarios I use as examples involve additional configuration or master data maintenance only and do not need the user exit.
With the above configuration the enhancement COPA0005 is triggered. The enhancement helps to modify how actual data is updated in CO-PA via the FI/CO interface. The enhancement consists of function module EXIT_SAPLKEII_001, which is called when a line item is created in CO-PA from the FI/CO document. It is executed after the characteristics are transferred from the sender document
, but before the values are transferred and derivation of characteristic values is carried out. Thus, it can be used to split the line items that are posted to CO-PA from a billing document and for the split lines for which a G/L account characteristic is determined.
Note
The user exits are activated in all operating concerns as soon as the CO-PA enhancements are activated. Thus, I recommend that you include additional check codes in the user exit, so that the code logic is functional for the intended operating concerns only.
To trigger the Characteristic Derivation enhancement COPA0001, you create a derivation step of derivation type customer enhancement by using transaction code KEDR or by following menu path SPRO > SAP Customizing Implementation Guide > Controlling > Profitability Analysis > Master Data > Define Characteristic Derivation. As you can see in
Figure 5, enhancement COPA0001 has function module EXIT_SAPLKEAA_001, which can be used to define source code in include ZXKKEU011. The code logic is to look for the G/L account in the accounting document generated from the billing document to populate the respective G/L account characteristic in CO-PA.
Figure 5
Configuration for G/L account characteristic derivation using an enhancement
Note
I discuss data flow to CO-PA using various scenarios. The data flow to CO-PA happens differently for different scenarios. Production Variance Settlement or Project System settlement scenarios are beyond the scope of this article. However, similar logic can be used for those types of settlements using record type E (single transaction costing) and C (order or project settlement).
Scenario 2: Revenue/Credits/Consumption Posting from FI: Derivation
Postings made to CO-PA from FI flow into CO-PA using primary cost elements. A cost element is an example of fixed fields that are automatically contained within all operating concerns.
Note
Fixed fields are the characteristics that are automatically contained in all operating concerns. These can be viewed in transaction KEA5 to maintain a characteristic by clicking Extras > Fixed Fields from the header menu.
For Revenue/Credits/Consumption Posting from FI scenarios, you use the derivation type Move to populate the characteristic G/L account with the value in the fixed characteristic cost element. To use the derivation type Move, use transaction code KEDR or follow menu path SPRO > SAP Customizing Implementation Guide > Controlling > Profitability Analysis > Master Data > Define Characteristic Derivation. Click the create icon

or press the F5 key and select the Move radio button in the pop-up screen (not shown).
In the next screen (
Figure 6), enter a description of the derivation and select the Source field radio button. Enter the origin source field name as CO-PA and KSTAR. In the Target field enter the origin target field name as CO-PA and WWACT.
Figure 6
The Move derivation type for G/L account derivation
Click the Condition tab. In this tab you can maintain a condition that is prerequisite for this derivation to work. For example, I want this derivation to work only for Controlling Area ASM1, so I maintain condition Controlling Area equals ASM1 for the derivation to trigger. This can be done by entering CO-PA in the Origin column, KOKRS in the Name column, = in the Operator column, and ASM1 in the Value column (
Figure 7).
Figure 7
The Move derivation type for G/L account derivation for a condition that is always true
Scenario 3: Overhead Costs for CO-PA Assessment (Plan and Actual): Assessment Cycle Design
Overhead costs booked in cost centers are allocated to the CO-PA segment using CO-PA assessment cycles. There are a couple of techniques using configuration and master data from which a G/L account characteristic can be derived. Thus, you avoid custom codes for this scenario.
Note
CO-PA assessments do not affect the FI module when you use classic General Ledger accounting. However, with the SAP General Ledger, when you perform CO-PA assessments, real-time posting is made to FI when the sender cost center is assigned to a profit center that differs from the profit center derived for the receiver CO-PA segment. My point is in reference to the automatic reconciliation postings in SAP General Ledger profit centers when the cost is allocated from cost centers to CO-PA segments. The profit center in cost center master and profit center derived for CO-PA segment are different.
Use Characteristic Derivation Configuration
CO-PA assessments are posted using secondary cost elements of cost element category 42: Assessment. A derivation rule can be set up to map the secondary cost elements to a G/L account as shown in
Figure 8.
Figure 8
Derivation rule: Secondary cost element to G/L account mapping
Use Assessment Cycle Definition Master Data
To define a CO-PA assessment cycle populate the G/L account in the assessment cycle. To define assessment cycles for allocation of cost from cost centers to profitability segments use transaction code KEU1. In the Senders/Receivers tab of the screen that appears (
Figure 9) populate the Cost Center and Cost Element fields in the Sender section. In the Receiver section enter the CO-PA segment characteristics in the Product, Customer, Sales district, and Account Number fields.
Figure 9
Populate fields in the Senders/Receivers tab to define an assessment cycle for a G/L account characteristic
Click the Receiver Tracing Factor tab. In this tab you maintain the receiver tracing factor for the profitability segment with the G/L account characteristic of 65000, the same as the sender cost element of 65000 (
Figure 10).
Figure 10
Populate the fields in the Receiver Tracing Factor tab to define an assessment cycle for a G/L account characteristic
Note
Consumptions can be posted to a cost center, and overhead cost assessment as described in scenario 3 can be used to determine the account from the cost element.
Scenario 4: CO-PA Top-Down Distribution (Plan and Actual): Distribution Run
Top-down distribution is used to automatically distribute plan and actual data from a certain level of granularity into more detailed level, on the basis of reference data that has already been posted at a level of greater detail. For example, imagine that you have booked expenses at the Customer + Sales District level and you want to further distribute this information at the Product + Customer + Sales District level. Using top-down distribution functionality, the SAP system uses existing data at the Product + Customer + Sales District level to apportion the Customer + Sales District level data.
To execute top-down distribution use transaction code KE28 or follow menu path Accounting > Controlling > Profitability Analysis > Actual Postings > Period-End Closing > Top-Down Distribution > KE28 – Execute. The screen that appears (
Figure 11) shows you the period for which top-down distribution is executed, the record types that need to be distributed, and reference data details.
Figure 11
Execute top-down distribution
After you populate the fields necessary for top-down distribution shown in
Figure 11, you are ready to set up instructions for processing. To complete this process, click the Processing Instructions button on upper left section of the screen shown in
Figure 11 or press the F6 key on your keyboard. In the screen that appears (
Figure 12) note that for the Account Number characteristic, the radio button is under the Copy Value column. Selecting this button ensures that the characteristic values from the distributing CO-PA lines are retained in the distributed CO-PA lines. Click the execute icon

or press the F8 key to execute top-down distribution.
Figure 12
Processing instructions for executing top-down distribution
The next screen that appears (
Figure 13) shows the results of the top-down distribution run. Because you had the characteristic WWACT account number set to Copy Value in the Processing Instructions, the account characteristic from the distributing line (first row) is retained in the distributed lines (second and third row).
Figure 13
Results of the top-down distribution run
After you populate the G/L account characteristic for the various scenarios using the various techniques that I described, you can use custom reporting logic in SAP ERP Central Component (SAP ECC) or SAP Business Warehouse (BW) to generate profitability reports by account, thus mimicking the externally published P&L reports. I demonstrate how the results can be realized using a smaller set of data extracted from a CO-PA line-item display via transaction KE24. To execute transaction KE24 click the spreadsheet icon highlighted in
Figure 13. The output can be extracted into an Excel spreadsheet. Using the data in Excel format, I have used the Pivot table functionality to generate the profitability report using G/L accounts in a venture to report with layout similar to externally published statements as shown in
Figure 14.
Figure 14
A profitability report mock-up using Excel pivot table functionality
Ashim A. Nanda
Ashim A. Nanda is a managing consultant in SAP FI/CO working with IBM Global Business Services. He has more than eight years of experience with implementation, global rollout, and maintenance projects for clients in the pharmaceutical, telecommunication, automotive, and high-tech industries. Ashim holds an MBA in finance and systems from Xavier Institute of Management, India, and a degree in electrical engineering from University College of Engineering, India.
You may contact the author at
ashim.nanda2001@gmail.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the
editor.