← Writing
October 5, 2026·12 min read· ERP· Finance

Material ledger in S/4HANA: actual costing explained

By Michel Escoda — Independent Architect & SAP FICO Consultant
Share
Summary

The material ledger is mandatory in every S/4HANA system, but actual costing is optional, and most teams conflate the two. The real decisions are valuation views, currency types, price determination 2 vs 3, and whether actual costing posts or only informs. Actual costing pays off when cost pictures are volatile; in stable environments it is monthly revaluation overhead. Most 'the ledger is broken' panics trace to master data and closing discipline, not the costing method.

If your S/4HANA migration plan contains the line "activate the material ledger" as a checkbox item, stop reading and go find the person who wrote it. That one checkbox is where the valuation strategy of your entire company gets decided, usually by accident, and the consequences show up six months later in a COGS line nobody can explain.

Here is the uncomfortable truth from the field: the material ledger is not optional in S/4HANA, it is not a costing method, and it is not something you "enable" once. It is a subledger that becomes the valuation engine of your inventory, and it is mandatory in every S/4HANA system. What stays optional is actual costing. And the gap between those two facts is where most teams lose control of their margins.

What the material ledger actually is now

Forget most of what you know from ECC. In S/4HANA the material ledger is not a parallel set of periodic tables that you reconcile; it is a subledger living inside the Universal Journal. Material ledger detail is part of ACDOCA, the same table that holds your FI and CO postings. The old periodic tables (MLHD, MLIT, MLPP, MLCR, and friends) are no longer the store; MBEW and the rest of the classic views survive as CDS proxy views that join master data with the transactional data.

What that means in practice: the material ledger is on the same architectural plane as your financials. Valuation is no longer an MM side show. It is part of the accounting spine, which is exactly why the decisions around it stop being an MM topic and become a finance topic.

The second thing to internalize: in S/4HANA the material ledger is active in every system, whether you want it or not. The MM-IM simplification made it obligatory; on conversion it gets activated if it was not already. So the question is never "do we run the material ledger?" The question is "what is our valuation strategy on top of it?"

The decision that is actually yours

Here is the mental model I use with clients. The material ledger is the stage. You decide the play. And there are four knobs that make up the play:

Decision chain — a linked sequence of choice points, each one feeding the next Decision chain — a linked sequence of choice points, each one feeding the next

  1. Which valuation views you run: legal, group, profit center. Up to three.
  2. Which currency types you carry: local, group, fixed. Up to three, converted at historical posting-date rates.
  3. Price determination 2 or 3: whether valuation follows the moving average price logic or the standard price logic.
  4. Whether actual costing posts results or only informs: full revaluation at period end, or a quiet calculation that changes nothing.

Most teams I meet have opinions about none of these. They "enable ML" in the project plan, the system converts, and the first time a plant closes with unexpected margin movement, the material ledger becomes the villain of the month. It is not. The villain was a strategy that was never decided, which is the same thing as a strategy decided by default.

Two rules of thumb that save real pain. First: anything that goes through production should be standard priced. SAP's own guidance points moving average price at raw materials and trading goods, and standard price at semi-finished and finished goods. With actual costing, you want standard price even for raw materials, because production variances only stay transparent when there is a standard to compare against. Moving average price and actual costing are a contradiction; price determination 3 requires standard price control. Second: only activate the valuation views and currency types you will actually use. Profit center valuation adds configuration and ongoing processing overhead. Group view is for group reporting; profit center view is for transfer pricing between divisions that is real. If neither applies to you, you are paying for complexity you do not consume.

The currency design deserves its own sentence, because it is the least understood knob. You can carry up to three currency types: local, group, and a fixed currency. Conversion happens at historical posting-date rates, which sounds like an accounting detail and is actually a margin policy decision, because the rates you freeze at posting determine how exchange movements hit inventory. The fixed currency type exists for high-inflation environments, and if you do not operate in one, you do not need it. There is also a design choice between parallel single-valuation (one valuation view per ledger) and a multi-valuation ledger (one ledger holding all currency types and views, with optimized memory). The second is the modern answer for groups that need group valuation without duplicating the close; the first is simpler to reason about. Both are set before productive use, and both are largely irreversible, which is why the "we will sort it out later" conversation is the expensive one.

How actual costing works, from first principles

Actual costing is a third valuation technique that sits between standard price and moving average. During the period, materials are valued at standard price. Every variance you generate, purchasing, production, overhead, exchange rate, is collected per material instead of being parked in price difference accounts. At period end, the CKMLCP run computes the periodic unit price, the PUP: the actual cost of the material for the period, derived from what actually happened.

Price determination: how variances travel up the BOM

The mechanism that makes it work is price determination. Single-level determination rolls the variances of a material up to the materials that consume it; multi-level determination continues that roll-up up the bill of material, so a variance in a raw material eventually lands in the finished good that uses it. The result is a periodic transfer price that reflects actual cost of goods sold, not a standard that may have been set months ago and never touched since.

The modern run: CKMLCP's new shape

The S/4HANA cockpit changed the shape of the run. Where ECC had separate single-level, multi-level, and revaluation steps, the modern flow is Selection, Preparation, Settlement, Post Closing, and Mark Prices, with dependent materials reprocessed automatically after settlement and consumption price differences considered. Two-dimensional distribution avoids rounding errors, and the price limiter now works at the cost component split level. One thing is gone for good: delta posting runs are no longer possible.

Three ways to use the periodic unit price

What the PUP can do with the result is where the strategy knob shows up again. The periodic price can revalue ending inventory and consumption through closing postings, which is the full actual costing mode. Or it can be marked and released as the next period's standard price, which flips price control from standard to moving average on release. Or the whole run can be executed as informative only: actual prices calculated, nothing posted, nothing revalued. That last mode is the on-ramp most teams never discover. You can watch what actual costing would do to your margins for a quarter before committing the books to it.

Prerequisites: discipline, not configuration

None of this works without prerequisites, and they are not config prerequisites. Materials must be standard priced. Prior periods must be closed across MM, FI, and CO. And closing discipline must be real, because the run only sees what the close let through.

When actual costing pays for itself, and when it is overhead

Here is the honest version, the one the license sales page will not give you. Actual costing earns its keep when your cost picture actually moves: fluctuating raw material prices, batch dependent yields, complex multi-level assemblies, real exchange rate exposure, or regulatory environments like Brazil, Turkey, and India where inventory valuation expectations push you toward actual prices.

When standard costing is the better answer

In a stable environment, with a granular cost center hierarchy, realistic standard prices, and clean variance handling, standard costing is simpler, cheaper, and easier to audit. The monthly revaluation adds closing complexity, permanent maintenance load, and, for public companies, auditor and SEC scrutiny of the variance trail. I know a company that kept a full-time consultant on retainer purely to maintain material ledger actual costing; that is a decision about headcount that should have been a decision about whether the process needed the mechanism at all. Actual costing is a strategic fit decision, not a universal upgrade. Anyone who tells you it is always better has not lived with a bad CKMLCP run in a high-volume plant.

The regulatory angle

The regulatory angle can tip the decision in either direction, and it is worth naming because it is usually invisible in the functional spec. In countries with strict inventory valuation expectations, Brazil, Turkey, India among them, actual costing is the mechanism that produces the actual prices the local books are expected to show, and the cost of not having it is a compliance conversation with the auditors. In a single-country, stable-cost environment, none of that applies. Your geography is part of your valuation strategy, not a footnote to it.

The performance budget

There is also a performance truth to budget for. Actual costing lengthens the month-end close, and at high data volumes the CKMLCP run itself becomes a scheduling constraint. Teams that go live without a run-time plan discover the close extending exactly when they promised the board it would shrink. The mechanism is worth it when the cost picture is volatile; it is a tax when the picture is static, and the tax is paid every single month.

Active ledger, actual costing: two different sentences

There is also a useful distinction to keep straight: the material ledger being active does not mean your inventory is valued at actual cost. Most S/4HANA systems run with the material ledger and without actual costing. Without price determination 3 and a CKMLCP run, materials stay at standard or moving average, variances sit in FI price difference accounts, and the cost component split and multi-level roll-up never happen. "We have ML" and "we run actual costing" are two different sentences. Say them separately, and verify which one is true before you promise margins to the board.

Migration realities: three paths, one decision

There are three classic activation paths, and they are genuinely different projects. The first is to activate the material ledger and actual costing in ECC before migration, building experience on a system you already run before the conversion adds its own chaos. The second is to activate the material ledger in S/4HANA and defer actual costing, which keeps the migration simpler and guarantees a second project later, because deferring does not make the decision go away. The third is to go all-in with the S/4HANA implementation, the most efficient long-term and the tightest coordination, at the price of the steepest learning curve during the conversion itself.

Budget for three to six months of project effort and 24 to 48 hours of downtime windows. And know that data preparation decides success far more than configuration. The practical checklist from real cutovers: archive or delete old purchase orders, clear GR/IR with MR11, close production orders, and reconcile MM with FI using FAGL_MM_RECON before you convert. CKMSTART converts the material master and purchase order history into the material ledger and parallel currencies; production order conversion is a separate consideration that teams routinely underestimate.

One detail that surprises people: price determination changes from 2 to 3 via CKMM, and the change is selective. Moving average materials stay at price determination 2; only standard costed materials move to price determination 3. Which is another way of saying actual costing builds on standard costing, not on moving average. If your material master is a sea of moving average prices, the actual costing path starts with a price control project, not a configuration change.

The last migration truth is the one nobody likes: valuation approaches and core material ledger settings are largely irreversible once the system is productive. Changing or deactivating them can require SAP involvement, with fees attached. The strategy decision has to be made before go-live, because the go-live is the point of no return. This is a "decide now, live with it" topic rather than a "we will fix it in a later release" one.

Why margins move, and why the ledger gets blamed

The most common phone call I get after an S/4HANA go-live goes like this: "Our COGS moved, our margins look wrong, is the material ledger broken?" The ledger is almost never broken. Month-to-month margin fluctuation traces to master data and process, not to the costing method. Bill of material changes, routing changes, activity rates that were never updated, overhead allocations that do not reflect the new organization. The material ledger is doing its job; it is faithfully valuing a cost picture that was never put in order.

Hidden complexity — the visible margin movement above the waterline, the invisible master-data and closing-discipline causes below Hidden complexity — the visible margin movement above the waterline, the invisible master-data and closing-discipline causes below

The failure modes are specific and recurring. Variance larger than stock value, which comes from zero or wrong standard prices. Late MR21 price changes that distort the period. Partial or skipped closing steps that leave the run working on half the picture. Multi-level runs cut off by too many cycles, usually from rework and back-and-forth stock transfers. Moving average distortions from posting sequence, when an invoice arrives after the goods issue it belongs to. Every one of these is a data or discipline problem, and every one of them gets blamed on the ledger.

The closing sequence is its own discipline. Selection, single-level, multi-level, consumption revaluation, WIP revaluation, mark and release via CKME, post closing, then the FAGLB03 zero balance check on price variance and variance offset accounts. After consumption revaluation, rerun result analysis and settlement so cost objects carry actual costs. It is a long chain, and it is only as strong as its weakest step.

One more thing worth knowing, because it changes recommendations: the material ledger is not the only way to get actual costs. For engineer-to-order and project manufacturing, PMMO gives transaction-level real-time actual costing through requirement pegging, with no period-end PUP at all. If your business builds to order, the material ledger might be the wrong tool and the argument about CKMLCP is an argument about the wrong mechanism.

The strategy conversation to have before go-live

If you take one thing from this article, take this: the material ledger is not a checkbox, it is a valuation strategy decision, and it is yours to make before the conversion, not the project team's to discover after it. Sit down with the controller, the plant accountants, and the CO architect, and answer four questions. Which valuation views do we actually need? Which currency types? Price determination 2 or 3, and for which materials? Does actual costing post, or does it inform first?

Run actual costing in informative mode for a quarter if you are unsure. Watch what the periodic prices do to your margins before you let them touch the books. Fix the zero standard prices, the stale BOMs, the GR/IR backlog, the closing calendar. Then, and only then, release the PUP into the financial statements with something close to confidence.

The teams that do this get a boring result: the ledger produces numbers that match what the plant floor knows, and month-end becomes a verification instead of an argument. That is the whole point. The ledger is not the source of your margin problem. It is the place where your margin problem becomes visible, which is precisely why it is worth getting the strategy right.

Sources

Frequently asked

Is the material ledger mandatory in S/4HANA?

Yes. The MM-IM simplification makes the material ledger obligatory in all S/4HANA systems; it is activated on conversion if not already active. What stays optional is actual costing.

Does the material ledger mean inventory is valued at actual cost?

No. Without price determination 3 and a CKMLCP run, materials stay at standard or moving average price. Most S/4HANA systems run with the material ledger but without actual costing.

When does actual costing make sense?

When raw material prices fluctuate, yields are batch dependent, assemblies are multi-level, or local regulations require actual prices (Brazil, Turkey, India). In stable environments, standard costing is simpler and cheaper.

Need this in your organisation?

I work with a small number of clients each quarter on ERP strategy and IT-department automation. If the questions raised above are live in your team, get in touch.

Start a conversation →
Share