After implementing the E-invoicing system, a strange issue jump out like
this during testing, which caused by the new usage of the message type FIDCC2 for FI invoice IDoc outbound processing, then branch logic at the standard program been triggered which lead to validation failure.
Then recently another new issue comes out that withholding Tax items are missing at FB60 for India only. I assumed E-invoice related enhancement impact the FI posting process, but find nothing for those enhancements during document saving and message output. And related withhold tax configuration and master data look good as well.
After two hours of checking, surprisingly find out, it caused by the same reason: new usage of the message type FIDCC2 for FI invoice IDoc outbound processing makes branch logic at the standard program been triggered which leads to different logic been used when dealing with with-holding tax.
Key entry at table TBD05 which is Distribution model for message types FIDCC2
A Distribution Model contains the specifications identifying which messages (Message Types) flow to which logical system. IDoc process needs BD64 maintenance against message type FIDCC2 for India company code only.
Key Function module: FI_WT_PREPARE_DATA_FOR_IDOC
Above BD64 maintenance lead to this FM: ‘FI_WT_PREPARE_DATA_FOR_IDOC’ has ‘X’ for return parameter X_DISTRIBUTE which means the current system is the sender system for message type FIDCC2.
Key branch logic to skip withholding tax
When FB60 using standard FM: ‘FI_WT_FB01_CALCULATE_WT’ to carry on the With-holding process, ‘X’ for X_DISTRIBUTE makes the system skip withholding tax calculation completely!
It could happen to a specific system that never used FIDCC2 before(otherwise, it's long ago discovered
😄 ). So just have a check maybe it's another possible reason when encounter missing Withholding Tax at FB60 just like my case.
(Just realize SAP notes 672040 already give a solution for this issue up to release SAP_FIN 616; for SAP_FIN 617 or S4CORE 100+, using SAP notes 1821352.)