Introduction: In this blog, I will try to demonstrate on how to achieve balance inventory or running inventory requirements in SAP.
- There are often times when buyers, sellers, and planners required visibility of Balance Inventory or Running Inventory.
- Balance Inventory Or Running Inventory is the inventory that should exist after transaction posting.
- It is a very helpful tool for the organization's resources to troubleshoot MRP and ATP issues.
Standard SAP options:
Below are the standard SAP options that were explored:
- Standard SAP has t-code: MB5B (Fiori tile: Stocks for posting date) which gives inventory position at the posting date. The requirement is to have it at every transaction level.
- SAP has another t-code: S_P00_07000139 (Fiori tile: Prepare Stock Reports) which was also explored as a solution, but it doesn’t consider all the movements, and the “Balance Quantity” value on that report can be misleading.
Solution Approach/Design:
- Standard SAP has t-code: MB51(Fiori tile: Display Material Document List) which was enhanced to (Report: RM07DOCS, Enhancement: ZMM_EN_IMP_RM07DOCS) to include an additional field: Balance Inventory, and below is a high-level solution approach.
- Variant will be created for material, plant, Entry Date, and Time which will be sorted in descending order.
- Consider all the records for that plant/material where the storage location is not blank.
- If the storage location is blank, then carry the quantity (MSEG-MENGE) from the previous record. If it’s the first record, then keep the value blank or 0.
- Do the sum from Bottom to top for that plant/material combination.
- For example, as shown below, when the storage location is blank, we are coping with Balance Inventory values from the previous record for that Material/Plant combination.
Material |
Plant |
Entry Date |
Entry Time |
Storage Location |
Movement Type |
Special Stock |
Qty |
Unit |
Balance Inventory |
102681 |
1000 |
9/22/2020 |
17:57:16 |
1000 |
641 |
|
-200 |
LB |
225.989 |
102681 |
1000 |
6/9/2020 |
15:16:06 |
1000 |
601 |
|
-173 |
LB |
425.989 |
102681 |
1000 |
5/25/2020 |
13:31:57 |
1000 |
101 |
|
598.989 |
LB |
598.989 |
102681 |
1000 |
5/14/2020 |
18:39:02 |
|
641 |
|
598.989 |
LB |
0 |
102681 |
1010 |
9/22/2020 |
17:58:13 |
1000 |
101 |
|
200 |
LB |
283.996 |
102681 |
1010 |
9/22/2020 |
17:57:16 |
|
641 |
|
200 |
LB |
83.996 |
102681 |
1010 |
5/14/2020 |
18:39:02 |
1000 |
641 |
|
-598.989 |
LB |
83.996 |
102681 |
1010 |
5/8/2020 |
14:44:18 |
1000 |
101 |
|
682.985 |
LB |
682.985 |
102681 |
1010 |
4/1/2020 |
16:05:03 |
1000 |
601 |
|
-170.196 |
LB |
0 |
102681 |
1010 |
4/1/2020 |
16:00:51 |
1000 |
601 |
|
-334.882 |
LB |
170.196 |
102681 |
1010 |
3/31/2020 |
9:34:42 |
1000 |
101 |
|
505.078 |
LB |
505.078 |
102681 |
1010 |
3/5/2020 |
17:05:04 |
1000 |
601 |
E |
-165.786 |
LB |
0 |
102681 |
1010 |
3/3/2020 |
15:36:55 |
1000 |
101 |
E |
165.786 |
LB |
165.786 |
By Skipping records that have blank storage locations will address the design/solution for the below issue:
- When PGI happens for STO replenishment outbound delivery, the system creates movement type: 641 entry on receiving plant with a blank storage location. We don’t need to calculate that because when we perform MVT#101, we are calculating inventory as inbound. For example, as shown below
Material Document List
- When we perform GR for drop shipment PO, the system performs MVT #101 with a blank storage location. Dropship receipt has to be excluded from Balance Inventory because those are account-assigned PO(s) for which anyways inventory doesn’t come to the plant and there is no shipping movement (MVT #601). By not including a blank storage location record, we can skip the dropship receipt. For example,
Material Document List
- For customer consignment fill up (MVT # 631) also system creates a material document with 2 lines (one with storage location and one without storage location). We will include the only one which has a storage location. By skipping without storage location will eliminate double counting.
- For customer consignment issues (MVT # 633), the system creates material documents without storage location (as inventory gets consumed from the customer location). We don’t need to include this movement in the report because we already considered consignment fill-up (MVT#631). For example
- Customer Consignment Return (MVT#632). This means we are bringing the customer consignment inventory back to Plant. The system creates 2 lines in the material document. We will include the only one which has a storage location. By skipping without storage location will eliminate double counting.
Results after Implementing the solution:
- MB52 Layout: where the layout is been set up to display based on the Descending Order.
Layout Creation
Default Layout
Balance Inventory in Output
Conclusion:
- Running Inventory or Balance inventory can be achieved by enhancing T-code: MB51 (Fiori tile: Display Material Documents).
- It's a very useful tool for buyers or planners or sellers to know the inventory position and troubleshoot MRP or ATP issues.
If you find my blog useful, please like and share your feedback in the comments below and follow me for more content like the above.
Please follow my profile for future posts (
ravidave2)
Topic Page (find the most relevant one –
https://community.sap.com/topics/)
Ask questions about MM (Materials Management) and follow (
https://answers.sap.com/tags/477297786799213261950044802925335)
Read other MM (Materials Management) blog posts and follow (
https://blogs.sap.com/tags/477297786799213261950044802925335/)