cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Cálculo ICMS ST com MVA (margem valor agregado) para Consumo

Former Member
0 Likes
9,367

Boa tarde,

Alguém já precisou configurar um cenário para calcular ICMS ST com MVA?

Estamos na base S/4Hana e apenas dá certo o cálculo quando o material e o código de imposto são de industrialização. Para consumo não funciona o cálculo.

Se alguém já passou por isso ou souber de alguma nota SAP, por gentileza, agradeço se puder compartilhar a solução.

Att,

Madi

Accepted Solutions (0)

Answers (6)

Answers (6)

Eidelwein
Product and Topic Expert
Product and Topic Expert

Olá Madi,

Para os cenário de compras existe no código um check para saber se o material é de consumo ou industrialização.

Se for consumo ele não vai calcular o surcharge (MVA).

Veja o código abaixo:

Class: CL_TAX_CALC_BR

Method: CALCULATE_SUBTRIB

* Apply surcharge only if usage is not consumption. "2443042
lv_base_sur = lv_base.
IF ms_tax_control-usage <> mc_consum.
* SubTrib surcharge rate
lv_base_sur = lv_base_sur * ( 1 + ms_tax_data-subtribsurcharge ).
ENDIF.

...

SubTrib value is difference between the two ICMS amounts
ev_amount = lv_val_sub - lv_val_icms.

...

Existe algumas BADIS que foram entregues devidos a alguns requerimentos específicos de alguns estados.

https://blogs.sap.com/2017/01/13/calculo-do-difal-para-operacoes-interestaduais-de-usoconsumo-e-ativ...

Talvez vocês consigam implementar alguma lógica dentro de alguma dessas BADIs para atender o requerimento da empresa de vocês.

Abs,

Patricia

Former Member
0 Likes

Bom dia Rodrigo e Madi,

Vcs conseguiram atender a solução com a ativação desta BAdi?

At.

Ernani

0 Likes

Madi,

Não encontrei nenhum solução standard, para esse situação.

Para atender esse requerimento implementei a BADI J_1BTAX_ST_MAX_PRICE abaixo:

DATA: subtribsurcharge(12) TYPE p DECIMALS 6,
subtribbase1(12) TYPE p DECIMALS 6,
subtribbase2(12) TYPE p DECIMALS 6.

DATA: t_xkomv TYPE STANDARD TABLE OF komv_index,
wa_xkomv TYPE komv_index.

FIELD-SYMBOLS: <t_komv> TYPE ANY TABLE.

ASSIGN ('(SAPLV61A)XKOMV[]') TO <t_komv>.
IF <t_komv> IS ASSIGNED.
t_xkomv[] = <t_komv>.

"Busca valor de subtribsurcharge (kschl = 'BST0')
READ TABLE t_xkomv INTO wa_xkomv WITH KEY kschl = 'BST0'.
IF ( sy-subrc = 0 ) AND ( wa_xkomv-kbetr > 0 ).
subtribsurcharge = wa_xkomv-kbetr / 1000.
ENDIF.

"Busca valor de SUBTRIBBASE1 (kschl = 'BST6')
READ TABLE t_xkomv INTO wa_xkomv WITH KEY kschl = 'BST6'.
IF ( sy-subrc = 0 ) AND ( wa_xkomv-kbetr > 0 ).
subtribbase1 = wa_xkomv-kbetr / 1000.
ENDIF.

"Busca valor de SUBTRIBBASE2 (kschl = 'BST7')
READ TABLE t_xkomv INTO wa_xkomv WITH KEY kschl = 'BST7'.
IF ( sy-subrc = 0 ) AND ( wa_xkomv-kbetr > 0 ).
subtribbase2 = wa_xkomv-kbetr / 1000.
ENDIF.

"SubTrib surcharge rate
cv_subtrib_base = cv_subtrib_base * ( 1 + subtribsurcharge ).

"Base reductions
cv_subtrib_base = cv_subtrib_base *
( 1 - subtribbase1 ) *
( 1 - subtribbase2 ).

ENDIF.

Att. Rodrigo Melo

Former Member
0 Likes

Rodrigo / Silvano,

Muito obrigada pelas informações. O meu cenário seria de compra para consumo, deixei de mencionar isso.

No código de imposto MM estão flegadas as condições que calculam ICMS-ST (seriam ICM2 e ICS2), porém quando crio o pedido de compra a base de cálculo ST continua errada, ou seja, considera a mesma base de cálculo do ICMS.

Att,

Madi

Former Member
0 Likes

Olá Madi,

Além de verificar se há o flag no campo "Calc.Subst.Tribut" , deve verificar se para o Código de imposto esta marcado como "Consumo". Se estiver, não faz o cálculo de ICMS ST.

Veja anexo um caso em nossa empresa que mesmo com flag de calculo de substituição, porem esta como consumo, não ocorre o cálculo de ST.

codigo-imposto.jpg

Rodrigo

0 Likes

Madi,

Você menciona que para IVA de Industrialização funciona.

Verifique (se já não o fez) se código de imposto de Consumo está com o flag no campo 'Calc.Subst.Tribut.'?

[]'s

Silvano Furlan