Showing posts with label requirement class. Show all posts
Showing posts with label requirement class. Show all posts

Jan 16, 2025

SAP Inventory valuation - Working with MTO but valuating as MTS

 Glossary acronyms :
MTO - Make to Order
MTS - Make to Stock
SO - Sales Order
BOM - Bill of Materials


When working with MTO -Sales Order stock, the inventory is held specifically for that Sales Order and valuated as per the original Sales Order costing that happened when you created the Sales Order and Costed it.

Now, if you are working with MTS materials that can become MTO and vice versa all the time indistinctively, this could create a challenge. Why ?

Imagine a Sales Order created 3 months ago in September with certain costing (Ex. $100 /tn) , now you are getting into a new Fiscal Year and preparing your Standard Costing for the next year to come. The result of your new Costing calculation (CK11N/CK40N) gives you $105/tn for the same material.

Once you finish your Mass Costing run and you "release" the new standard, it will revalue your Inventory. But this will only apply to your MTS stock and will not revalue your MTO Inventory "held" inside the Sales Order.

Many of you will tell me that CK55 - Mass Sales Order Cost and CK51N - Sales Order Cost exist, yes indeed they do. But, they will ONLY cost your Sales Order (the document) and you will only see the update after doing the costing in the condition type EK02 of your pricing procedure for that SO line item. But what none of these 2 transactions will do is re-cost the inventory on-hand that you have for that specific Sales Order.

In standard SAP, MTO inventory is supposed to last for a "finite" amount of time and the assumption is that as soon as you produce it you ship it (or shortly after). That way you are not supposed to have on-hand inventory for too long that would require to re-cost this in the event of a Mass recosting exercise (Ex. for a new Fiscal Year to come). So SAP, does not contemplate the possibility of revaluing MTO inventory on hand. 

*** This solution will not be applicable for all types of MTO situations, only to customers that move around their products between MTS to MTO and viceversa constantly, which we know it is not the true spirit of an MTO ***

Standard SAP MTO configuration uses Requirement Calss 046 - MMTO config value.

This Requirement class uses Account assignment category M  and Valuation M - Separate valuation with ref. to sales document/project. This Valuation M is the key one here that indicates that the valuation is in reference to a Sales Document (Sales Order) or a Project. It also uses Costing ID = B - Automatic costing and marking which makes that your Sales order gets costed and marked automatically behind the scenes when you save it. Costing Variant, specify your specific Sales Order costing variant that you use or configured for Sales Order costing (not the object of this post to talk about Costing variants). In case you use Costing Sheet in your design, you will put it here too .

Finally Costing Method = 1 is for Product costing (based on a BOM) in contrast to 2 Unit Costing.

The rest of the fields are not really relevant for my example and scenario.


Now, with a few tweaks and changes, we can create a new Requirement Class that will make the system behave and valuate your MTO inventory as if you were in MTS. (Needless to say that you will not modify the standard delivered 046 Req Class and you will create a Z or Y one. Golden rule in SAP that you should never break).

This will be the new Req Class for MTO as MTS. (see below in next image)

As you can clearly see, it has been decluttered quite a bit and we do not need many of the prior options.

The key field change here is the Valuation that went from M (Separate valuation with ref. to sales document/project) to A (Valuation without reference to sales document).

Without Val. Strategy also needs to be flagged which will also make the valuation work as MTS.

The rest of the fields are not needed Costing ID, will not cost within the Sales Order anymore as you are using MTS Materials. Costing method, not needed too, can be left blank. Costing Sheet and Costing Variant, either 



Now that you have that configured, all your Logistics processes will still behave as if you were in MTO. Your Inventory movements will still need to be done at Material, Sales Order and Sales Order line item as before. But, from a Financial valuation point of view, these will be handled from now on as MTS.


When you will display your Material Price Analysis (CKM3), in case you are using Actual Costing it is more relevant this Tcode, you will not have to enter the Sales Order stock option to display your inventory value, as the inventory is all handled as if it were an MTS from the Accounting point of view. Logistics wise you will still see it as MTO (Ex. in Material Documents and MM related reports).

Material valuated as MTO with Special Sales Order stock (before)

Material valuated as MTS but for MTO Sales Order (after)

Below you will see the line item of the Sales Order displaying my new Requirement Type ZKEM on the line item of the "Procurement" tab.

Remember, your Material Documents and movements will still need to be done and reference a Sales Order Line Item, but Financially it will not and all the inventory is going to be bundled together with your MTS stock from a Finance valuation point of view.


If your Company and/or Project needs to implement this, or any of the functionalities described in my Blog, or advise about them, do not hesitate to reach out to me and I will be happy to provide you my services.