Defination
SAP ML: Material Ledger is a Tool that collects transaction data for materials whose master data is stored in material master
Material Ledgers/ Actual Costing
SAP ML Material Ledger/ Actual Costing is one of the complex tool provided by SAP to manage its inflows and outflows of core manufacturing related materials in multiple currency and valuations. In this blog, I have tried to explain this functionality in detail with example (mainly Actual Costing).
Basically SAP ML Material Ledger/Actual Costing are the two separate functionalities which are inter-dependent and are incorporated in the SAP Controlling module which are discussed below.
Actual Costing
Genuine Costing is usefulness given by SAP to ascertain real costs I-e; Little guy (occasional unit cost) of inventories/valuated material including Natural substance (ROH), Semi-Completed Great (HALB) and Completed Great (FERT). It remembers every one of the genuine costs for material for specific period.
Genuine Costing Run (CKMLCP) is the month end movement, which is utilized to valuated the stock in monetary record at real value (Little guy Occasional Unit Cost) by ascertaining and posting Creation difference during the month on the Material which was recently kept up with at Standard Cost (determined from CK11N) in asset report.
Standard costing and real costing can run totally different from one another with no struggles. The main choice to be made is, what cost you use for material valuation. You can check and let your expense assessments out of CK40N as standard cost to be utilized during the period. After the period is finished and you run your CKMLCP you can choose in the end passages if you have any desire to revalue the stock (of last month) by the occasional unit cost.
The figure below shows the process and entries for Production Variance without SAP ML Material Ledger/ Actual Costing,
The figure below shows the process and entries for Production Variance with Material Ledger/ Actual Costing,
If ML / Actual Costing is active the following Price determination setting can be done in Material Master of materia
ML active | ML not active | ||
Moving Average price (V) | Standard price (S) | Standard price (S)Recommended for SFG FG | |
Price determination2 Transaction-based(MVA is used for valuation) | Price determination3 Single/Multilevel(PUP is used for Valuation in the closed period)Recommended for FG SFG and also RMIf ML is active with price determination 3 and you have already performed transactions to the material during the current period the costing release (CK40N or CK24) of Standard price to material is not allowed. | Price determination2 Transaction-based(Std price is used for Valuation.MVA is used for Info purpose )If with ML active you use price determination 2 then you can have both standard and moving average price (S or V) but cannot do inventory valuation at actual costing (PUP).So, if you decide to use 2 and V then the purpose of ML would only be for parallel valuation (not for actual costing). | Moving Average(V)Recommended for RM |
S4 HANA Simplifications for Actual Costing:
In S4/HANA, there are no changes in the Actual Costing process it is remain optional to client whether to use this functionality or not as in SAP ECC
Material Ledger SAP ML
Material Ledger is a tool used to manage your inventory in multiple currencies and/ or perform multiple inventory valuation. It allows the client to manage its inventory in three currencies which is previously (when SAP ML Material Ledger is not activated) being manged in only one currency with legal valuation.
SAP ML Material ledger with Or without Multiple valuations
In order to used Multiple Valuations ML must be implemented.
ML with multiple valuations | ML w/o multiple valuations |
If multiple valuations are used ML valuates the materials in up to 3 valuation views with 2 currenciesExample 1: 3 val : 2 currLegal valuation/ Comp code currencyGroup valuation/ Group currencyProfit center valuation/ Group currency ORLegal valuation/ Comp code currencyGroup valuation/ Group currencyProfit center valuation/ Comp code currencyExample 2: 3 val : 1 currLegal valuation/ Comp code currencyGroup valuation/ Comp code currencyProfit center valuation/ Comp code currency | If multiple valuations are not used ML just store the material prices/stock values in up to 3 currenciesExample 1:Comp code currencyGroup currencyHard currencyExample 2:Comp code currencyGroup currencyIndex based currency |
Used with Multiple Valuation:Used for parallel valuations. Material price/stock is valuated(costed through CK11N) separately and stored in the specified currency. | Used without Multiple Valuation:Used if we want to store/display material price/stock/transactions in multiple currencies.It is a mere translation of price/ stock into different currencies at historical exchange rate . |
For each valuation view we maintain separate Version in controlling through t-code: OKEV.
Example,
Version | Version Description | Plan | Actual | Valuation View | WIP/RA | Variance |
0909910 | Legal valuationGroup valuationProfit Ctr Valuation | . | Legal valuationGroup ValuationProfit Ctr Valuation |
With Legal Valuation, you are able to valuate your business processes similar to how you would do that in the Company Code, using Company Code Currency. Hence your financial reporting will be similar in Profit Center Accounting and FI.
In the Group View, you apply transfer pricing among Profit Centers at cost. Therefore, there are no intra-company transfer profits. The only profits that arise will be with respect to non-group companies.
With the Profit Center View, you apply transfer prices amount Profit Centers with Internal Revenue and Internal Costs. Therefore, rather than transfer the goods at Cost, the sender PC will “sell” the goods to the receiver PC. This differs from the Legal view, where the group valuation is more like a intra-group transfer.
S4 HANA Simplifications for Actual Costing:
Previously in SAP ECC,
Now in SAP S4/HANA
Material Ledger Simplifications in S4/ HANA,
Material Leger/ Actual Costing Process Flow.
Procure to Pay Cycle for RM (Raw Material):
Figure below shows the Purchase to Order cycle to procure RM1 and RM2 material at respective prices.
Accounting entry generated in FI module during transaction MIGO,
In report CKM3 for RM1, we see that the price difference between standard price maintained in RM1 material and actual price at Good receipts is separately posted and shown under Price difference.
Prerequisites for Production Cycle:
Now check or Run cost estimate for FG and SFG to calculate and update Standard Prices in Material Master. Also create BOM and Routing master data for FG1 (FERT).
Production Cycle for FG (Finished Good):
Now we create Production Order using CS01, as we are using Collective order processing which is a set of production orders for FG and all its SFGs.
To Create a collective order, one of the SFG must have a special procurement key 81 in its MRP/ Costing view of master data.
As, we are using External activity “PCKG” at operation 0020. So when create Production order of any quantity the Purchase requisition for this activity type based on required quantity and standard price got created. Then on the basis of the Purchase requisition purchase order is created and Invoice verification MIRO is done against it.
Now the confirmation for SFG1 operation 0010 is performed. During confirmation the plan yield based on production quantity plus BOM and activity from routing is suggested which is change by manually entering the actual quantity and activity cost. It also suggests scrap of 2% maintained in MRP1 view of material master.
Figure below analyzes RM1 goods issue and SFG1 Production issue for Production order in Material price report CKM3N for RM1 and SFG1.
Now the confirmation for SFG2 operation 0010 is performed. The pertaining accounting entries and moment types are shown in figure below,
Below is the figure to analyze RM2 goods issue and SFG2 Production issue for Production order in Material price report CKM3N for RM2 and SFG2.
Now, we do the final confirmation for FG1 for operations “0010” and “0020” as shown in figure below,
Material Price Analyses report CKM3 for FG1 is analyzed, as shown in the below figure,
Following are the additional reports to further analyze the FG1 Material activity, purchase price and production variances.
Month-End Process for Production:
Now, we calculate actual activity Prices through KSII or entered it manually through KBK6. Then we TECO the all three production order and run the settlement to calculate Production Variances for FG (FERT) and SFGs
Below the figure showing CKM3 report analysis for FG1, SFG1 and SFG2,
Order to Cash Cycle for FG:
Now we make the sales 100 quantity of FG1. First we maintain the sales price for condition type PR00 in VK11 and then we execute the sales order cycle for the entry of sales order to billing where the accounting invoice is generated in Finance.
After doing post good issue/ delivery where the accounting entry is generated for Cost of sales. In Material Price analysis report CKM3 for FG, we are now able to see the impact of this sales as shown in below figure,
Note: If costing based CO-PA is activated, we can see the document generated for delivery and billing in Profitability Analysis by using t-code KE24 only after billing.
Actual Costing Run (CKMLCP):
Pre-requisites:
The sequence in ML/Actual Costing should always be the following:
1) Create and mark cost estimate in period 1 for period 2 (T-Code: CK11N)
2) Do the period shift from period 1 to 2 (T-Code: MMPV)
3) Release the Standard cost estimate (T-Code: CK40N or CK24)
4) Do ML period end closing of period 1 (T-Code: CKMLCP)
With ML active, you may use CKMLCP to calculate the actual price and mark it as the further price (but only for two periods later. Let’s say, if you do post closing for period 06 and get a periodic unit price, this price can only be marked as future price in period 08 or later). This marked future price can be released via ck40n, ck24, CKME.
If the company decides to go for periodic unit price every period. It is recommended to execute CKMLCP and further processes till release of periodic unit price from period 6 to 7 with material price determination maintain as 3 and S.
Company may decide whether or not to use the PUP (actual price) as future price. If it does not want so, use the normal Product Cost Planning process from CK11N/ CK40N.
Case 1 (Price determination 3 & S):
If ML is active with price determination 3 and you have already performed transactions to the material during the current period, the costing release (CK40N or CK24) of Standard price to material is not possible.
Case 2 (Price determination 2 & V):
If with ML active you use price determination 2 then you can have both standard and moving average price (S or V) but cannot do inventory valuation at actual costing (PUP). So, if you decide to use 2 and V then the purpose of ML would only be for parallel valuation (not for actual costing).
CKMLCP Execution:
CKMLCP is executed to calculate Period Unit Price (PUP), which basically represent average actual cost for material or semi finished goods. Execution of CKMLCP includes the below steps:
Step 1: Selection
Execution of Selection steps identified, the list of materials for which the Periodic Unit Price calculation need to be executed during CKMLCP. The selection step work on the below concept:
After executing the Selection step, the system will identifies all the materials for which Periodic Unit Price should be calculated during the CKMLCP as in our case materials MAK2 RM1, MAK2 RM2 MAK2 SFG1, MAK2 SFG2 & MAK2 FG1 are selected.. The materials selected during this run are based on following criteria,
1- Materials from those plants specified at creation of CKMLCP costing run.
2- It includes all the materials for which any goods movement happened during the current period or any of the previous periods after the go-live off Material ledger in Plant
3- List of materials for which ML indicator is set to active in Material master.
4- Material with status other than not defined or new.
Step 2: Determine Sequence
In this step the system describes the sequence in which the Periodic Unit Price for all the selected materials needs to be calculated.
It determine the group of materials, the cost of which don`t depend on the cost of any other materials. Generally these are externally procured materials from external vendor (not from internal organization transfer, or purchase from some other plant of same company). Like in our case raw materials MAK2RM1 and MAK2RM2 gets selected. These materials are considered for actual PUP calculation at single level price determination.
All the other materials, manufacture in-house, sub-contracting, purchase from some other affiliates in the same company are considered for multilevel price determination.
Step 3: Single level price determination
Single-level material price determination is the step in which the Periodic Unit Price (also called PUP, Actual Price) is determined.
This step calculates actual material prices based on Costs of Procurement.
The term single-level always refers to an individual material and its procurement process (external procurement and internal procurement like production or company transfer).
When using Actual costing, all materials are valuated with a preliminary price (standard price) that must remain constant during a period.
Variances (price differences and exchange rate differences) arise during the period for this preliminary valuation price.
At the end of the period, you can use the single-level price determination to assign the variances recorded in the period for each material.
In our case the Price difference for RM1 & RM2 are calculated and production variance for SFG1, SFG2 & FG1 are calculated.
The below figure shows the impact of single level price difference on the ending inventory of FG1.
Step 4: Multilevel price determination
In this step system do the PUP price calculations by considering the below prices:
1- Variance between the Standard price of raw materials with the Single level PUP calculated at -single level price determination
2- Variance between Plan activity rate with Actual activity rate
3- Variance allocation performed through the actual flow of goods on actual quantity
4- Variance between inter-plant (under same company, may or may not be under the same co. codes) transfer are also consider if any goods movement happened between these plants, otherwise not
5- All other variances having an impact on lower level materials actual cost are consider for calculating actual PUP for higher level materials.
The screenshots below depicts the the impact of Multi-Level Price determination on the RM1 to SFG1 highlighted in blue circle.
The picture below shows the the effects of Multi level Price determination on SFG2 from RM2 consumption.
Finally the the variances in consumption of SFG1 & SFG2 for FG1 would be transfer to FG1 Receipt from lower level Variances as shown in the figure below.
Step 5: Revaluation of consumption
In this step system do the revaluations of all the consumption based on the actual PUP calculated at single level or multilevel price determination. The main purpose of this step is to bring the cost of consumption for Good Finished to actual cost, so that the profit margins are not over or under stated.
The below image illustrates the impact of Consumption Revaluation on FG1 as the cost from non-allocated is assigned to Revaluation of Consumption.
Step 6: WIP revaluation
In this step system do the revaluations of all the Work in progress based on the actual PUP calculated at multilevel price determination.
As in our scenario WIP is not calculated for Production Order so we skip this step.
Step 7: Post closing
At post closing step, system do the posting of all the variances calculated during single level or multilevel price determination and do the revaluation of consumption and closing inventory, and passed the necessary entries.
After this the material master price control in the previous period will be changed permanent to V, from S. But in the new period, it will still be S.
Below are Accounting entries for the analysis resulted as a result of Post Closing execution.
In above entries you see that here the activity Price variance is charge to cost center and FG Inventory directly rather than to Cost center and Production Order. Here we don’t have to run t-code CON2 for Revaluation of activity at actual Price.
Step 8: Mark material price
Material ledger provides the functionality of converting the current Periodic unit Price (PUP) as standard cost of next month. This can be done via executing the Mark material price step.
When you mark price with CKMLCP, the future price in accounting view 1 is changed together with the “valid from” date.
After executing this step, the PUP of current months gets updated as marked cost estimate for coming month. For converting, the PUP of current month as standard cost of next month autoatically, we need to activate Dynamic price release.
Material Ledger Reports to Analyze after CKMLCP
In Material Ledger, the reports CKMVFM (Value Flow Monitor for materials), CKMACD (Value flow monitor for activities) and CKMREDWIP (Value Flow monitor for reduced WIP) are available to detect incomplete value flows.
These reports can be executed after all value allocating CKMLCP steps (all steps before Post Closing).
Why the balance in price differences accounts is not zero?
- With postings to materials with standard price control, price differences accumulate in FI.
- In the period-end closing of the material ledger (ML), for materials that are ML active and price determination 3, the accumulated price differences can be further allocated to ending inventory or consumption.
- Ideally, the Material Ledger can explode all price differences in this way, that is, the balance of all price difference accounts is zero in total.
- This note describes which price difference accounts are to be looked at. It explains in which cases a balance remains on the price difference accounts after the period-end closing of the ML:
Link: https://wiki.scn.sap.com/wiki/display/ERPFI/Value+flow+monitor
The Value Flow Monitor in transaction CKMVFM: valuable information after period-end closing in Material Ledger.
Value Flow Monitor CKMVFM is the report to check all values initially posted to price difference accounts have been allocated to Consumption or to Ending Inventory after period-end closing in Material Ledger.
You use the Value Flow Monitor (transaction CKMVFM) to analyze the not distributed or not included differences.
744090 – Value Flow Monitor: Explanation and recommendations.
Explanations for the selection screen:
In the above image, select either the option to display all materials or the option to display only materials with open differences. You can use the Value Flow Monitor to analyze additional materials with price determination control 2. You cannot map the original selection options to these materials and, therefore, they are changed accordingly.
You may enter a threshold value for differences that are not distributed and/or not included. This means you can prevent the system from displaying materials, for which rounding differences occurred.If you enter only one threshold value, the transaction may display materials for which differences are below this threshold.
If you select option “Reconciliation FI with ML”, the system automatically selects the relevant price difference accounts for the reconciliation of FI accounts with the Material Ledger. The program analyzes all accounts that the chart of accounts of the company code to be analyzed provides for price differences. In particular, the following account keys are provided in the standard system: ‘AKO’, ‘AUM’, ‘KDM’, ‘KDV’, ‘PRD’, ‘PRV’, ‘PRY’, ‘UMB’, ‘UMD’.
Sometimes you may have to use other accounts for price differences or to control further postings to the accounts mentioned above. Take this into account in the analysis or contact us for a relevant change.
Important: The reconciliation between FI and ML only returns helpful results if you did not activate the summarization of FI documents. If special stocks are analyzed, the updating of the table ACCTIT must also be activated. If you activated a summarization of FI documents, the “Reconciliation FI with ML” option does not deliver any helpful results or does not delivery any results at all.
When you summarize FI documents, the values that are defined by the material are deleted from the relevant tables. For this reason, the information necessary for the selectable reconciliation can no longer be determined as differentiated.
The system cannot determine all of the information from the FI documents that is required for analyzing special stocks. The table ACCTIT provides the missing information. If you did not activate updating for the table ACCTIT, the differences of the special stocks are assigned to the stock material. The total of the differences for a material is then correct. However, it is not clear whether the differences are relevant for the warehouse stock or special stock.
If you do not select the “Reconciliation FI with ML” option, the updating of the table ACCTIT is not relevant.
For performance reasons, you must create an extract for each run. If you select a name, for which an extract already exists, the system overwrites this on the database.
If the saved extract data requires too many resources on your computer, you can delete it.
– Create an extract for each run – use Note 912984.
– Delete extract for the run – implement Note 999197.
Recommendations for the selection to improve the performance:
To analyze the FI accounts, all FI documents (BSEG records) of the selected time period must be read. This can result in major performance problems. The runtime and the required memory are considerably affected. Therefore, the analysis of alternative valuation runs is critical for performance.
Different procedures are recommended to work around this difficulty.
First of all, execute the transaction without analyzing the FI accounts and clarify which materials need a more detailed analysis. It is not performance-critical to execute this transaction because the BSEG records are not read in this case. Execute the transaction a second time and only analyze the materials that raise critical questions. This time, choose option “Reconciliation FI with ML”. There should be no performance problems because the scope of the selected data is now much smaller.
A further option is to create a database extract in the background. This can then be used regardless of performance problems in the update run for the analysis.
To improve performance, you must implement the following notes:
1045124, 973647, 924343, 912984, 855568, 849398, 849065, 770270, 768815, 715186.
Explanations for each view:
Monitor
The monitor is the “initial view” after you start the transaction.
The total of all postings without or with material reference is displayed on the selected accounts. Materials are subdivided according to price determination control 2 and 3. The listing is sorted according to material category and plant.
The total of all FI postings relating to material on the selected accounts is displayed in the “FI balance” column.
In the “FI/ML balance” column, the system lists the differences that accumulate in the Material Ledger.
The diode in the FI column is red when the values in the columns named above differ from one another. This diode is only significant if the material status is unequal to “Price determined” or “Closing Entry reversed”. The material status is apparent from the SP, MP, C columns (single-level price determined, multiple-level price determined or entered at closing). In the situations mentioned above, differences are only determined in the Material Ledger, but not yet posted in FI.
As for materials, you can go from the “Monitor” view to FI postings for a more detailed analysis. The FI postings are then sorted and totaled according to account and transaction key.
This move is also possible for postings without material reference.
Analysis “Not distributed”
The logic currently implemented in the price determination allows for a stock coverage check to take place. If the existing differences cannot be absorbed by the stock, a distorted price may be determined. Due to the price limiter logic, the differences are distributed according to stock. Differences that cannot be absorbed by the stock are determined as not distributed. You can investigate this phenomenon using the Value Flow Monitor. The price limiter quantity (“PL Quantity” column) specifies for which number of material pieces differences were determined. You can set the price limiter quantity to zero. Then all differences can be absorbed by the stock. No more non-distributed rows are created. In the “Price PB = 0” column, the newly created price is displayed.
The diode in the “VB” column specifies whether the price limiter quantity can be set to zero. If it is red, the price will be negative when you reset the price limiter quantity. If this is the case, use transaction MR22 to post a revaluation.
If the diode is green, you can delete the price limiter quantity. Then the relevant entry in the database (field CKMLPP-PBPOPO) is deleted and the material status is reset to “Quantities and Values entered”. You have to execute the price determination for the material once again.
You do not have to use the stock coverage check during single-level price determination. If you implement Note 855387, you have the option to turn on the stock coverage check using the selection parameter. Then you no longer have to reset the price limiter quantity.
You can carry out the price determination without stock coverage check but with thresholds. Heavy price distortions are output as errors.
Then you can examine the relevant materials using the Value Flow Monitor and determine the price accordingly (MR22, determine price with stock coverage check, confirm distorted price).
In the “Monitor” and “Analysis not distributed” view, you can go to a detailed analysis of the non-distributed values.
The calculation of the not distributed differences that exist due to a price limiter quantity logic that is used are explained here (area of calculation). However, there may be not distributed differences that are not displayed in this area. There is no program error in these cases. For the explanation of these not distributed differences, see the other reasons listed in the related Note 908776.
In addition, for the detailed analysis of the not distributed differences, the system displays the relevant documents that caused the not distributed values (area of relevant documents). You can navigate to the source document.
Material list
A flat ALV list is delivered when all other views are executed as ALV trees. You have the option to sort or filter the data according to an ALV list or to apply functions to the values. You cannot do this on the other views. The “Material list” view does not contain any additional information, only additional options.
Conclusion
A. Summarizing key points
In conclusion, SAP ML emerges as a transformative force that revolutionizes how businesses harness the power of data. From enhanced decision-making to automation, the benefits are vast and impactful.
B. Emphasizing the significance of SAP ML in the business landscape
Highlighting the significance of SAP ML in the business landscape underscores its importance as a strategic investment. Businesses that embrace SAP ML position themselves for sustained growth and competitiveness.
XV. Frequently Asked Questions (FAQs)
A. What is SAP ML, and how does it differ from traditional machine learning?
SAP Machine Learning (ML) is an innovative technology within the SAP ecosystem that goes beyond traditional machine learning. While both involve learning from data, SAP ML integrates seamlessly with SAP systems, offering tailored solutions to diverse business needs.
B. Can SAP ML be integrated into existing SAP systems seamlessly?
Yes, one of the strengths of SAP ML is its seamless integration with existing SAP systems. This integration ensures a cohesive approach to data management and analysis, streamlining processes for enhanced efficiency.
C. What are the potential challenges organizations might face during SAP ML implementation?
SAP ML implementation may face challenges such as data preparation complexities and model training intricacies. However, addressing these challenges with strategic solutions ensures successful integration.
D. How does SAP ML contribute to better decision-making in businesses?
SAP ML contributes to better decision-making by providing real-time insights and predictions. This empowers organizations to make informed, data-driven decisions aligned with their strategic goals.
E. Are there any industry-specific applications of SAP ML?
Yes, SAP ML has diverse applications across industries. From predictive analytics in finance to demand forecasting in retail, its adaptability makes it a valuable asset in various sectors.