Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 30

https://blogs.sap.

com/2019/02/22/sap-s4-hana-inter-company-reconciliation-process-gl-accounts-002/

https://blogs.sap.com/2019/11/08/the-next-generation-intercompany-solution-intercompany-
matching-reconciliation/

https://sapinsider.wispubs.com/Assets/Blogs/2018/February/SAP-S-4HANA-Real-Time-Intercompany-
Postings-for-Project-Based-Services

SAP S/4HANA: Real-Time Intercompany Postings for


Project-Based Services
by Stefan Walz, Chief Business Process Architect, Financials Development, SAP and Janet Salmon, Product
Manager, SAP SE
February 12, 2018
As organizations become ever more global, it is becoming increasingly common for the employees charging
time to a project to be working in a different legal entity from the one to which the project belongs. Every
professional service organization is familiar with this situation, since they inevitably have consultants scattered
across the world, but plenty of internal projects experience similar challenges as they bring experts together
from around the globe. 
We’ll look at the new options for intercompany billing in the service world that are available from SAP S/4HANA
1610. We explain how the time recording process can trigger intercompany markups when the sender cost
center and receiver project belong to different legal entities and how to set up intercompany clearing accounts
to handle this process. You will learn how to:
 Define activity rates that vary depending on who is providing the activity and in which legal entity it
takes place
 Trigger an intercompany margin calculation with each activity allocation that crosses a legal entity
 Ensure that the receiving company is charged with stable prices when the two legal entities use
different currencies
 Use this process to streamline intercompany reconciliation
 Configure the system to make such postings happen
Overview of the Process for Cross-Charging of Intercompany Services
With SAP S/4HANA the familiar concept of real-time postings has been extended so that such postings can
trigger follow-on postings that generate an additional posting to reflect the intercompany margin when activities
are recorded between different legal entities. With SAP S/4HANA 1610 a time confirmation can trigger a
second journal entry for the intercompany margin. These postings can then be used as the basis for the familiar
periodic billing process between the affiliated companies that includes tax markups at period close.
Figure 1 provides a simple illustration of how the delivering company is performing services for the ordering
company, both of which are in the same controlling area and system instance.
Figure 1 — Resource-related intercompany billing process
The link is in the time recording, where the project requesting the service belongs to the ordering company and
the employee providing the service is assigned to a cost center in the delivering company. The time recording
uses Cross-Application Time Sheets (CATS), or if you haven’t implemented CATS, you need to use transaction
code KB21N. The employee enters the hours of activity that should be charged to the project. The only
difference is that the employee’s cost center and the receiving project belong to different legal entities. The time
recording credits the cost center and debits the project as with any direct activity allocation. However, because
the delivering and ordering company are in different legal entities, the system also triggers a follow-on posting
containing the intercompany margin agreed upon between the two entities and a posting to an intercompany
clearing account.
Intercompany Markups and Related Clearing Accounts
To understand the new process, let’s start by looking at the postings associated with the resource-related
intercompany billing process in Figure 2. Figure 2 shows the SAP Fiori application G/L Account Line Items
screen which is part of the G/L accountant role.

Figure 2 —— Time recording and follow-on posting in the G/L Account Line Ltems app
Users can access this app from the SAP Fiori Launchpad using the tiles delivered as part of the G/L accountant
role. In this example, we have selected all postings associated with the reference document 300003117 (see
the upper right section of Figure 2) that documents the time recorded by the employee to the project. The first
block of posting lines are those created in company code 1710 (USA) where a consultant records that he has
provided one hour of consulting from his cost center (17101902) to a project (work breakdown structure [WBS]
element SW007.1.1) in company code 1010 (Germany). The second block of posting lines illustrates how these
costs were received in company code 1010 and how a margin was added. 
The triggering process was a time recording in CATS. It resulted in the expected postings under business
transaction RKL (for activity allocations) in each company code and a new pair of postings under business
transaction KAMV (for manual cost allocations) that carries the intercompany margin. Normally, a time
recording would only result in one posting ─ the RKL lines for the sender cost center and the receiver project.
With the new functionality, there are substantially more posting lines, which operate as follows:  
 The sending cost center in the US is credited, and the receiving project in Germany is debited with
USD 75 (the first posting line in each company code). This is the internal rate for the service,
converted into euros in the receiving company code.
 The same amount is posted in reverse to an intercompany clearing account (the second posting line
in each company code). These are the profit-and-loss (P&L) accounts and the process ensures that
the balance is zero in the two affiliated company codes.
 An intercompany markup of USD 15 is posted as a value adjustment for the difference between the
intercompany rate of USD 90 and the internal rate of USD 75 (third posting line in each company
code).
 Again, the same amount is posted in reverse to an intercompany clearing account (the fourth posting
line in each company code).
While that covers the posting lines, you’ll notice several new fields that you wouldn’t have found in the classic
Controlling (CO) line items:
 The first newcomer is the trading partner (the far right column in Figure 2) that is used as the basis
for eliminating profits between affiliated companies during the consolidation process.
 You would expect to see the WBS element as the receiver of the allocation, but not in the sending
lines (see postings in the US company code) where you would expect to see only the cost center and
activity type. The WBS element field has been configured as a reporting attribute so that the sending
company has complete transparency over which cost objects have received charges. 
To understand how the consulting charge was made, let’s now look at the activity rates in the SAP Fiori
Change Actual Cost Rate Condition application. Users can access this app from the tiles delivered as part of
the cost accountant role. Notice in Figure 3 that we are not entering activity rates using the familiar transaction
code KP26 (activity type/price planning), but rather, a new transaction code CMACA02 (the SAP Fiori Maintain
activity cost rates app) that is only available if you activate the business function
FINS_CO_ICO_PROC_ENH_101. You still use transaction code KP26 for activities such as production hours
or maintenance hours taking place in cost centers that are supplying activities in the same legal entity.
However, you should consider using the new application where you have cross-company activity flows.
Figure 3  — Intercompany activity rate
 
Activities taking place in the delivering company 1710 (the USA company code) are charged at USD 75 per
hour. If the receiver of the activity allocation is in the same company code, you see only the normal posting
lines, debiting the cost center and crediting the receiver for USD 75. However, if the receiver of the activity
allocation is in a different company code, in our case 1010 (the German company code), a higher charge is
made that includes the intercompany markup. 
This results in the two lines shown in Figure 2, where you see a charge of USD 75 plus an intercompany
charge of USD 15. The account determination works as usual for the consulting activity, which is charged
under the G/L account for the cost element entered in the activity type. We’ll look at how to define the account
assignment for the intercompany margins and clearing accounts in the configuration section later in the article.
You’ll find more about the background to such intercompany postings in SAP Note 2527020
at https://launchpad.support.sap.com/#/notes/2527020. 
Since outside of the EU it is likely that the affiliated companies will be working with different currencies, a
change was made to the logic for the currency conversion in SAP S/4HANA 1709. The internal posting in the
delivering company (1710) takes place in the transaction currency (USD here), and other currencies are
derived from this currency using the standard currency settings. In the cloud edition of SAP S/4HANA, the price
agreed upon for the receiving company should not react to exchange rate fluctuations, but instead should
remain stable at EUR 72 with all other currencies derived from this transaction currency.
Here an example how the single price components are calculated.
Exchange rate: 1 USD = 0.80 EUR,1 EUR = 1,25 USD

The intercompany rate is fixed for the receiver -> 72 EUR ( 90 USD)

The internal cost rate is calculated -> 60 EUR   (75USD *0,8 EUR)

The margin is calculated as the difference of intercompany and intracompany rate -> 12 EUR (72 EUR minus
60 EUR). So the margin value will react on exchange rate fluctuations, but not the price received in the
receiving company.

SAP Note 2395283 explains details of the conversion logic


at https://launchpad.support.sap.com/#/notes/2395283.
If you are familiar with the fields in Change Plan Data for Activity Types transaction (transaction code KP26),
you’ll notice several other new options in addition to the company-code-specific rate in Figure 3. Notice that
you can also make the rate specific to the project (the WBS Element column) or even the employee (the
Pers.No. [personnel number] column). Notice also a column for the service cost level (the SC… column).
Currently, this column is only available in the cloud edition and is used to define the grade of the employee.
This grade or service cost level is then defined as an attribute in the employee master record and is taken into
account for activity postings made by that employee.
Figure 4 shows the SAP Fiori Projects – Actuals application that is delivered as part of the Cost Accountant –
Sales role and how these postings are reflected in project reporting. In this example, we have selected the
project definition SW007 (see the top left section of Figure 4) to show all postings relating to the project. Notice
the Consulting and ICO Margin accounts in each company code.

Figure 4 — The Projects - Actuals Report


Intercompany Billing
The postings in Figures 2 and 4 take place whenever time is recorded (often on a daily basis). However, most
ordering companies don’t want to receive an invoice on a daily basis. Instead, they want to be billed at period
close for the work performed by employees. You’ll find the application to create the intercompany billing
document (along with the sales order) in the Internal Sales Representative for Professional Services
(SAP_BR_INTERNAL_SALES_REP_PRSV) role or by using transaction code DP93.
To understand what will be included in the intercompany billing document, select the two relevant posting lines
by entering the trading partner 1010 in the top right section of the G/L Account Line Items app, as shown
in Figure 5. What’s important here is that the intercompany markup has already been calculated based on the
settings for the activity rate. These exact figures will be billed to the ordering company, so you don’t have
intercompany reconciliation headaches with each company showing a different figure for the activities charged.

Figure 5 —— Document lines to be used for intercompany billing


Figure 6 shows how these figures are transferred directly to the intercompany billing document. To keep the
example simple, we have charged for only one consulting hour, but normally we would be billing for all the
consulting activities performed during the period. The normal billing process then calculates the tax obligation
and the associated receivables. 

Figure 6 — Intercompany billing document


Consultants and employees on international projects don’t generally just record work time, but also incur travel
expenses. If the employee’s cost center and the project for which the travel took place were in different legal
entities, the employee cost center was credited and the project in the receiving company was credited with the
travel expense account. For real-time intercompany clearing in both companies line items were created with an
intercompany clearing account (must be P&L accounts). For travel postings there are no mark-ups available.
This expense line item is also picked up during intercompany billing and included in the invoice to the ordering
company. 
At the time of writing, the intercompany billing document recognizes activity postings (transaction code KB21N)
and the related mark-up postings and travel if posted cross company with the Enter Manual Repostings of
Costs transaction (transaction code KB11N). The intercompany billing document does not reflect manual
journal entries between company codes or the results of project settlement or assessment/distribution cycles
that cross company codes.  
Configuring Cross-Company Service Charges
Before you start, you’ll need to ask your system administrator to activate business function
FINS_CO_ICO_PROC_ENH_101 (Intercompany Process Enhancements 1) using transaction code SFW5, as
shown in Figure 7. This activates the relevant steps in the IMG and the application to enter the activity rates. 

Figure 7 — Activate the intercompany process enhancements business function


Before you can use the application we showed in Figure 3, you’ll need to create an appropriate pricing
procedure and activate this in the IMG by following the steps shown in Figure 8 to create the relevant sales
and distribution (SD) conditions. You’ll find these steps under menu path  Controlling > Cost Center Accounting
> Planning > Price Planning Based on Condition Technique. Follow the instructions in each of the steps.
 

Figure 8 — Condition techniques for the pricing procedure for the activity valuation
Before you can create the intercompany posting lines in Figures 2 and 4, you need to enter the account that
will be used to store the intercompany margin. Follow menu path Controlling > Cost Center Accounting > Actual
Postings > Additional Transaction-Related Postings > Intercompany Margins for Activity Allocations > Assign
Intercompany Margin Accounts in the IMG. Then select your chart of accounts. We selected YCOA (standard
chart of accounts). In Figure 9 you can either define a different intercompany margin account for each activity
account or define a default intercompany margin account to be used for all activity allocation accounts.
Figure 9 — Intercompany margin accounts
On a similar note, if you wish to use the different types of expense postings to generate postings to separate
intercompany clearing accounts, you can use the triggering account to determine which intercompany clearing
account should be updated. In Figure 10 we have created separate accounts for the various expenses that are
typically incurred on a professional services project. To maintain these expense accounts in the IMG, follow
menu path Controlling > Cost Center Accounting > Actual Postings > Additional Transaction-Related Postings
> Assign Intercompany Clearing Accounts and add a pair of clearing accounts for each expense account that
will be used in your intercompany postings. 

Figure 10 — Intercompany clearing accounts


Finally, you need to make the extra fields that are shown in Figure 3 part of the posting document by activating
them as reporting attributes. To include the employee number and the WBS Element in the posting line, follow
IMG menu path Controlling > Cost Center Accounting > Actual Postings > Additional Transaction-Related
Postings > Derivation of Add Reporting Attributes for ICO CO Postings. Select the DerRepA (derive reporting
attributes) check box as shown in Figure 11. This ensures that they are included in the relevant posting
documents.
Figure 11 — Reporting attributes

https://sapinsider.wispubs.com/Assets/Articles/2017/November/FI-Expert-SAP-S4HANA-1610-Material-
Ledger-Actual-Costing
SAP S/4HANA 1610 Material Ledger Actual Costing:
Understand the Fundamental Changes and the Impact on
Conversion
by Ajeet Agarwal, Senior Business Process Consultant, SAP India (SDC)
November 21, 2017
Learn and understand the massive changes in material ledger actual costing with SAP S/4HANA 1610. See how the
technical and functional changes to this version of SAP S/4HANA affect organizations that use actual costing in a
source system and are migrating from earlier SAP S/4HANA releases to SAP S/4HANA 1610.

With the new magnitude of overall simplification of the actual costing process in SAP S/4HANA 1610,
organizations can achieve significant reductions in run time. Now the material ledger close is significantly
faster. Four separate process steps (single-level settlement, multi-level settlement, revaluation of consumption,
and work in process [WIP] revaluation) are merged into one step (i.e., settlement). The changes made in the
material ledger include various old actual costing tables being integrated into two new tables, MLDOC and
MLDOCCCS. However, this was not only a technical change. The material ledger data store and processing
logic also were fundamentally simplified. Because of these changes in the material ledger, there is in general
no backward compatibility, and that is why no compatibility views exist on the table level.
I describe the changes made to SAP S/4HANA 1610 by answering questions that arose in the wake of the
release of this version of SAP S/4HANA and explaining their impact on various business processes.
What Are the Supported Valuations with SAP S/4HANA 1610?
SAP S/4HANA supports all ERP valuation methods, and there is no change from a business functionality point
of view. SAP S/4HANA 1610 supports the following valuations:
 Standard Price
 Moving Average Price
 Actual Costing Optional
 Last in, first out (LIFO)/first in, first out (FIFO) valuation
 Transfer Pricing to enable Legal/Group and profit center valuation
Why Is the Material Ledger Mandatory in SAP S/4HANA Enterprise Management 1511 and
Higher?
Before SAP S/4HANA, the inventory valuation tables xBEW(H) (tables EBEW, EBEWH, MBEW, MBEWH,
OBEW, OBEWH, QBEW, and QBEWH) contained transactional and master data attributes. With SAP
S/4HANA, these tables still exist. However, these tables are used to store only material master data attributes.
The transactional fields LBKUM, SALK3, and VKSAL are retrieved from the ACDOCA line items table with on-
the-fly aggregation. The transactional field SALKV also is retrieved from the material ledger table.
Hence, those fields are not updated anymore in the original xBEW(H) tables. As a consequence, the material
ledger has to be activated mandatorily. During a conversion to SAP S/4HANA 1610 or higher, the configuration
conversion step activates the material ledger automatically for all users doing the conversion even though the
users have not activated the material ledger in their source systems. If the user is doing a new implementation,
the material ledger activation has to be done manually and the xBEW(H) tables need to be updated less often,
leading to a higher throughput as a result of fewer database locks (refer to SAP Note 2337368).
What Are the Technical Changes to SAP S/4HANA 1610?
SAP has made significant architectural simplification in SAP S/4HANA 1610, including material ledger actual
costing. The changes made in the material ledger include the following:
 Various actual costing tables have been integrated into two new tables, MLDOC and MLDOCCCS.
 The content of most of the former material ledger database tables is now stored in table ACDOCA,
which allows simpler, faster (SAP HANA optimized) access to the data. The attributes of the material
ledger data model that are relevant for the inventory subledger functionality are now part of table
ACDOCA. The former tables are obsolete.
 Contents of tables MLIT, MLPP, MLPPF, MLCR, MLCRF, MLCD, CKMI1, and BSIM are stored in
ACDOCA. MLHD data is stored in BKPF.
 The new material ledger document tables MLDOC and MLDOCCCS replace most former periodic tables
(MLHD, MLIT, MLPP, MLPPF, MLCR, MLCRF, MLKEPH, CKMLPP, CKMLCR, MLCD, CKMLMV003,
CKMLMV004, CKMLPPWIP, and CKMLKEPH). For more information refer to SAP Note 2352383.
Table 1 provides a snapshot of the replaced tables and their purposes.

Table 1
Tables replaced in SAP S/4HANA 1610
(For more information on the tables replaced in SAP S/4HANA, refer to SAP Notes 2352383 and 2354768.)
What Are the Functional Changes with Material Ledger Actual Costing in SAP S/4HANA
1610?
In SAP S4/HANA 1610 the material ledger data store and processing logic were fundamentally simplified.
Functional changes to SAP S/4HANA 1610 include:
 The material ledger close is significantly faster. The four separate process steps that I mentioned at the
beginning of this article are merged into one step, settlement.
 With the new material ledger, there is no longer the distinction between single- and multi-level variances.
 Price changes during the period are now possible without using a late-price change.
 Completely new period status logic.
These changes in the material ledger mean that in general there is no backward compatibility, and that is why
no compatibility views exist for material ledger tables.
The actual costing closing cockpit was significantly simplified in SAP S/4HANA 1610. Figures 1 and 2 compare
the actual closing cockpit before and after SAP S/4HANA 1610.

Figure 1
The actual costing closing cockpit before SAP S/4HANA 1610

Figure 2
The actual costing closing cockpit with SAP S/4HANA 1610
What Is the Impact of SAP S/4HANA on Reporting?
The Material Price Analysis transaction (transaction codes CKM3 and CKM3N) was refactored and now
provides a simplified, improved view of materials in plants with active actual costing. This view replaces the
former CKM3 view Price Determination Structure. The enhanced Material Price Analysis transaction
functionality in SAP S/4HANA includes these changes:
 No more single-level or multi-level variances are shown in different columns in CKM3; rather, these
variances are displayed in the same column and these variances can still be identified whether the
variance is single level or multilevel. Since single- and multi-level variances were stored in different fields,
they were shown in different columns in CKM3.You have only one column for both single- and multi-level
variances. However, the information is still there and shown in CKM3. There is no longer a separate view
for cost components, but instead, the cost components are integrated in the main screen.
 The posting logic to FI has not changed. It still distinguishes multi-level rollup (transaction key PRV)
versus single-level postings (transaction key PRY).
 Multi-level variances: In table MLDOC you can find the multi-level price variances in the records with
POSART = MC for materials and AC for activities.
 Single-level variances: POSART = MI are the variances that are rolled up on the consumption side to the
next level. For a multi-level rollup, there always exists a pair of MI/MC records. MC is for materials, and MI
is for the variances that are rolled up on the consumption side to the next level
 Plan/Actual Comparison is removed in the new CKM3 transaction code
 Technically, data is retrieved from tables MLDOC, MLDOCCCS, MLDOC_EXTRACT, and
MLDOCCCS_EXTRACT
This new CKM3/CKM3N functionality is explained with a few examples.
Execute transaction code CKM3. In the screen that appears input data in the Material, Plant, and Period/Year
fields as shown in Figure 3. In the View field select PS Price Determination Structure from the drop-down list of
options. The section highlighted in the red square in Figure 3 then appears. In the Production section under
Consumption in Figure 3, the data is for raw material issued for semifinished goods (SFG) production.

Figure 3
Raw material valuation issued SFG production
(Note: In Figure 3, COGM stands for cost of goods manufactured.)
Now execute transaction code CKM3 again. In the screen that appears input data in the Material, Plant, and
Period/Year fields as shown in Figure 4. In the View field select PS Price Determination Structure from the
drop-down list of options. The section under Production highlighted in the red rectangle in Figure 4 then
appears. The data in the rows in this section is for raw material issued for finished goods (FG) production.

Figure 4
Raw material valuation issued to FG production
Execute transaction code CKM3 again. In the screen that appears input data in the Material, Plant, and
Period/Year fields as shown in Figure 5. In the View field select PS Price Determination Structure from the
drop-down list of options. The rows highlighted in red in Figure 5 then appear. The data in the second row
under Production in the Receipts section (the row in which ATY 1305/1420 appears) is for the own price
difference on production. The data in the second and third rows under Production in the Consumption section
are for the price difference passed on to consumption — material issued for production.
Figure 5
Semifinished material valuation issued to FG
Now execute transaction code CKM3 again. In the screen that appears input data in the Material, Plant, and
Period/Year fields as shown in Figure 6. In the View field select PS Price Determination Structure from the
drop-down list of options. Then after you expand the Receipts folder, the first marked red box in this folder
displays the price difference on production allocated from lower level materials, the second red box with ATY
1305/1420 shows production variances of its own. When you open the Ending Inventory folder, the marked red
rows in this folder show price differences allocated to ending inventory at the time of periodic closing using
transaction code CKMLCP, which you can see in the Settlement row.
Figure 6
Finished material valuation
You can see single-level price difference and multi-level price differences in the same column.
Now I compare the processes you complete after executing transaction code CKM3 in SAP S/4HANA 1610
versus the processes used after executing transaction code CKM3 in the SAP ERP Central Component (ECC)
system. Figure 7 shows view after executing transaction code CKM3 by providing Material /plant and period.

Figure 7
Results after executing Material Price Analysis (transaction code CKM3) in SAP
S/4HANA1610
In Figure 7, multi-level (marked in the first red box) and single-level (marked in the second red box) variances
are shown under the same column, and these variances are allocated to ending inventory at period end close,
which is shown under settlement. However, prior to SAP S/4HANA 1610 these differences could be seen in
different columns as shown in Figure 8.

Figure 8
Results after executing the Material Price Analysis transaction (CKM3) prior to SAP
S/4HANA1610
The cost component is added by default with SAP S/4HANA 1610 in the Material Price Analysis transaction
(CKM3) and there is no further option given in the view to select the cost component.
The Plan/Actual comparison is removed from SAP S/4HANA 1610, but it was available in prior releases
(Figure 8).
With SAP S/4HANA 1610, after you execute the Material Price Analysis transaction (CKM3), the system
provides you with four views (Figure 9), whereas after you execute Material Price Analysis in the ECC system,
you find 12 views available as shown in Figure 10.

Figure 9
Material Price Analysis transaction (CKM3) options available with selection value from
SAP S/4HANA 1610
Figure 10
Material Price Analysis transaction (CKM3) options available with selection value prior
to SAP S/4HANA 1610
Additonal options were added to the new Material Price Analysis transaction in SAP S/4HANA 1610. For
example, you can see the closing document, closing history, source document, and WIP reduction. These
options were not available with Material Price Analysis in ECC.
The functionality for the Valuated Quantity Structure transaction (transaction code CKMLQS) has been
designed to display the multi-level valuated quantity structure for individual material. The aim of the multi-level
valuated quantity structure is to provide an overview of the actual quantity structure of the multi-level
processes, valuated with the actual prices from the actual costing.
Now execute transaction code CKMLQS and enter data in the Material, Plant, and Period/Year fields. After you
execute the transaction, the system displays the screen in Figure 11.

Figure 11
Multi-level valuated quantity structure
Implement SAP Note 2378468 for report CKMLQS. I recommend that you also apply SAP Note 2495950 to
enable that the Valuated Quantity Structure transaction can be called directly via a button from transaction
codes CKM3 and CKM3OLD if this is not available in your SAP S/4HANA 1610 version.
Figure 12 shows a comparison of period status updated in the Material Price Analysis transaction before SAP
S/4HANA 1610 and with SAP S/4HANA 1610. To verify the period status, execute transaction code CKM3 and
populate the Material, Plant, and Period/Year fields. Then click the Information on Period Status icon under
period status. You can then observe that the period statuses are different in SAP S/4HANA 1610 versus lower
releases.

Figure 12
Period status
Period status can be verified as explained above from transaction code CKM3 or from table MLRUNLIST.
Now it is possible in the standard system behavior to change the standard price even if the goods movement
has been posted. However, you cannot change the price if the material status is closing entries completed.
Now it is no longer required to use a late price change (LTPC) with SAP S/4HANA 1610.
You might use the Allow Open Status for Previous Period check box from the parameters on the Preparation
step after executing transaction code CKMLCP. Use this new check box only in exceptional cases. In general
SAP does not recommend selecting this check box (Figure 13). If you press the F1 key on your keyboard, SAP
Help documentation explains in which scenarios this option should be checked. If you select this check box,
materials or activities are processed in the Cockpit Actual Costing transaction (transaction code CKMLCP)
even though their period statuses in the previous period are not closing entries completed.

Figure 13
The Allow Open Status for Previous Period check box
Normally, the status check of a previous period should be used in following scenarios:
 In a test environment to allow testing of the material ledger period close in the Cockpit Actual Costing
transaction (transaction code CKMLCP) for a recent period although the Cockpit Actual Costing
transaction has not been executed for previous periods.
 In a productive environment for the very first material ledger period close after the material ledger has
been set to productive.
 In a productive environment, if the Cockpit Actual Costing transaction for the previous period was
processed incompletely owing to errors and it is no longer possible to complete post closing for the open
materials or activities (for example, because results have already been reported).
For details refer to KBA 2515611 - S/4HANA 1610 CKMLCP: errors ML4HMASTER 106 or ML4HMASTER
107, or Close previous period first.
What Tables Have Been Updated in SAP S/4HANA 1610?
The material ledger data includes the following categories:
AB = Beginning Inventory
PC = Price Change
ZU = Receipts
VP = Other Receipts/Consumption
VN = Consumption
EB = Ending Inventory
NV = Not Distributed
KB = Cumulitive Inventory

NC = Not Allocated

The difficult thing is that on the database level in table MLDOC the quantities and values for beginning
inventory and ending inventory are not persisted any more for each period. Instead, they need to be calculated
dynamically by aggregating all quantity and value changes from previous periods. It is best to calculate this
information based on table MLDOC_EXTRACT.

Table MLDOC_EXTRACT holds information about quantity and valuation changes. Transaction-based
updates, such as goods movements or invoice receipts, usually update tables MLDOC and MLDOC_EXTRACT
in parallel. However, table MLDOC_EXTRACT can be compressed. After compression, the table contains only
one entry per cost estimate number, period, and currency type valuation view. Table MLDOC_EXTRACT
allows fast and efficient calculation of the total quantity and total value by cumulating all records for specific
cost estimate numbers.

During period shift (transaction code MMPV) the tables MLDOC_EXTRACT are compressed automatically for
periods older than the previous period. Manual compression via program
FCML4H_RMLDOC_EXTRACT_COMPRESS is possible and recommended by SAP in case of very high
number of material movements. For further details refer to SAP Note 2354768.

Execute transaction code SE16N and pass the cost estimate number for the material as shown in Figure 6.
You then see the individual line item records in the screen in Figure 14.
Execute transaction code SE16N and pass the cost estimate number for the material as shown in  Figure 14.
You then see the screen in Figure 15 in which you can see the compressed records per period or currency
with quantity and values as ending inventory.

Figure 14
Update of table MLDOC for the material shown in Figure 6
Figure 15
Update of MLDOC_EXTRACT table for the material shown in Figure 14
If you need the quantities and values for beginning inventory and ending inventory for each period, then use
reporting table FCML_REP_V. If you do not need the quantities and values for beginning inventory and ending
inventory for each period, it will be better to read data directly from table MLDOC. Reading directly from table
MLDOC also has advantages if you want to be able to look into details of single goods movement documents,
because FCML_REP_V has data only on a level, summarized by category, item type, and production process
number, as shown in Figure 16. In Figure 16 note that the marked EB category represents ending inventory,
AB represents beginning inventory, ZU represents receipts, and VN represents consumption.

Figure 16
Update of view FCML_REP_V for the material shown in Figure 14
The Core Data Services (CDS) view provides a unified data model across all application domains
FCML_REP_V has been optimized. Now it shows Beginning Inventory (Category AB) and Ending Inventory
(Category EB) also when no costing run has been created for the period, and when no goods movements have
been posted in the period. To get the optimized version, implement SAP Note 2456976 CDS-View
FCML_REP_V Beginning Inventory for periods w/o MLRUNLIST.
In case you cannot get the required information directly out of tables MLDOCCCS_EXTRACT and
MLDOCCCS, a new CDS view FCML_CCS_REP_V can be implemented via SAP Note 2467741.
ACDOCA_M_EXTRACT
With this model, material inventory documents (journal entries) are inserted into table ACDOCA. Actual
inventory quantity and value data are no longer persisted in the material ledger tables and inventory valuation
tables in the key figure model (for example, tables CKMLPP, CKMLCR, MBEW, and MBEWH). All actual
inventory quantity and value data are calculated on the fly from the material inventory entries in table ACDOCA.
To increase performance a second table, ACDOCA_M_EXTRACT, has been introduced, from which the actual
inventory quantity and value data are calculated instead of from table ACDOCA.
ACDOCA_M_EXTRACT has a small subset of fields from ACDOCA, and each inventory valuation relevant
record inserted into ACDOCA during the material inventory document posting is also inserted into
ACDOCA_M_EXTRACT.
Records in ACDOCA_M_EXTRACT are periodically condensed. That means that the single material inventory
documents are aggregated to new condensed records per material and per period. The new condensed
records are inserted into ACDOCA_M_EXTRACT, and the contributing records of the single material inventory
documents are deleted from ACDOCA_M_EXTRACT. These condensed records result in a periodic reduction
in the number of records in ACDOCA_M_EXTRACT compared with ACDOCA.
Because of the reduced number of records in ACDOCA_M_EXTRACT, requests for actual inventory quantity
and value data perform better after this process. This process is called precompacting for table
ACDOCA_M_EXTRACT and is executed by default as part of period-end closing.
Execute transaction code SE16N and then pass on the cost estimate number to view the table in the output
screen shown in Figure 17.

Figure 17
Table ACDOCA_M_EXTRACT update
Precompacting for table ACDOCA_M_EXTRACT is executed by default as part of period-end closing
transaction MMPV After you execute transaction code MMPV an entry with GLFY 9999 and period 999 is
updated. This represents the closing stock of the material ledger completed period as shown in second marked
box in Figure 17
Where period is updated as 009.2016 / 010/2016 those shows periodwise stock as well as values as shown in
first marked red box in Figure 17.
For calculating current closing stock the last closing entry (i.e., period 999 FY 9999 + all the entries that have
document numbers updated) should be considered.
For more information refer to SAP Note 2342347.
Execute transaction code SE16N. This action opens the screen in Figure 18. In the Search for Table field enter
a table name (e.g., MLRUNLIST) and populate the fields under the Material and Plant columns for the relevant
item. (For my example, the item is enclosed in the red rectangle. Enter COGM-F-01 for the material and COG4
for the plant.) Press the Enter key on your keyboard to save your data. In this example, the highlighted item
in Figure 18 shows that actual costing closing is completed for this material for the period 09/2016 in valuation
area COG4.
Figure 18
Table MLRUNLIST update (also refer to Figure 6)
The closing entry is completed for the COGM-F-01 in plant COG4 for period 9/2016.
What Functionality Has Changed in SAP S/4HANA 1610 to Complete an Alternative
Valuation Run (AVR)?
In the Cockpit Actual Costing (transaction code CKMLCP) and AVR Cockpit (transaction code CKMLCPAVR)
transactions, there is an additional parameter named Application (Figure 19). This means that the application
can be chosen so that it is possible to process alternative valuation runs via transaction code CKMLCP and
actual costing runs via transaction code CKMLCPAVR.
There is a new icon next to the display<->change icon to switch the application from Costing Run to Run
Reference and back in the toolbar of the Cockpit Actual Costing and Alternative Valuation Run Cockpit
transactions, as shown in Figure 19.

Figure 19
AVR options (CKMLCP or CKMLCPAVR)
When the application is switched to Run Reference, a run reference can be created, changed, or displayed. A
run reference is a reference that contains all settings of an AVR. It can be used when creating an AVR, but it is
only mandatory for creating AVRs for parallel COGM. It can also be created for a single period run, for a year-
to-date run, or for a rolling run.
There are two options for creating an AVR: Create a classic AVR, which is the same as before SAP S/4HANA
1610, or create an AVR with a run reference, which means the settings are taken from the run reference and
can’t be changed. Only the plants must be chosen.
In SAP S4/HANA 1610 all AVRs use periodic posting logic as is explained in SAP Note 633010. The classic
delta posting logic is no longer available.
A restriction in SAP S/4HANA 1610 is that currently there can’t be a periodic run and a posting AVR with same
end period—except for the specific parallel COGM scenarios. For example, that means if users are running
CKMLCP every period end, then AVR cannot be run. For example, if the user is running CKMLCP every period
end 1 to 12, which is the normal actual costing process, then if another user wants to run AVR for the period 1
to 6 and 7 to 12 as a cumulation run, it would not work. For more details on this process, refer to SAP Note
2354768.
What Is the Impact on an Organization That Converts to SAP S/4HANA 1610?
There is a significant impact on the users in an organization that is currently using material ledger actual
costing and is migrating to SAP S/4HANA 1610. Therefore, it is very important to understand the overall
functional and technical changes SAP made in the SAP S/4HANA 1610 release. I explain how an organization
should analyze the actual costing post migration to SAP S/4HANA 1610.
Material Ledger Type Conversion
In SAP S/4HANA 1610 you no longer can use a material ledger type that references currency settings defined
in FI or Controlling (CO). (The old check boxes that you no longer can use are Currency Types from FI and
Currency Types from CO.) Instead, you have to explicitly define the currency and valuation types that are
relevant for the material ledger. Refer to SAP Note 2291076.
(Note: During material ledger configuration, the conversion step for the existing material ledger type 0000 is
automatically converted to a new material ledger type and assigned to all the plants. Therefore, there is no
need to create a material ledger type manually during conversion.)
To define a material ledger type, execute transaction code FML_MIG_CUST and follow menu path SPRO >
Conversion of Accounting to SAP S/4HANA > Preparations and Migration of Customizing > Preparations and
Migration of Customizing for Material Ledger > Migrate Material Ledger Customizing. This path takes you to the
screen in Figure 20.

Figure 20
The Migrate Material Ledger Customizing screen
After you execute the program in update mode by clicking the execute icon in Figure 20, check the following
transactions:
 Define Material Ledger Type (transaction code OMX2)
 Material Ledger Assignment of Valuation Area (transaction code OMX3)
 Material Ledger Activation in n Valuation Areas (transaction code OMX1)
After you execute the migration step as explained in the instructions before Figure 16, first check the settings
after you execute transaction code OMX2. This action opens the screen in Figure 21. Check whether the new
material ledger type besides 0000 exists. Check whether manual currency type option is selected with ML
types other than 0000 as explained in Figure 17.
Figure 21
Define a material ledger type
If this is a new implementation, then you need to create ML types other than 0000 and select the indicators
under the Manual column for the currency settings as shown in Figure 17.  
Now select the value in the field under the ML Type column (e.g., 9300) in Figure 21 and click the Define
individual characteristics folder. You see the screen shown in Figure 22.

Figure 22
Define individual characterstics in the ML type
Verify whether all the required currency types are included in Figure 22. Note during conversion, currency
types are taken over from the source SAP system, and if the material ledger is not active in the source system,
then the default currency type 10 is added.
For my example, two currrency types are entered in Figure 22, but you can add up to three currency types.
After the ML Type is set up as explained in the instructions before Figures 21 and 22, then execute transaction
code OMX3 to assign material ledger types to valuation areas as shown in Figure 23.

Figure 23
Assign a material ledger type to a valuation area
In Figure 23 check that all the plants that are assigned to a material ledger type have a green status box. Now
execute transaction code OMX1. This action opens the screen in Figure 24.
Figure 24
Activate the material ledger with relevant price determination
In this step, you activate the material ledger for one or more valuation areas. If the material ledger is active for
a valuation area, all materials in that valuation area are valued using the material ledger.
To activate the material ledger:
 Set the Material ledger active indicator for the valuation areas for which you want to activate the material
ledger.
 With price control V in activity-based material price determination (indicator 2 in the material master), the
moving average price is calculated. If the price control indicator is S, the material is valuated at the
standard price. The moving average price is calculated for information purposes.
 In single- or multi-level material price determination (indicator 3 in the material master), the valuation
price (standard price) remains unchanged and a periodic unit price is calculated for the material valuation
of the closed period. This option is only possible for materials with price control indicator S.
(Note: If you activate the material ledger for a valuation area (Plant), you should also activate it for all other
plants in the company code. This step ensures that the accounts in FI are reconciled with the accounts in MM.)
Check whether actual costing is active in the source system by following customizing menu path SPRO >
Controlling > Product Cost Controlling > Actual Costing/Material Ledger > Actual Costing > Activate Actual
Costing. This path takes you to the screen in Figure 25.

Figure 25
Activate actual costing
(Note: In the old system [i.e., before SAP S/4HANA 1610] you can check whether actual costing has been
activated by viewing table T001W-MGVUPD = X.)
In this step you activate actual costing for materials and the update of activity consumption in the quantity
structure. The activation is separate for each plant.
You need to select a setting for updating the consumption of activities and processes in the actual quantity
structure. Three different settings are available:
 0 = Update is not active
 1 = Update is active but not relevant to price determination. Consumption is updated in the quantity
structure but not taken into account upon price determination.
 2 = Update is active and relevant to price determination. Variances between the activity prices/process
prices posted during the period and the actual price at the end of the period are adjusted subsequently.
To include this price in actual costing, choose option 2 Activity update relevant to price determination in the
column Activity Consumption Update in the Quantity Structure. Click the save icon to save your changes.
What Steps Do I Need to Complete for Data Migration to SAP S/4HANA 1610?
To migrate data to SAP S/4HANA 1610, follow menu path SPRO > Conversion of Accounting to SAP S/4HANA
> Data Migration > Start and Monitor Data Migration. This path takes you to screen in Figure 26 wherein the
rows in the red box show migrated material ledger data and the rows in the green box show migrated purchase
order and production order history.

Figure 26
The data migration cockpit
I now describe the migration steps shown in Figure 26.
M10: Migrate Material Ledger Master Data
This activity ensures that the material ledger is activated for all valuation areas because it is mandatory in SAP
S/4HANA. The activity creates material ledger master data (tables: CKMLHD, CKMLPR, CKMLPP and
CKMLCR) in all material ledger currencies for periods more recent than the last period of the previous year.
Data in MLDOC is created from the last period of the previous year to the current period for all valuation areas
where actual costing is activated. Cost component split data is created in table MLDOCCS based on MLDOC
entries.
In addition, all existing inventory aggregate values (tables MBEW, EBEW, QBEW, OBEW) and their complete
historic data (tables MBEWH EBEWH, QBEWH, OBEWH) are migrated into the new universal journal entry
table ACDOCA and ACDOCA_M_EXTRACT. Period records more recent than the last period of the previous
year are converted into material ledger currencies using the standard exchange rate type. If you are already
using the material ledger, existing material ledger records (tables CKMLPP and CKMLCR) are transferred into
ACDOCA and ACDOCA_M_EXTRACT with all existing currency information.
This migration activity does not activate actual costing because actual costing is still optional in SAP S/4HANA.
However, if you are already using actual costing in the migration source system, ML data for actual costing is
transferred to new ML data structures.
M20: Check Material Ledger Master Data
After you perform the material ledger master data migration activity, this activity checks and verifies the
migrated data. For instance, existing values from the inventory and material ledger tables are compared with
aggregation via table ACDOCA.
M11: Migrate Material Ledger Order History
If the material ledger was not active in any valuation area before SAP S/4HANA conversion, this actvity
ensures that all existing purchase order history table records (tables EKBE, EKBEH, EKBZ, EKBZH) and
production order history table records (tables MLAUFCR and MLAUFCRH) are converted into the material
ledger currencies.
M21: Check ML Production Order and Purchase Order History
This activity verifies whether all production and purchase order history records have been converted into the
material ledger currencies.
For further detail refer to SAP Note 2352383.
(Note: All the material ledger customizing and data migration steps are mandatory to execute even if
companies have not activated the material ledger or actual costing in the source system and are migrating to
SAP S/4HANA 1610.
To convert from SAP S/4HANA 1511 to SAP S/4HANA 1610, you need to execute the FCML4H_STARTUP
program to update new SAP S/4HANA 1610 material ledger tables as table ACDOCA would have already been
updated with SAP S/4HANA 1511 data conversion steps.)
What Tips Should I Learn About Reading Old and New Actual Costing Data in SAP
S/4HANA 1610?
When material ledger data is converted owing to the simplified material ledger data model in SAP S4/HANA
1610, this conversion is not based on single material documents or price change documents. There is one
entry per period, per currency type and valuation view, per category (e.g., receipts), per process category (e.g.,
production), and per production process.
Reading Old Data (Before Conversion)
Here are some tips for reading old data before converting to SAP S/4HANA 1610:
 You may use your old reports that point to the old tables and read old data before conversion.
Compatibility views are not necessary.
 You may also use adapted custom programs that point to the new tables, but keep in mind the
conversion logic.
 Keep in mind that all material-related goods movements or price changes from previous years are
converted to the MLDOC tables as if the goods movement or the price change had taken place in the last
period of the previous year (summarization).
 Remember that data of the current year is converted not based on single material documents or price
change documents, but is summarized as follows: one entry per period, per currency type and valuation
view, per category (e.g., receipts), per process category (e.g., production), and per production process.
 Data older than the last period of the previous year (related to the time of system conversion) cannot be
displayed by executing transaction code CKM3 because the old data has not been converted to the
MLDOC tables. To show data older than the last period of the previous year, you can use transaction
codes CKM3OLD (Material Price Analysis) or CKM3PHOLD (Material Price History). Figure 27 shows the
differences in the screens in the SAP system after executing transaction codes CKM3 and CKM3OLD.
 CKM3OLD does not show postings created after system conversion.
Figure 27
Differences in screens after executing transaction codes CKM3 and CKM3OLD

Reading New Data (After Conversion) in a Custom-Developed Query


New data posted after conversion to SAP S/4HANA 1610 is stored in the new tables. You have to adapt your
custom programs and queries to read the new tables.
Recommendations for Organizations Doing a System Conversion
If your organization is planning a conversion to SAP S/4HANA 1610, here are some recommendations to
consider:
 Before system conversion is started, all material ledger costing runs—whether it is an actual costing
(transaction code CKMLCP) or an alternative valuation run (transaction code CKMLCPAVR)—need to be
finished (e.g., the step post closing has been successfully executed with no errors and no materials with a
status of open). Reason: After system conversion to SAP S/4HANA 1610 or later, it is not possible to do
any changes on costing runs created before the system conversion.
 You cannot change material ledger costing runs or run steps of material ledger costing runs during the
process of system conversion.
 You cannot activate or deactivate material ledger actual costing during the process of system conversion
for one or more plants.
 Material ledger custom codes should be reviewed and reworked as there is no compatibility view.
Therefore, material ledger custom reports also do not work because they are based on the old material
ledger data structure.
A Review Quiz
The following statements are either true or false:
1. In the SAP S/4HANA 1511 on-premise version, there was no issue regarding a material ledger with 200
custom programs.

2. Normally, SAP provides compatibility views to continue to use custom programs, but table MLxx does not
have views in the SAP S/4HANA 1610 version.

3. If users have created SAP query reports by using standard query functions or ABAP reports, with SAP
S/4HANA 1610, SAP query reports have to be changed referring to the new material ledger table.
4. Transaction code FCML_FILL is required in SAP S/4HANA 1610.

5. There are not any database views (CDS) available as per the new material ledger database design in SAP
S/4HANA 1610.

6. There is a material ledger help desk available that supports the new design.

7. There are not any important SAP Notes to which you should refer while implementing or migrating to SAP
S/4HANA 1610 with actual costing.

8. The late price change process (LTPC) is required with SAP S/4HANA 1610. 
Answers
1. True. The changes in the material ledger with actual costing were introduced with SAP S/4HANA 1610. You
can find information on this change in the Simplification List (PDF document) and various release notes.
2. True. The changes in the material ledger with actual costing are so massive that it does not make sense or is
impossible to provide compatibility views. Depending on the information you want to read, you need to adapt
your customer-specific reports to read the new tables.
3. True. The queries have to be adapted if you want to read new data. Provide the queries so that you can be
guided to the correct new tables.
4. False. In SAP S/4HANA 1610 transaction code FCML_FILL is not needed anymore because the data base
views FCML_MAT_V and FCML_REP_V can replace the former database tables.
5. False. Via SAP Note 2433831/ 2467741 you can implement new database views (CDS) FCML_MAT_V,
FCML_REP_V, FCML_PROC_V, FCML_CCS_REP_V. These views can be consumed in the same way as
database tables and already contain much of the information you require.
6. True. The Material Ledger Consistency check report is available to suppport SAP S/4HANA 1610 and can be
used to find the inconsistency in material ledger tables. However, these reports can be run only in test mode,
and the correction can be done only by a responsible SAP development team. For the same reason you need
to open an SAP Note message to fix the material ledger inconsistency. This new report can be implemented
using SAP Note 2433733 along with the prerequisite notes mentioned in SAP Note 2433733. The transaction
code for this report is FCMLHELP.
7. False. The following SAP Notes must be referred to if your organization is moving to SAP S/4HANA 1610:
 2332591 - Technical Changes in Material Ledger
 2416935 - Material Ledger with Actual Costing in S/4HANA 1610: Important Notes
 2354768 - Technical Changes in Material Ledger with Actual Costing
 2352383 - Conversion to S/4HANA Material Ledger and Actual Costing
 2416935 - Material Ledger with Actual Costing in S/4HANA 1610: Important Notes2427356 - OMX1:
valuation area cannot be added with ML type 9000
 2433733- ML Helpdesk tool in S/4HANAML Helpdesk tool in S/4HANA
8. False. With SAP S/4HANA 1610 you can change the price directly after executing transaction code MR21 in
the period in which goods movement has been done without using the LTPC option. Therefore, the LTPC
option is no longer required with actual costing in SAP S/4HANA 1610.

You might also like