MM-FI integration: A conceptual understanding
Most of us are comfortable with SD-FI-COPA integration concepts as it is easy to correlate and understand. But, when it comes to MM-FI integration, many of us find difficulties in understanding the concepts and account determination process. When I was trying to analyze my first issue related to how a stock account is determined in a valuated transaction, I was lost in OBYC. Let us try to understand few terminology used in MM-FI integration concepts. Once we are familiar with the concepts, we will further discuss account determination process in a stock movement related transaction.
Valuation area:
Stock of a material owned by a company is an asset to the company. Valuation area defines the organization level at which materials are valuated.
SAP has provided two options for valuation.
1. Valuation at plant level: All materials are valuated at plant level.
2. Valuation at company code level: All materials in all plants of a company are valuated at company code level.
This setting is defined in t-code OX14.
Valuated stock:
Total valuated stock = Stock in unrestricted use + Stock in transit between storage locations/warehouses of a plant + Stock in quality inspection.
Material type:
This defines the type of material.
EG: Raw material, Finished goods etc.
Material type is defined during material master data creation.
Movement type:
This defines the type of material movement from one place to other. Movement type enables the system to find predefined posting rules determining how the stock and consumption accounts are to be posted. All possible goods movements are already defined by standard SAP
EG: Movement type 101 refers goods receipt
Movement type is entered while posting stock movement related transactions. Most of the time, standard SAP automatically derives the movement type based on transaction code.
EG: If we go to MIGO, default movement type 101 is displayed by system.
Valuation class:
Valuation class is defined for the combination of plant and material (In Accounting 1 view of material master).
Valuation class allows posting of stock values of
1. Materials of same material type to different G/L account (Different valuation class is assigned in different plants for the same material)
2. Materials of different material type to same G/L account (Same valuation class is assigned to materials of different material type)
Note: G/L accounts can be defined at valuation class level along with other parameters.
Valuation grouping code:
Valuation grouping code combines the valuation areas having same business properties for the account determination. This reduces number of entries to be created for automatic account determination for the stock postings.
EG: Valuation area 1 and 2 are required to be posted to same G/L account, these are grouped to valuation grouping code ABC and G/L is determined based on valuation grouping code and valuation class.
Before using valuation grouping code, it needs to be activated in OMWM.
Valuation grouping code is assigned to valuation area in t-code OMWD.
In below example, five valuation areas are assigned to same valuation grouping code.
Account modification/General modification:
This key is used to determine different G/L account for the same kind of goods movement based on origin and target.
EG: During Goods issue, offsetting G/L is determined from transaction key GBB. If business wants to post to different G/Ls for goods issue for cost centers (Movement type 201) and good issues to orders (Movement type 261) for the same material and plant, Account modifier can help here. To understand this better, let us go to t-code OMWN where we define the transaction key and account modification for the movement type.
Transaction key which we see in OBYC is determined based on the movement type. In below screenshot, you can see all parameters are same for movement type 201 and 261 except account modification.
Please read F1 help on different fields in this screen to know more about functionality of each field.
T-code OMWN:
When material document is posted with these movement types, offsetting account is determined from transaction key GBB based on account modifier and valuation class.
From below screenshot, you can see that, different offsetting G/L account can be determined for the same transaction key and valuation class.
By Default, Standard SAP defines account modification keys for below transaction keys. User defined keys can also be defined and respective account determination settings can be maintained.
- GBB (offsetting entry for inventory posting)
- PRD (price differences)
- KON (consignment liabilities)
Below are the modification keys defined by SAP (Extracted from F1 help).
Modifiers for GBB
For the transaction/event GBB (offsetting entry for inventory posting), the following account groupings have already been assigned to the relevant movement types:
- AUF: for goods receipts for production orders with account assignment
- BSA: for initial entries of stock balances
- INV: for expense/revenue from inventory differences
- VAX: for goods issues for sales orders without account assignment object
- VAY: for goods issues for sales orders with account assignment object
- VBO: for consumption from stock of material provided to vendor
- VBR: for internal goods issues (e.g., for cost center)
- VKA: for consumption for sales order without SD
- VNG: for scrapping/destruction
- VQP: for sampling
- ZOB: for goods receipts without purchase orders
- ZOF: for goods receipts without production orders
Modifiers for PRD
If you also activate account grouping for transaction/event PRD (price differences) when you make the settings for automatic postings, the following account groupings are already assigned to the relevant movement types in the standard:
- none for goods receipts and invoice receipts for purchase orders
- PRF: for goods receipts for production orders
- PRA: for goods issues and other goods movements
Modifiers for KON
If you also activate account grouping for transaction/event KON (consignment liabilities) when you make the settings for automatic postings, the following account groupings are already assigned to the relevant movement types in the standard:
- none for consignment liabilities
- PIP: for pipeline liabilities
How are the account determination attributes determined for each transaction key/event?
Did you observe different set of fields appears for different transaction keys in OBYC while maintaining G/L account? Yes. This is defined in Rules for the transaction key.
EG: Select transaction key AUM in OBYC and click on “Rules” in toolbar.
You can see that general modification and valuation modifier is active.
If you go to G/L account maintenance for this key, you would see the same fields.
Quick snap of MM-FI Integration process:
When we do material posting for a valuated material, below flow happens.
1. Movement type and other attributes like special stock indicator, movement indicator etc are determined based on business transaction like goods receipt for PO, production order etc.(OMWN). This is defined by standard SAP.
2. Transaction key/event and account modifier is identified based on movement type and other standard attributes in step 1 (OMWN)
3. Valuation grouping code activation is checked from OMWM
4. If active, for the given valuation area, valuation grouping code is identified from OMWD
5. For the identified transaction or event, check if valuation grouping code is active or not in OBYC (Click the rules button for the transaction key)
6. Valuation class is determined from material master.
7. Based on the above identified attributes, select the G/L account from OBYC.
If system can’t find any account for the found attributes, stock posting can’t be done and system through clear error stating for which combination of attributes, G/L account is missing. Such errors are mostly seen during go live/while posting to new materials due to missing G/L account maintenance or due to incorrect valuation class in material master data.
Now you know the process, here is the short cut to find out G/L.
Account determination details are stored in table T030. If you want to know based on what details XXX account is determined, simply give that G/L in T030 table in field KONTS. This gives the possible combination of entries where this G/L is assigned. We can further drill down based on the filtered entries.
Please share your valuable feedback, thoughts and add additional information/corrections if any 🙂
Check out the next blog in this series.
MM-FI integration: Account determination simulator
Thanks,
V V
Hello,
Its a very useful document, really helpful for me.
Thank you very much.
Thanks dear 🙂
Thanks VV, this is really nice document.
Thanks dear 🙂
Great summary.
Thanks dear 🙂
Hello,
Nice document, really helpful for me.
Thank u so much .... 🙂
Thanks a lot Rahul 🙂
Super Document
Dear Vinod,
The summary at the last of the document is enough to revise the whole document.
Great Work.
BR,
Sapan
Thanks Sapan 🙂
Vinod,
Excellent paper & thanks a lot for sharing your knowledge, keep it flowing.
Regards,
Arvind Leo Pereira
Thanks buddy 🙂
Not much in to SCN now a days due to time constraints. But will be back as and when time permits.
Thanks, very helpful.
Vinod,
Wonderful document. Clears up a lot of questions.
thanks,
Aziz
Thanks Hans , Aziz 🙂
Hi,
very nice work!
Thank you and regards,
Maria
Thanks Maria 🙂
Very neatly presented and clearly explained. This is a great contribution to the community.
Thanks Vinod for sharing.
Thanks Kishan 🙂
Nice document Vinod !!
Thanks Sachin 🙂
Great document Vinod. Well done.
Thanks Rohan 🙂
Very useful blog indeed! Thaanks a lot, VV
Thanks Ganesh 🙂
Thank you for your efforts and support. Good document
Thanks Shiva 🙂
Thanks Viond, and you have been doing fabulous Job. Thanks for sharing your knowledge that's a very big deal which is missed with many intelligent consultants these days.
Thanks a lot Prakash. Sharing knowledge only improves our knowledge further. On top of this, if our knowledge makes some one's day, nothing better than that satisfaction. So, it is a win-win situation 🙂
Unable to contribute more these days due to tight work schedules and time zone differences. I see almost no postings during US day time.
Hi Vinod,
Very nice document to understand the detailed integration of FI-MM.
Thanks
Diwakar
Thanks Diwakar 🙂
Thank you Sir for providing this wonderful document.
Thanks Piyush:)
Vinodh sir are you fico consultant or mm consultant sir??
Thanks for sharing Vinod.
Nice document....
Thank you Paresh
Thanks Vinod.
Good one and quite helpful document!
Thanks Vinod.
It really helpful me and cleared lot of question. You explained neatly and presentation.
Very nice doc....good summery....!!
Thanks for your explanation...
thanks you
can u give explain about the link fi mm integration in simple method
Hi Vinod,
You have explained clearly FI-MM Integration, Thanks for sharing the knowledge . Awesome article
Please also share the FI-SD integration article
Thanks
Thank you
for this detialed informaition... i may need this or similar kind of information in near future
please do help out
thank you
Nikhil Pujari
+91 9322 134142
Hi
It is really a good explanation about account determination.
Thanks
Hi Vinod, Thanks for sharing your knowledge. It would be great mentioning how we can achieve the below using "Account Category Reference (ACR)" and assignment among Material type, ACR and Valuation class. Thank you.
https://blogs.sap.com/2013/10/31/account-category-reference-acr-grandfather-of-automatic-account-determination-process/
Valuation class allows posting of stock values of
1. Materials of same material type to different G/L account (Different valuation class is assigned in different plants for the same material)
2. Materials of different material type to same G/L account (Same valuation class is assigned to materials of different material type)
Note: G/L accounts can be defined at valuation class level along with other parameters.
What an Insight. It's very informative and I really liked the way you explained.
Keep up the Good Work, Vinod Kumar.
Wow!!! very useful and simplest explanation.
Very informative and straight to the point, Thank you!