The purpose of this page is to clarify the points that should be checked in order to DIFAL calculation works correctly.
The following section will explain five important points to check on the system to DIFAL calculation works as expected.
DIFAL Calculation - What should be checked to work?
1) The used material must have usage consumption.
Check if the material used during the process has usage consumption.
To check it go to Material Master via MM03 transaction > Material used > choose Accounting 2 tab > insert the Plant > and check “Material Usage” field under Determination of CFOP code tab:
2) The used tax code must be defined with usage consumption.
Check if the tax code used has usage consumption.
To check it, go to J1BTAX transaction > choose country BR > click on MM button > choose the Procedure in use > and on the Tax Code line check if the Usage is set as Consumption:
3) The vendor must be located in a different state from the receiving plant. Processes inside the same state are not liable to ICOP.
Check if the vendor is located in a different state from the receiving plant.
To check the vendor access XK03 transaction > insert the Vendor and check the flag “Address” > ENTER > check the Region field:
To check the plant access SPRO transaction > choose SAP Reference IMG > Enterprise Structure > Definition > Logistics - General > Define, copy, delete, check plant:
Then click on the option “Define Plant” and go to Choose button > choose the Plant in use and click on Details button > check the Region field:
In this example is possible to see that Vendor is from RS and Plant is from SP.
4) The intra-state ICMS rate from the destination state must be higher than the inter-state ICMS rate from the sender to the destination.
If the process occurs from RS to SP, the SP-SP rate must be higher than the RS-SP rate.
You can check the intra-state ICMS rate via J1BTAX transaction > choose the ICMS material table in use > select the relevant line and check the Tax Rate field (in the example here SP-SP):
You can check the inter-state ICMS rate via J1BTAX transaction > choose the ICMS material table in use > select the relevant line and check the Tax Rate field (in the example here RS-SP):
In this example is possible to see that intra-state ICMS rate from the destination state (SP-SP 18%) is higher than the inter-state ICMS rate from the sender to the destination (RS-SP 12,00%).
5) The manually created condition record for BCI1 must be set with a validity that overlaps the document date.
To create the condition record, go to FV11 transaction > insert BCI1 on the Condition type field > ENTER > choose Key Combination Country > and insert an entry for Country BR with 100,00% and with a validity that overlaps the document date:
To check the condition record, go to FV13 transaction > insert BCI1 on the Condition type field > ENTER > choose Key Combination Country > fill Country with BR and Execute > check Valid From and Valid To fields and compare with the document date:
6) Make sure that there isn't a condition record for BCI2 with 100% in country BR. This must not exist, otherwise system will never calculate ICOP, independently of the previous settings.
To check it, go to FV13 transaction > insert BCI2 on the Condition type field > ENTER > choose Key Combination Country > fill Country with BR and Execute > system must show a message that there is no condition record:
SAP Note 664855 - Brazil: New Condition-Based Tax Calculation
SAP Note 679371 - DIFAL - Brazil: Tax on goods movements - Changes on objects
SAP Note 679372 - DIFAL - Brazil: Tax on goods movements – Customizing
SAP Note 741548 - Accounting documents doesn´t include DIFAL postings
SAP Note 844630 - Brazil/DIFAL:ICMS compl-purchasing/future del(asset/consump)
SAP Note 1132804 - DIFAL - Brazil: Tax on goods movements - Changed objects