Dear Experts,
I would need your guidance on below requirement we have got and the solution we analysed.
Requirements:
Movement Codes must be standardised across all markets and support both HQ and local reporting requirements. Every Local Movement Code must be mandatorily mapped to an International Movement Code. |
| HQ must maintain and govern International Movement Codes, while markets must be able to maintain Local Movement Codes |
| The Local-to-International Movement Code mapping must be system-controlled and not reliant on naming conventions and Movement Codes must be captured on relevant sales, inventory and adjustment transactions. |
| Every transaction must retain both Local Movement Code and International Movement Code for traceability, auditability, reporting and CFIN integration. |
| The selected Movement Code must drive accounting treatment and not act only as a reporting attribute. The system must automatically derive the International Movement Code, Accounting Category and corresponding GL account from the selected Movement Code. |
| Users should not manually determine accounting treatment or GL accounts for free goods and bad goods transactions. |
| Posting must be blocked if a valid Local Movement Code, International Movement Code, Accounting Category or GL mapping cannot be determined. |
| Free goods must be identifiable separately from normal sales quantities and sales values |
| Free goods include products sold at zero value, products provided through 100% discount, promotional free goods, bonus goods, competition prizes, marketing event goods, customer goodwill goods, complaint replacement goods and relationship marketing goods. |
| Gift With Purchase (GWP) and Free of Charge (FOC) items must be distinguishable where accounting treatment differs. |
| Bad goods must be identifiable separately from normal inventory movements and support classifications such as damaged, defective, expired, lost and stolen goods. |
| Bad goods write-offs must post to dedicated bad goods accounts and support existing provision, destruction and write-off processes |
| Different business scenarios must be capable of driving different accounting treatments and GL account mappings even when they belong to the same International Movement Code category. |
| Product Type classification must be supported independently from Movement Codes and must support Capsules, Machines, Accessories, Gift Cards/Vouchers, Services, Marketing Materials/POSM, Bundles and Other products. |
| The solution must support reporting by International Movement Code, Local Movement Code, Product Type, Market and SKU/Product |
| Reporting integration must be able to identify and report sold quantities, free goods, bad goods, replacement orders, logistics orders and other movement categories using the International Movement Code framework. |
| New Local Movement Codes must not be activated until mapped to an International Movement Code and approved according to the governance process. Inactive or unmapped Movement Codes must not be available for transaction posting. |
| The framework must eliminate the need for manual reviews and manual reclassification between Movement Codes and GL account usage. |
Solution we thought of:
The feasible D365FO solution is to create a Movement Code driven accounting framework where users select or derive a Local Movement Code at transaction level. The system derives the International Movement Code, Product Type and Accounting Category using financial dimensions and derived dimension logic. International movement codes, Local movement codes and Product type will be created as financial dimensions. A custom mapping table then determines the applicable GL account and reporting treatment with fields as below.
- Legal entity
- Local movement code
- International movement code
- Product type
- GL account
- Effective from date
- Effective to date
- Active
For inventory movement scenarios, this can be handled through movement journal offset/account rules. For sales order free goods, a posting extension or automated reclassification logic is required to move the cost from normal COGS to the correct PFME, TTS, OPFE or free goods account.
Ask:

Report
All responses (
Answers (