CE PLUS - Nota 005223

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal Complementar

Data/Hora da Publicação: 14/11/2007 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:15:22

Descrição da Nota: NF COMPLEMENTAR NÃO ESTÁ CALCULANDO CORRETAMENTE O VALOR DA BASE EXCLUID

Sintoma

Quando crio a NF complementar o sistema não está calculando corretamente o valor da base excluida.

Aparentemente o sistema não está incluindo o valor do ICMS por dentro na base excluida.

Consequentemente a base do IPI e total da NF também está incorreto.

 

 

Solução

Atualização do programa de Nota Fiscal Complementar para que o sistema efetue o cálculo da Base de

ICMS Reduzida corretamente.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

O ICMS COM BASE REDUZIDA ESTA SENDO CALCULADO ERRADO NA NF COMPLEMENTAR

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 05223 Data: 14/11/2007 Hora: 10:53:05

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 05223

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00021

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

02486  - 00001 - 6.0    - 00025  - O ICMS COM BASE REDUZIDA ESTA SENDO CALCULADO ERRADO NA NF COMPLE

----------------------------------------------------------------------------------------------------

NF COMPLEMENTAR NÃO ESTÁ CALCULANDO CORRETAMENTE O VALOR DA BASE EXCLUID

----------------------------------------------------------------------------------------------------

Palavras Chave:

NF COMPLEMENTAR - CÁLCULO ICMS - BASE EXCLUÍDA

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI029F01

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI029F01

 

 

...

        endif.

          IF ( /pws/zycit062-susp_nf EQ 'S' AND

          itab_zycit100-codregtriICMS EQ '5' ) or

             /pws/zycit062-flag_icms NE 'X' or

             ( /pws/zycit062-BS_CHEIA_DIF NE 'X' and

             itab_zycit100-icms_dif EQ 'X' ) or

             itab_zycit100-codregtriICMS EQ '3' .

              it_zycee007-c_excbas = itab_zycit265_c2-vldp_dif -

                            it_zycee007-base.

          ELSE.

* >> Início da exclusão: FORM ITENS_NFC

          it_zycee007-c_excbas = itab_zycit265_c2-vldp_dif -

         ( itab_zycit265_c2-vldp_dif * ( itab_zycit003-basred / 100 ) ).

* << Fim da exclusão

* >> Início da inclusão: FORM ITENS_NFC

              it_zycee007-c_excbas = ( itab_zycit265_c2-vldp_dif -

              itab_zycit265_c2-vldp_dif_icms ) +

              ( itab_zycit265_c2-vldp_dif_icms  /

              ( ( 100 - itab_zycit003-advalicms ) / 100 )  )

              -  it_zycee007-base.

* << Fim da inclusão

          ENDIF.

    WHEN 2.

      IF NOT /pws/zycit062-bcnfc IS INITIAL AND

        (  NOT itab_zycit003-basred IS INITIAL AND

           NOT itab_zycit003-basred EQ '100' ).

        it_zycee007-c_excbas  = itab_zycit265_c2-vldp_dif  -

          ( ( itab_zycit265_c2-vldp_dif_icms     +

           itab_zycit265_c2-vldp_pis + itab_zycit265_c2-vldp_cofins )

           *  ( itab_zycit003-basred / 100 )  ) .

      ELSE.

...

 

...

 

          IF ( /pws/zycit062-susp_nf EQ 'S' AND

          itab_zycit100-codregtriICMS EQ '5' ) or

             /pws/zycit062-flag_icms NE 'X' or

             ( /pws/zycit062-BS_CHEIA_DIF NE 'X' and

             itab_zycit100-icms_dif EQ 'X' ) or

             itab_zycit100-codregtriICMS EQ '3'  .

               it_zycee007-c_excbas = itab_zycit265_c2-vldp_dif -

                              it_zycee007-othbas.

          ELSE.

* >> Início da exclusão: FORM ITENS_NFC

           it_zycee007-c_excbas = itab_zycit265_c2-vldp_dif  -

           ( ( itab_zycit265_c2-vldp_dif_icms     +

            itab_zycit265_c2-vldp_pis + itab_zycit265_c2-vldp_cofins )

            *  ( itab_zycit003-basred / 100 )  ) .

* << Fim da exclusão

* >> Início da inclusão: FORM ITENS_NFC

              it_zycee007-c_excbas = ( itab_zycit265_c2-vldp_dif -

              itab_zycit265_c2-vldp_dif_icms ) +

              ( itab_zycit265_c2-vldp_dif_icms  /

              ( ( 100 - itab_zycit003-advalicms ) / 100 )  )

              -  it_zycee007-othbas.

* << Fim da inclusão

          ENDIF.

  ENDCASE.

* >> Início da exclusão: FORM ITENS_NFC

  IF itab_zycit100-codregtri = '3' OR

     itab_zycit100-codregtri = '5'.

    CLEAR it_zycee007-taxval.

  ENDIF.

* << Fim da exclusão

 

* >> Início da inclusão: FORM ITENS_NFC

  IF itab_zycit100-codregtriICMS = '3' OR

     itab_zycit100-codregtriICMS = '5'.

    CLEAR it_zycee007-taxval.

  ENDIF.

* << Fim da inclusão

 

 

...

 

...

       it_zycee007-p_excbas = it_zycee007-p_excbas + it_zycee007-taxval.

      ENDIF.

    WHEN 3.

      it_zycee007-othbas2  = itab_zycit265_c2-vldp_dif +

           itab_zycit265_c2-vldp_pis + itab_zycit265_c2-vldp_cofins.

      IF /pws/zycit062-flag_icms = 'X' AND

          itab_zycit100-icms_dif NE 'X'.

        it_zycee007-p_excbas = it_zycee007-taxval.

      ENDIF.

  ENDCASE.

  it_zycee007-taxtyp2  = itab_zycit033-taxtyp2.

 

* >> Início da exclusão: FORM ITENS_NFC

  IF /pws/zycit062-flag_icms = 'X' AND

         itab_zycit100-icms_dif NE 'X'.

     it_zycee007-netoth = it_zycee007-netoth + it_zycee007-taxval.

  ENDIF.

* << Fim da exclusão

 

* >> Início da inclusão: FORM ITENS_NFC

  IF /pws/zycit062-flag_icms = 'X' AND

          itab_zycit100-icms_dif NE 'X'.

    IF NOT /pws/zycit062-tred IS INITIAL.

        it_zycee007-netoth = it_zycee007-netoth +

         ( ( it_zycee007-taxval * 100 ) / itab_zycit003-basred ).

    else.

        it_zycee007-netoth = it_zycee007-netoth + it_zycee007-taxval.

    endif.

  ENDIF.

* << Fim da inclusão

 

  ENDIF.

  IF it_zycee007-taxval IS INITIAL.

    CLEAR it_zycee007-rate.

  ENDIF.

  CLEAR: v_tabix_exit.

  CONCATENATE itab_zycit265_c2-ebeln '/' itab_zycit265_c2-ebelp

              INTO it_zycee007-msg1.

  APPEND it_zycee007.

  v_tabix_exit = sy-tabix.

  READ TABLE itab_zycit001 INDEX 1.

...