Skip to Content

Desconto na Nota Fiscal Base de Cálculo dos Impostos

Prezados,

Devido a grandes problemas que muitas pessoas estão tendo com relação ao Desconto na NF, eu resolvi abrir este Blog para ajudar com uma solução paliativa.

O desconto deve ser especificado em cada item. Assim se você vai dar um desconto de 10% no valor da nota deve informar o valor correspondente do desconto para cada item. O campo desconto não é obrigatório, então também poderá numa mesma nota, haver itens com desconto e outros sem desconto. No momento de digitar o desconto na tela do produto, tenha em mente que este somente será considerado no total geral da nota.

O programa somará os descontos de todos os itens e vai subtrair do total da nota na seção de totais. Assim, quando houver desconto, os valores unitários de comercialização, tributação e o valor total bruto de cada item devem ser informados sem o desconto, somente no total geral os descontos serão considerados.


E como fica a base de cálculo dos impostos?
Caso sua nota tenha destaque de impostos, lembre-se de digitar como base de cálculo dos impostos o valor já diminuído do desconto. O programa vai considerar para efeito de cálculo dos impostos o valor digitado por você. Tenha muito cuidado pois esquecer os descontos aqui vai fazer com que você pague impostos a mais do que deveria.
Fonte: Blog de Suporte


Cenário: Base de Cálculo do ICMS tem o valor cheio da NF sem o desconto.


Total Produtos: R$ 100,00

Desconto: R$ 10,00

Total NF: R$ 90,00

Total Base de ICMS: R$ 100,00

Aliquota ICMS e Total: 17% – R$ 17,00


Para este cálculo funcionar eu utilizei como exemplo um pedido com os valores destacados acima e a Pricing de COMPRAS tem de estar com a condição Standard RB00 (Desconto Absoluto) conforme imagem abaixo:


ScreenHunter_01 Feb. 25 09.21.jpg


OBS:  A condição de ICMS na Pricing deve estar com o valor correto, você tem de fazer o cálculo do ICMS baseado no preço bruto sem desconto para que calcule corretamente, no meu caso a condição ICM1 vem automática via fórmula e já está tratado dentro da mesma. De qualquer forma este é o pré-requisito, pois o programa não altera a pricing de compras somente a aba de fatura – Impostos e na MIRO.


Em seguida o Seguinte Enhancement tem de ser implementado:


Classe: CL_TAX_CALC_BR_MM.

Method: CALCULATE_ICMS.


METHOD calculate_icms .

“””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””$”$\SE:(1) Classe CL_TAX_CALC_BR, Método CALCULATE_ICMS, Início                                                                                              A

*$*$-Start: (1)———————————————————————————$*$*

ENHANCEMENT 1  Z_TRATAMENTO_DESCONTO_PO.    “active version

*Tratamento para a Base do ICMS não excluir o valor do Desconto

DATA: t_tkomv TYPE komv_tab,

      l_tkomv LIKE LINE OF t_tkomv,

      v_kbetr TYPE komv_index-kbetr,

      l_knumv TYPE ekko-knumv,

      l_kbetr TYPE konv-kbetr,

      t_komki TYPE komk,

      t_komve TYPE TABLE OF komv,

      l_komve LIKE LINE  OF t_komve.

DATA: t_xkomv TYPE komv_tab.

FIELD-SYMBOLS: <fs_t_komv>  TYPE any,

               <fs_ebeln>   TYPE any,

               <fs_ebelp>   TYPE any.

ASSIGN (‘(SAPLMEPO)TKOMV[]’) TO <fs_t_komv>.

ASSIGN (‘(SAPLV61A)KOMP-EVRTN’) TO <fs_ebeln>.

ASSIGN (‘(SAPLV61A)KOMP-EVRTP’) TO <fs_ebelp>.

IF <fs_t_komv> IS ASSIGNED.

  MOVE <fs_t_komv> TO t_tkomv.

IF <fs_ebelp> IS ASSIGNED.

    IF sy-tcode = ‘ME21N’ OR sy-tcode = ‘ME22N’ OR sy-tcode = ‘ME23N’ OR sy-tcode = ‘ME47’.

                    

      LOOP AT t_tkomv INTO l_tkomv  WHERE kschl = ‘RB00’ AND kposn = <fs_ebelp>.

        IF l_tkomv-kwert IS NOT INITIAL.

          l_tkomv-kwert = l_tkomv-kwert * -1.

          IF ms_tax_data-net_amount IS NOT INITIAL.

            ms_tax_data-net_amount = ms_tax_data-net_amount + l_tkomv-kwert.

          ENDIF.

        ENDIF.

      ENDLOOP.

    ENDIF.

ENDIF.

UNASSIGN <fs_t_komv>.

ENDIF.

IF sy-tcode = ‘MIRO’.

  IF <fs_ebeln> IS ASSIGNED AND <fs_ebelp> IS ASSIGNED.

    SELECT SINGLE knumv INTO l_knumv FROM ekko

      WHERE ebeln = <fs_ebeln>.

    IF sy-subrc = 0.

      t_komki-knumv = l_knumv.

      SELECT SINGLE kbetr INTO l_kbetr FROM konv

        WHERE knumv = l_knumv

          AND kposn = <fs_ebelp>

          AND kschl = ‘RB00’.

      IF sy-subrc = 0.

        IF l_kbetr IS NOT INITIAL.

          l_kbetr = l_kbetr * -1.

          IF ms_tax_data-net_amount IS NOT INITIAL.

            ms_tax_data-net_amount = ms_tax_data-net_amount + l_kbetr.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDIF.

  ENDIF.

  UNASSIGN: <fs_ebeln>, <fs_ebelp>.

ENDIF.

ENDENHANCEMENT.

Enfim, este é apenas um exemplo de código e solução paliativa você pode tratar este desenvolvimento de outras formas, cabe ao programador decidir como vai fazer.

Após o desenvolvimento a PRICING TAXBRA vai ficar assim:


ScreenHunter_02 Feb. 25 09.21.jpg


Este Tratamento já vai funcionar para o PEDIDO de Compras e para o Lançamento na MIRO, você também pode efetuar este tratamento para a Base do IPI, PIS e COFINS é só utilizar os METHODS de calcular o IPI, PIS e COFINS e fazer tratamentos diferenciados.


Bom espero ter ajudado, Um grande Abraço à todos que estão sempre contribuindo para o SCN ser uma grande ferramenta de Suporte e as dúvidas de todos.


David Medeiros

SAP MM Consultant

14 Comments
You must be Logged on to comment or reply to a post.
  • Meu caro, acredito que sua interpretação está errada. Considerando o desconto incondicional, este não compõe a BC do ICMS, neste caso a empresa deveria recolher R$ 15,30 e não R$ 17,00 de ICMS.

    • Olá Alyson, creio que você não entendeu ou não leu completamente o blog, mais vou lhe explicar.

      O comentário sobre o desconto na NF foi colocado pelo grande especialista em NF Rodrigo Alves, nós não estamos criticando como a Legislação funciona, além do mais conhecemos as Regras do Desconto Condicional e Incondicional. Neste Blog estamos como colocando de forma clara como o SAP Funciona e não como era pra ser a NF, até mesmo porque se os Clientes / Fornecedores enviam as Notas Fiscais erradas e não querem corrigir, cabe apenas ao consultor Alertar do problema e encontrar uma solução para o Problema.

      A forma como o Rodrigo descreveu está bem clara de que é como o SAP funciona, se você obtiver desconto na NF e este mesmo desconto que é rateado nos itens da NF não compor a BASE dos impostos o SAP vai efetuar o cálculo errado!

      E o meu Blog tem como isso levar em considerações todos os cenários e um deles é quando o Fornecedor envia a NF com o Valor que foi efetuado como desconto no Total da Base de ICMS e neste caso eu tenho muitos exemplos de Notas Fiscais desta forma, ninguém é obrigado a fazer o correto ou que se diz supostamente ser correto, não sabemos no que o Fornecedor está baseado legalmente para gerar este tipo de NF, acredito que se passou no SEFAZ já é um bom inicio pra acreditarmos que a NF está correta sendo que foi protocolada e assinada pelo governo.

      Enfim, este fórum é para uma solução paliativa e simples para os programadores, ainda não tive tempo de criar um cenário com condições na Pricing e sei que isto é possível, só estou estudando a melhor forma de como fazer. De qualquer forma agradeço pelo comentário. Qualquer dúvida ou esclarecimento estarei à disposição.

      Abraços,

      David Medeiros

      • Olá David,

        Como você bem sabe o SEFAZ pode autorizar notas com erro de lógica, o validador do webservice só nega erros formais. Ele inclusive nunca notificará um contribuinte que está recolhendo imposto indevido ou a maior.

        Se o objetivo é mostrar como o SAP funciona OK, mas o exemplo dado pode induzir um leitor que não entende das regras de ICMS que esta seria a forma aderente à legislação – isso não ficou claro e foi esse o intuito do meu comentário.

        • Olá Allyson,

          Sem problemas! O Objetivo da SCN ao menos para mim, é abrir Discussões, Blogs entre outros apenas para resolver ou apresentar algo novo com relação ao produto SAP, ao menos não estou discutindo regras e legislações, concordo com você que o leitor pode se confundir, mais que fique claro que este fórum é apenas relacionado ao SAP para ajudar Consultores e Usuários, entre outros.

          De qualquer forma agradeço a compreensão e desculpe o mal entendido…Mais é saudável este tipo de discussão, é bom para que todos os leitores possam entender melhor qual o objetivo do Blog.

          Abraços,

          David Medeiros

  • Olá David,

    Esse cenário que está se referindo, é quando um fornecedor envia uma nota com um desconto sobre o valor total da nota??

    Quando você fala que esse desconto deveria ser especificado em cada item, você está se referindo a criação do pedido ou o momento do lançamento da MIRO?

    Estou com um problema que o fornecedor emitiu a nota com desconto sobre o valor total e a essa não possui ICMS. Neste caso, qual seria sua orientação para fazer este recebimento? Você já utilizou aquele campo desconto na MIRO (Aba pagamento)?

    • Olá Marquilanio,

      Este blog que eu criei é apenas para os cenários que tem ICMS. No seu caso você pode tentar utilizar a Condição RB00 como desconto  absoluto ou RA00 como Porcentagem no cabeçalho do pedido.

      Abraços,

  • Oi David

    Na prática a fiscalização não deve implicar já que você está pagando o imposto a mais que o devido (desde que também você não tome crédito indevido).

    Ai fica por conta do fiscal da empresa. Se ele quer pagar mais imposto e escriturar a nota errada…

    Confesso que é a primeira vez que eu vejo uma empresa querer pagar mais imposto que o devido! Já vi varias empresas optarem por antecipar o pagamento de impostos mas pagar a mais… é a primeira!

    Abraço

    Eduardo Chagas

    • Olá Edu,

      Então, eu também discordo desta prática de lançar o imposto com base em um valor que não seja dos produtos, base reduzida, entre outros… Acontece que eu já encontrei ao menos 4 empresas que recebem Notas Fiscais desta forma e escrituram desta forma, já gerei até discussões sobre a questão do desconto Condicional ou Incondicional, mais confesso que desisti (rs) e por conta disto acabei abrindo esse Blog com uma solução paliativa ou ao menos provisória.

      As empresas que recebem muito este tipo de NF, não sei se é algo muito incomum, mais são as empresas de Agronegócio, vários fornecedores destas empresas aplicam este tipo de desconto e o Fiscal informa que a NF tem de entrar desta forma.

      Enfim, como você mesmo citou acima, fica por conta do Fiscal da empresa.

      Abraços,

  • David Medeiros,

    Estou com um problema quanto ao desconto, gostaria de saber se você já se deparou com este erro:

    Compra de consumo – IVA de IPI (15%) e ICMS (19%)

         – Material R$ 1.000,00 ( tirando o IPI e ICMS =  R$ 781,50)

         – Desconto R$ 100,00

              – Retirando o desconto no valor bruto R$ 100,00, valor líquido = R$ 703,35

              – Retirando o desconto no valor líquido de R$ 78,15, valor líquido = R$ 720,43 

    Linhas de imposto:

         – Base para o IPI = 1.000,00 = R$ 150,00

         – Base para o ICMS (1.000,00 – 100,00 + 150,00) = R$ 1.050,00 * 19% = R$ 199,50

    O valor total da nota seria de R$ 1.050,00

    Onde estou, as bases estão vindo com valores errados e mesmo ajustando na mão, eles fica com um valor total inconsistente.

  • boa tarde pessoal,

    Gostaria de saber se existe algum parametro no que posso utilizar no SAP ou alguma condição na PO que habilite o campo despesas ou redução dentro de J1B3N: