Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 89

OBJECTIVE

It needs to be adjusted the the existing Tax Codes for assets and consumption and also create a
new ones tax codes according to the Business Area requirements. These new tax codes needs to
have the correct behavior in the Nota Fiscal and SPEDs as well.

CONFIGURATION'S AUTHOR
Diego Zanelli
Tcode or RICEFW J1BTAX

System ECC Module MM

Path or Table Condition setup >> Condition Types >> Condition Types
MM

Note Create new coditions for PIS and COFINS in excluded base
Tcode or RICEFW J1BTAX

System ECC Module MM

Path or Table Condition setup >> Tax Types

Note Create Tax Type for new coditions for PIS and COFINS in
excluded base
Tcode or RICEFW J1BTAX

System ECC Module MM

Path or Table Condition setup >> Nota-Fiscal Mapping >> Tax Values MM

Note The ICMS, PIS and COFINS conditions that is used for CIAP
need to be assigned to the column Other Base instead of Base
in the incoming Nfe.
COFINS OTHER BASE
 From:

 To:
PIS OTHER BASE
 From:

 To:
PIS EXCLUDED BASE
 New Entry:

COFINS EXCLUDED BASE


 New Entry:
Tcode or RICEFW J1BTAX

System ECC Module MM

Path Condition setup >> Calc. Procedures > Calc. Procedures MM

Note Customizing to post DIFAL as cost using the cost object and
GL Account defined in the Purchase Order

 From:

 To:

 New Entries:
Tcode or RICEFW J1BTAX

System ECC Module MM

Path Maintain tax groups of dynamic exceptions

Note Define the tax group 26 to consider also ST, otherwise will
not be possible to calculate the ST as DIFAl for consumption
purchasing using the new tax codes.
Tcode or RICEFW J1BTAX

System ECC Module MM

Path Condition setup >> Condition Mapping >> Map Tax Tables
to Cond. Tablex

Note Define the tax group 26 to consider also ST, otherwise will
not be possible to calculate the ST as DIFAL for consumption
purchasing using the new tax codes.
Tcode or RICEFW OB40

System ECC Module MM

Transaction ICX

Note Define GL Account for DIFAL posting


Tcode or RICEFW OB40

System ECC Module MM

Transaction NAV

Note Define GL Account for new Tax Codes


Tcode or RICEFW OB40

System ECC Module MM

Transaction COM

Note Define GL Account for new Tax Codes


Tcode or RICEFW OB40

System ECC Module MM

Transaction PIM

Note Define GL Account for new Tax Codes


Tcode or RICEFW OB40

System ECC Module MM

Transaction VS2

Note Define GL Account for new Tax Codes


Tcode or RICEFW J1BTAX

System ECC Module MM

Path Entities >> Tax Laws COFINS

Note Create new COFINS Tax Laws as requested by Business


Area
YC0 : based on ZC0
YC1 : based on ZC1
YC2 : based on ZC2
YC4 : based on ZC4
YC6 : based on ZC6
YC7 : based on ZC7
YC8 : based on ZC8
YC9 : based on ZC9
YD3 : based on ZD3
YD4 : based on YD4
YD6 : based on ZD6
YF1 : based on ZF1
YG0 : based on ZG0
Tcode or RICEFW J1BTAX

System ECC Module MM

Path Entities >> Tax Laws PIS

Note Create new PIS Tax Laws as requested by Business Area


YP0 : based on ZP0
YP1 : based on ZP1
YP2 : based on ZP2
YP4 : based on ZP4
YP6 : based on ZP6
YP7 : based on ZP7
YP8 : based on ZP8
YP9 : based on ZP9
YQ3 : based on ZQ3
YQ4 : based on YQ4
YQ6 : based on ZQ6
YI1 : based on ZI1
YS0 : based on ZS0
Tcode or RICEFW J1BTAX

System ECC Module MM

Path Entities >> Tax Laws IPI

Note Create new IPI Tax Laws as requested by Business Area


IP6
IP7
IP8
IP9
Tcode or RICEFW J1BTAX

System ECC Module MM

Table J_1BTXPIS (26)

Note Assignment of new PIS Tax Laws to the Tax Codes


FROM

TO
NEW ENTRIES
Tcode or RICEFW J1BTAX

System ECC Module MM

Table J_1BTXCOF (26)

Note Assignment of new COFINS Tax Laws to the Tax Codes


FROM

TO
NEW ENTRIES
Tcode or RICEFW J1BTAX

System ECC Module MM

Table J_1BTXST3
Tcode or RICEFW J1BTAX

System ECC Module MM

Table J_1BTXIC3 (35)

Note Delete the ICMS Tax Laws for all registers


FROM

TO
Tcode or RICEFW J1BTAX

System ECC Module MM

Path Maintain MM Tax Codes

Note Review and creation of the Tax Codes for Consumption and
Assets

"C0" - Aquis. Consumo/Ativo: No tax Observação:


Tax Type Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal - Poderá ser utilizado para compras de
ICMS   X IC9 uso/consumo e ativo administrativo (sem
PIS   X YS0 créditos)
COFINS   X YG0
IPI   X IP1

FROM
TO
"C1" - Aquis. Consumo/Ativo: ICMS (cost) + ICMS Difal (cost) Observação:
Tax Type Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal - Poderá ser utilizado para compras de
ICMS   X X X IC9 uso/consumo e ativo administrativo (sem
PIS   X YS0 créditos)
COFINS   X YG0
IPI   X IP1

FROM

TO
"C2" - Aquis. Consumo/Ativo: ICMS (cost) + ICMS Difal (cost) + ICMS-ST (cost)
Tax Type Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC9
PIS   X YS0
COFINS   X YG0
IPI X IP1
ST   X X X -

FROM

TO
"C3" - Aquis. Consumo/Ativo: ICMS (cost) + ICMS Difal (cost) + IPI (cost)
Tax Type Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC9
PIS   X YS0
COFINS   X YG0
IPI   X X X IP0

FROM

TO
"C4" - Aquis. Consumo/Ativo: ICMS (cost) + ICMS Difal (cost) + ICMS-ST (cost) + IPI (cost)
Tax Type Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC6
PIS   X YS0
COFINS   X YG0
IPI X X X IP0
ST   X X X -

FROM

TO
"C5" - Aquis. Consumo/Ativo: IPI (cost)
Tax Type Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X IC9
PIS   X YS0
COFINS   X YG0
IPI   X X X IP0

FROM

TO
"ZC" - Ativo ICMS (cred) + PIS (cred) + COFINS (cred)
Tax Type Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC9
PIS   X X X YS0
COFINS   X X X YG0
IPI   X IP1

FROM

TO
"ZD" - Ativo: No tax
Tax Type Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X IC9
PIS   X YS0
COFINS   X YG0
IPI   X IP1

FROM

TO
"ZG" - Ativo: PIS (cred) + COFINS (cred)
Tax Type Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X IC9
PIS   X X X YS0
COFINS   X X X YG0
IPI   X IP1

FROM

TO

*Sem modificações nas condições


"ZH" - Aquis. sem PN: ICMS (cred) + PIS (cred) + COFINS (cred) Dúvida:
Tax Type Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal - Não é necessário calcular DIFAL?
ICMS X X X IC0 - Se calculado DIFAL, lança como custo?
PIS X X X YQ6 (Não calcular DIFAL, esse Tax Code não
COFINS X X X YD6 deverá ser utilizado para aquisição de
IPI   X IP1 Ativo e/ou mat. Consumo)

FROM

TO

*Sem modificações nas condições


"ZI" - Aquis. sem PN: PIS (cred) + COFINS (cred)
Tax Type Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS X IC9
PIS X X X YQ6
COFINS X X X YD6
IPI   X IP1

FROM

TO

*Sem modificações nas condições


"CB" - Aquis. Ativo: ICMS (cred) + ICMS Difal (cost)
Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC9
PIS   X YS0
COFINS   X YG0
IPI   X IP1
"CC" - Aquis. Ativo: ICMS (cred) + ICMS Difal (cost) + IPI (cost)
Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC9
PIS   X YS0
COFINS   X YG0
IPI   X X X IP1
"CD" - Aquis. Ativo: ICMS (cred) + ICMS Difal (cost) + IPI (cost) + ST (cost)
Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC6
PIS   X YS0
COFINS   X YG0
IPI X X X IP1
ST   X X X -
"CE" - Aquis. Ativo: ICMS (cred) + ICMS Difal (cost) + ST (cost)
Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC6
PIS   X YS0
COFINS   X YG0
IPI X IP1
ST   X X X -
"CG" - Aquis.Ativo:ICMS(cost)+ICMSDifal(cost)+PIS(cred)+COFINS(cred)
Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC9
PIS   X X X YS0
COFINS   X X X YG0
IPI   X IP1
"CH" - Aquis.Ativo:ICMS(cost)+ICMSDifal(cost)+IPI(cost)+PIS(cred)+COFINS(cred)
Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC9
PIS   X X X YS0
COFINS   X X X YG0
IPI   X X X IP1
"CI" - Aquis. Ativo: ICMS (cost) + ICMS Difal (cost) + IPI (cost) + ST (cost) + PIS (cred) + COFINS (cred)
Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC6
PIS   X X X YS0
COFINS   X X X YG0
IPI X X X IP1
ST   X X X -
"CJ" - Aquis. Ativo: ICMS (cost) + ICMS Difal (cost) + ST (cost) + PIS (cred) + COFINS (cred)
Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC6
PIS   X X X YS0
COFINS   X X X YG0
IPI X IP1
ST   X X X -
"CK" - Aquis.Ativo:ICMS(cred)+ICMSDifal(cost)+PIS(cred)+COFINS(cred)
Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC9
PIS   X X X YS0
COFINS   X X X YG0
IPI   X IP1
"CL" - Aquis. Ativo: ICMS (cred) + ICMS Difal (cost) + IPI (cost) + PIS (cred) + COFINS (cred)
Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC9
PIS   X X X YS0
COFINS   X X X YG0
IPI   X X X IP1
"CM" - Aquis. Ativo: ICMS (cred) + ICMS Difal (cost) + IPI (cost) + ST (cost) + PIS (cred) + COFINS (cred)
Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC9
PIS   X YS0
COFINS   X YG0
IPI X X X IP1
ST   X X X -
"CN" - Aquis. Ativo: ICMS (cred) + ICMS Difal (cost) + ST (cost) + PIS (cred) + COFINS (cred)
Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC9
PIS   X X X YS0
COFINS   X X X YG0
IPI X IP1
ST   X X X -
"CP" - Aquis. Ativo: ICMS Difal (cost) + PIS (cred) + COFINS (cred) - Simples Nacional
Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X IC9
PIS   X X X YS0
COFINS   X X X YG0
IPI X IP1
"ZS" - Aquis. Consumo: ICMS (Cost) + ICMS Difal (cost) + PIS (cred) + COFINS (cred)
Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC9
PIS X X X YQ6
COFINS X X X YD6
IPI X IP1
"ZT" - Aquis. Consumo: ICMS (Cost) + ICMS Difal (cost) + IPI (Cost)+ PIS (cred) + COFINS (cred)
Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC9
PIS X X X YQ6
COFINS X X X YD6
IPI X X X IP1
Tcode or RICEFW SE18

System ECC Module ABAP

BadI BADI_J1B_DIFAL_RECALCULATION

Enhancement Spot BADI_J1B_DIFAL_RECALCULATION

BadI Implementation ZMM_BADI_DIFAL

Interface IF_EX_BADI_J1B_DIFAL_RECALC

Method IF_EX_BADI_J1B_DIFAL_RECALC~RECALCULATE

The behavior for the standard solution for DIFAL is not according to business area requirement,
because of that it was necessary to implement the BadI for DIFAL recalculation.
method IF_EX_BADI_J1B_DIFAL_RECALC~RECALCULATE.

  FIELD-SYMBOLS: <FS_MWSKZ>  TYPE MWSKZ.

  DATA: local_destination_rate(12) TYPE p DECIMALS 6.

  IF
    is_difal_recalculation-ship_to           CS 'SP'                        
       AND
    is_difal_recalculation-destination_rate  <> 1.

      IF is_difal_recalculation-destination_rate < '0.180000'.
        local_destination_rate = '0.120000'.
      ELSE.
        local_destination_rate = is_difal_recalculation-destination_rate.
      ENDIF.

    IF
       is_difal_recalculation-ship_to           CS 'SP'                     
          AND
       is_difal_recalculation-destination_rate  <> 1                        
          AND
       is_difal_recalculation-is_cte            = ''                        
          AND
"       is_difal_recalculation-destination_rate  <> is_difal_recalculatio
n-inter_rate  AND
       local_destination_rate  <> is_difal_recalculation-inter_rate  AND
       is_difal_recalculation-destination_rate  > 0.

      cv_difal_rate = ( 1 - is_difal_recalculation-inter_rate  * is_difal_r
ecalculation-inter_base_reduction ) /
"                    ( 1 - is_difal_recalculation-destination_rate ) - 
1 .
                    ( 1 - local_destination_rate ) - 1 .

      ASSIGN ('(SAPLV61A)KOMP-MWSKZ') TO  <FS_MWSKZ>.

      IF <FS_MWSKZ> IS ASSIGNED.
        IF <FS_MWSKZ> EQ 'ZD' OR <FS_MWSKZ> EQ 'CP'.
*         incluir alíquota de ICMS na base, porque para os Tax Codes ZD 
e CP não há cálculo de ICMS.
          cv_destination_base_value = is_difal_recalculation-
inter_base_value / ( 1 - IS_DIFAL_RECALCULATION-INTER_RATE ).
        ELSE.
          cv_destination_base_value = is_difal_recalculation-
inter_base_value.
        ENDIF.
      ELSE.
        cv_destination_base_value = is_difal_recalculation-
inter_base_value.
      ENDIF.

      cv_difal_value            = cv_destination_base_value * cv_difal_rate 
.

    ELSE.

      CLEAR: cv_difal_rate, cv_destination_base_value, cv_difal_value.

    ENDIF.

  ENDIF.
endmethod.

UNIT TEST S01


 DIFAL
UNIT TEST P02

"C0" - Aquis. Consumo/Ativo: No tax Observação:


Tax Type Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal - Poderá ser utilizado para compras de
ICMS   X IC9 uso/consumo e ativo administrativo (sem
PIS   X YS0 créditos)
COFINS   X YG0
IPI   X IP1
"C1" - Aquis. Consumo/Ativo: ICMS (cost) + ICMS Difal (cost) Observação:
Tax Type Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal - Poderá ser utilizado para compras de
ICMS   X X X IC9 uso/consumo e ativo administrativo (sem
PIS   X YS0 créditos)
COFINS   X YG0
IPI   X IP1

WITHOUT DIFAL
WITH DIFAL
"C3" - Aquis.Cons./Ativo:ICMS(cst)+ICMSDifal(cst)+IPI(cst)
Tax Type Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X X X IC9
PIS   X YS0
COFINS   X YG0
IPI   X X X IP0
"C5" - Aquis. Consumo/Ativo: IPI (cost)
Tax Type Base Amount Tax Rate Tx Value Excluded Base Other Base Lei Fiscal
ICMS   X IC9
PIS   X YS0
COFINS   X YG0
IPI   X X X IP0
 Implementar enhacement, copiando o código standard e no else da linha 12/13, acrescentar
verificação se é o Tax Code ZD, se for, então mantem RV_ACTIVE = X.

 Será necessário colocar uma verificação se trata-se do Tax Code ZD


o (SAPLV61A)KOMP-MWSKZ
 Se for, deverá ser recalculado a variável cv_destination_base_value incluindo a
alíquota inter-estadual (IS_DIFAL_RECALCULATION-INTER_RATE)
 Apenas após isso calcular o valor do DIFAL

REPLICAR S01

 Tax Code ZR
 OB40 para ZR: COM, PIM e VS2
 EXCEÇÃO PIS(26) PARA ZR
 EXCEÇÃO COFINS(26) PARA ZR

You might also like