Configuring the system to NT2015.003, EC87/15, ICMS Partition, Poverty Fund

First of all I want to start this post apologizing for the long gap since my last update here. I am sure if you are reading it and you are an IT person you know that sometimes the call of duty keeps you away from secondary projects… In this case, the blog had to wait while I have been traveling for business and doing some Go-Live here and there.

On this post I want to talk about the NT 2015.003, EC87/15, ICMS Partition, Poverty Fund and etc.

Most of you are going to see here it is similar to SAP Official documentation released by the localization team. They did a very good job to such complicate subject but without their guidance, implementing it would have been much more painful.

Since I did use SAP Localization Team documentation and the several discussions on SCN as source of information to build this solution, you may end seen here things that you already saw.

I want to share my personal experience with this subject and also provide some screenshots to help you if this subject crosses your path anytime in the future. This post will focus on TAXBRA/RVABRA (if you are still running TAXBRJ/RVXBRA, consider migrating it soon, search on this blog the reasons why I do recommend it)

I will skip the business requirement, the law and why those changes are required as this was already discussed on my previous post: https://sapbr.com/2015/12/18/constitutional-amendment-872015-ec-872015/

Where did I start the hands-on in the system to make it work?

1 – SAP KBA note: 2259931 – FAQ of EC87 and NT003 solutions

2 – Webinar Presentation: https://sap.na.pgiconnect.com/p5d77g2hgfm/

3 – Main OSS Note: 2232757 – Interstate consumption operations for ICMS non-taxpayer

4 – SCN SPED & NFE Forum

 

What to do then?

My recommendation was implement ALL OSS Notes listed in the KBA Note above when relevant to the SAP Release and also to update the NFe environment to the SP23.

Depending on the release and support package you are running, you may have to implement less than 20 OSS Notes or more than 150 OSS Notes… So, be prepared with Basis/ABAP resource for that. And many of those OSS Notes have several Manual Pre and Post implementation steps.

Make sure to keep track on any configuration step mentioned in the OSS Note, either as an attachment or in the OSS Note Solution details. Once those OSS notes are implemented, the configuration steps should not take that long… few hours (or few days depending the number of pricings you have and how complex they are, you may need to adjust, move and reconfigure the pricing steps to open space to the new entries).

After updating the NFe environment to the SP23, check any OSS Note released that were not added to the SP23 and implement them too. If you want narrow the number of OSS Notes for this application area, check the descriptions if it mention things like:

  • NT 003/2015
  • ICMS Partition
  • Note 2015.003

 

Configuration

To help speed-up the configuration and harmonize the creation of several new tax related elements, SAP provided BCSets (according to you tax procedure: TAXBRA/RVABRA or TAXBRJ/RVXBRA). Those BCSets are in the attachment’s session of OSS Note 2232757.

Items created via BCSet:

  • INTERNAL CODES FOR TAX CONDITION
    • J1BTAX > Condition Setup > Condition Mapping > Internal Codes
      • ICMSBASE_INTRA ICMS: Intrastate Base
      • ICMSNONCONTRIBUTOR: ICMS Non Contributor
      • ICMSSPECFUNDBASE ICMS: Special Fund Base
      • ICMSSPECFUNDRATE ICMS: Special Fund Rate
      • NF_ICMS_PART_INTER_ACTIVE: ICMS Origin Partition Active
      • NF_ICMS_PART_INTER_AMOUNT: ICMS Origin Partition Amount
      • NF_ICMS_PART_INTER_BASE ICMS: Origin Partition Base
      • NF_ICMS_PART_INTER_RATE ICMS: Origin Partition Rate
      • NF_ICMS_PART_INTRA_ACTIVE: ICMS Destination Partition Active
      • NF_ICMS_PART_INTRA_AMOUNT: ICMS Destination Partition Amount
      • NF_ICMS_PART_INTRA_BASE: ICMS Destination Partition Base
      • NF_ICMS_PART_INTRA_RATE: ICMS Destination Partition Rate
      • NF_ICMS_SPEC_FUND_AMOUNT: ICMS Special Fund Amount
      • NF_ICMS_SPEC_FUND_BASE: ICMS Special Fund Base
      • NF_ICMS_SPEC_FUND_RATE: ICMS Special Fund Rate
    • CONDITION TYPES FOR SD
      • J1BTAX > Condition Setup > Condition Types > Condition Types SD
        • BX90: ICMS Orig Part Base
        • BX91: ICMS Dest Part Base
        • BX92: ICMS Orig Part Rate
        • BX93: ICMS Dest PartRate
        • BX94: ICMS Orig Part Amt
        • BX95: ICMS Dest Part Amt
        • BX96: ICMS Spec Fund Amt
        • BX97: ICMS Spec Fund Rate
        • BX98: ICMS Spec Fund Base
        • BX9D: ICMS Part Dest Off
        • BX9O: ICMS Part Orig Off
        • BX9P: ICMS Spec Fund Off
        • DINC: ICMS Non Contributor
        • ICAO: ICMS Destin offset
        • ICAP: ICMS Destin Part
        • ICEO: ICMS Origin offset
        • ICEP: ICMS Origin Part
        • ICPO: ICMS SP offset
        • ICSP: ICMS Special Fund
        • ISFB: ICMS Spec Fund Base
        • ISFR: ICMS Spec Fund Rate
        • ISIB: ICMS Intrastate Base
      • CREATION OF CONDITION TYPES FOR MM
        • J1BTAX > Condition Setup > Condition Types > Condition Types MM
          • BICJ: ICMS Spec Fund Rate
          • BICK: ICMS Spec Fund Base
          • BICL: ICMS Intrastate Base
          • BX90: ICMS Orig Part Base
          • BX91: ICMS Dest Part Base
          • BX92: ICMS Orig Part Rate
          • BX93: ICMS Dest Part Rate
          • BX94: ICMS Orig Part Amt
          • BX95: ICMS Dest Part Amt
          • BX96: ICMS Spec Fund Amt
          • BX97: ICMS Spec Fund Rate
          • BX98: ICMS Spec Fund Base
          • DINC: ICMS Non Contributor
          • ICAP: ICMS Dest Partition
          • ICEP: ICMS Orig Partition
          • ICSP: ICMS Special Fund
        • MAPPING INTERNAL CODES FOR TAX CONDITIONS TO CONDITION TYPES
          • Assign Condition Types to Internal Codes for Tax Conditions – SD:
            • ICMSBASE_INTRA – ISIB
            • ICMSNONCONTRIBUTOR – DINC
            • ICMSSPECFUNDBASE – ISFB
            • ICMSSPECFUNDRATE – ISFR
            • NF_ICMS_PART_INTER_AMOUNT – BX94
            • NF_ICMS_PART_INTER_BASE – BX90
            • NF_ICMS_PART_INTER_RATE – BX92
            • NF_ICMS_PART_INTRA_AMOUNT – BX95
            • NF_ICMS_PART_INTRA_BASE – BX91
            • NF_ICMS_PART_INTRA_RATE – BX93
            • NF_ICMS_SPEC_FUND_AMOUNT – BX96
            • NF_ICMS_SPEC_FUND_BASE – BX98
            • NF_ICMS_SPEC_FUND_RATE – BX97
          • Assign Condition Types to Internal Codes for Tax Conditions – MM:
            • ICMSBASE_INTRA – BICL
            • ICMSNONCONTRIBUTOR – DINC
            • ICMSSPECFUNDBASE – BICK
            • ICMSSPECFUNDRATE – BICJ
            • NF_ICMS_PART_INTER_ACTIVE – ICEP
            • NF_ICMS_PART_INTER_AMOUNT – BX94
            • NF_ICMS_PART_INTER_BASE – BX90
            • NF_ICMS_PART_INTER_RATE – BX92
            • NF_ICMS_PART_INTRA_ACTIVE – ICAP
            • NF_ICMS_PART_INTRA_AMOUNT – BX95
            • NF_ICMS_PART_INTRA_BASE – BX91
            • NF_ICMS_PART_INTRA_RATE – BX93
            • NF_ICMS_SPEC_FUND_AMOUNT – BX96
            • NF_ICMS_SPEC_FUND_BASE – BX98
            • NF_ICMS_SPEC_FUND_RATE – BX97
          • TAX TYPE
            • J1BTAX > Condition Setup > Tax Type
              • ICAP: ICMS Destination Partition
              • ICEP: ICMS Origin Partition
              • ICSP: ICMS Special Fund
            • NOTA FISCAL MAPPING FOR SD
              • J1BTAX > Condition Setup > Nota Fiscal Mapping > Tax Values SD
            • NOTA FISCAL MAPPING FOR MM
              • J1BTAX > Condition Setup > Nota Fiscal Mapping > Tax Values MM
            • CREATION OF PROCESSING KEYS FOR FI
              • OBCN
                • MW6: Partition Origin;
                • MW7: Partition Destination;
                • MW8: Part.Spec.Funds;
              • DEFINITION OF ACCOUNT KEYS FOR SD
                • OB40

 

Configuration not delivered via BCSet

  • Creation of Condition Formula for SD and MM
    • Those formulas will be assigned to condition DINC on TAXBRA and RVABRA (or equivalents)
    • VOFM > Formulas > Condition Value

FORM FRM_KONDI_WERT_980.
*{   INSERT                                                 1
*Manual Instructions FOR SAP Note 2232757
*Technical Note 2015/003 – Interstate Consumption Operations FOR non ICMS-contributors
*Version 5
* STEP # 2- ormula_SD_605_higher

* Determination of non ICMS-Contributor according to Technical Note 2015/003
* Created according to SAP Note 2232757
* Relevant for Sales and Distribution Customizing
* Relevant only for Brazil

DATA:
lv_iedest TYPE j_1bnfe_iedest.

CONSTANTS:
lc_no_icms_contributor TYPE j_1bnfe_iedest VALUE ‘9’.

* Select the ICMS Taxpayer value according to Vendor’s

SELECT SINGLE j_1biedest
FROM j_1bticmstaxpay
INTO lv_iedest
WHERE j_1bicmstaxpay = komk-icmstaxpay.

* Check if ICMS Taxpayer refers to non ICMS-contributor
IF sy-subrc = 0 AND lv_iedest = lc_no_icms_contributor.
xkomv-kbetr = 100000.
ENDIF.

*}   INSERT
ENDFORM.

 

FORM FRM_KONDI_WERT_981.
*{   INSERT                                                 1

*Manual Instructions FOR SAP Note 2232757
*Technical Note 2015/003 – Interstate Consumption Operations FOR non ICMS-contributors
*Version 5
* step # 2- formula_MM_605_higher

* Determination of non ICMS-Contributor according to Technical Note 2015/003
* Created according to SAP Note 2232757
* Relevant for Materials Management Customizing
* Relevant only for Brazil

DATA:
lv_business_place TYPE j_1bbranc_,
lv_iedest         TYPE j_1bnfe_iedest,
lv_icmstaxpay     TYPE j_1bicmstaxpay.

CONSTANTS:
lc_no_icms_contributor TYPE j_1bnfe_iedest VALUE ‘9’.

“Gets business place using plant
SELECT SINGLE j_1bbranch
INTO lv_business_place
FROM t001w
WHERE werks = komp-werks.

“Gets ICMS Taxpayer indicator from Business Place
SELECT SINGLE icmstaxpay
INTO lv_icmstaxpay
FROM j_1bbranch
WHERE bukrs = komk-bukrs
AND  branch = lv_business_place.

SELECT SINGLE j_1biedest
FROM j_1bticmstaxpay
INTO lv_iedest
WHERE j_1bicmstaxpay = lv_icmstaxpay.

IF sy-subrc = 0 AND lv_iedest = lc_no_icms_contributor.
xkomv-kbetr = 100000.
ENDIF.

*}   INSERT
ENDFORM.

 

  • Calculation Procedure SD
  • Add the entries below to the SD pricing procedures:
    • J1BTAX > Condition Setup > Calc. Procedures > Calc Procedures SD

1

* Use the number you created the formula in your system.

The “Step” values described above may vary according to the Calculation Procedure existing entries. Those steps can be in different numbers but the order / sequence is relevant for correct calculation.

2

53

  • Calculation Procedure MM
    • J1BTAX > Condition Setup > Calc. Procedures > Calc Procedures MM

Added the entries below:

4

* Use the number you created the formula in your system

  • Update MM/FI Tax Codes
    • J1BTAX > Tax Calculation > Tax Codes MM

The Tax Codes used for consumption purchase must be updated. Those are the Tax Codes where at J_1BTAXCODEV the Usage is “CONSUMPTION”

Activate the Conditions ICEP, ICAP and ICSP (this can also be done via FV11/FV12).

Example:

6

Define ICMS Partilha

The ICMS Partilha is the partition of ICMS tax due to difference between intrastate (state of destination) and interstate operations. In this case, this difference will be shared between the state of origin and the state of destination, according to Constitutional Amendment 87/2015 (Emenda Constitucional 87/2015) and ICMS Agreement 92/2015 (Convênio ICMS 92/2015), defined by the Brazilian Government.

Define the percentage of ICMS Partilha, according to the state of destination, using the J_1BTPARTILHA view, informing the tax rate defined by the Brazilian government. You also need to define a valid initial date to start the tax calculation.

7

SD Tax Conditions in Nota Fiscal Fields

J1BTAX > Condition Setup > Nota Fiscal Mapping > Tax Values SD

  • Update in all SD Pricing Procedures the following

8910

Maintain Tax SD Conditions Offset (VK11)

To the conditions BX9O, BX9P, BX9D, ICEO, ICAO and ICPO maintain the condition record via VK11

111213141516

 

Maintain Tax Types

J1BTAX > Condition Setup > Tax Types

Maintain the entries below:

17

 

Calculation Procedure MM

SM30 > J_1BTICMSTAXPAY

It will be added the entries below:

18

Note that you can change 01, 02, 09 to anything you want, as longer as the IE Indicator 1, 2 and 9 are mapped and for the EC87 purpose, the customer/business place will have the entry assigned to 9 on their field ICMS Tax Payer.

Cutover Activities

MAINTAIN TAX SD CONDITIONS OFFSET

Select VK11 Transaction and add the following data for the Conditions BX9O, BX9P, BX9D, ICEO, ICAO and ICPO:

“Country”: BR;

“Amount”: 100,000-

“Unit”: %;

”Calculat. Type”: A

 

CREATION OF G/L ACCOUNTS AND ASSIGN TO TAX ACCOUNTS

Case needed, you may create the related to G/L Accounts assigning to the Account Keys created previously through OB40 Transaction;

OB40

 

MW6 – ICMS Origin Partition

MW7 – ICMS Destination Partition Expense

MW8 – ICMS FCP Expense

 

 

Update MM/FI Tax Codes

19

Customer Master Records / Branch Data

To the Sales and Procurement Scenarios, it will be needed to identify if the customer or the branch involved in the process is ICMS non-contributor. To check this, the formulas in the procedure are used.

The formulas will use the information from ICMSTAXPAY (branch) and IEDEST (Customer).

“Fundo de Pobreza” Poverty fund Settings on J1BTAX 

You should maintain the transaction J1BTAX the base and rate of poverty fund, being configurable based on UF region. SAP extended tables J_1BTXIC1, J_1BTXIC2 and J_1BTXIC3 to add 2 new fields. Remember that the program first reads exceptions for material, then the dynamic exceptions and only then the default setting only by region. The program will read the data from poverty fund from the target state configuration.

20

Note that the Poverty Fund Rate/Base should not be added to the Interstate rate entry, for example, if you are shipping from SP to RJ, you should have an entry from RJ to RJ and then add the Poverty Fund Rate/Base.

The Poverty Fund rate/base is always added to the Internal ICMS Rate, never to the interstate rate.

21

Another example, selling from another state to a customer, end-consumer in SP, the Ship From and Ship To will be SP / SP:

22

 

The Poverty Fund rate must be part of the Destiny Internal ICMS Rate. The system will do the calculation to find the rate without the Poverty Fund rate (19% – 1% = 18%).

I have an entry to this customer in my dynamic exception to calculate ICMS 12% in interstate ICMS rate. I will NEVER add the Poverty Fund Rate to the interstate entry.

 

Activate VOFM Formulas

SE38 > RV80HGEN

Customer Master Data

Review customer master data where end-consumers must have the ICMS Tax Payer Indicator 9 (No ICMS Contributor).

Business Place Master Data

If your branch is Non ICMS Contributor, then assign the ICMS Tax Payer 09. If not, your branch will not be affected by the calculation of Poverty Fund when buying goods for consumption.

 

With the configurations and following the steps above, it should be enough to get the system (Sales Orders and Purchase Orders) when relevant, calculating the ICMS Partilha and Poverty Fund.

On my next post (and I promise it will be very soon) I will show some examples of this postings in the system.

Apples-Standing-Out-From-The

Copyright Notice: © Leandro da Pia Nascimento and SAPBR.COM (SAP BRAZIL) WordPress Blog. Unauthorized use and/or duplication of this material without express and written permission from this blog’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Leandro da Pia Nascimento and SAPBR.COM with appropriate and specific direction to the original content.

Advertisements