CE PLUS - Nota 012870

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 18/12/2013 10:39:59

Data/Hora Última Alteração: 18/12/2013 10:39:59

Descrição da Nota: TRATAMENTO PARA QUEBRA DE COFINS NA NF (NOTA FISCAL)

Sintoma

Tratamento para quebra de cofins na nf (nota fiscal)

 

 

Solução

Novo tratamento na nota fiscal para quebrar o cofins quando um

percentual for custo e outro crédito, cadastrar no SAP o código COFIN1 para realizar a quebra.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

LEI FISCAL REFERENTE PIS/COFINS NA NOTA FISCAL

ERRO DI JPY + GRANEL NO VALOR DO SEGURO E VARIAÇÃO DO RODOVIÁRIO

NOTA FISCAL: ICMS ST

PREENCHE LEI DE PIS E COFINS SEMPRE QUE PARAMETRIZADO.

LEGISLAÇÃO PARA DESENVOLVIMENTO DE ICMS ST NA DI E NF.

ACRESCENTAR TRATAMENTO PARA LINHA DO II NA NF.

DI NÃO ESTÁ RESPEITANDO O PARÂMETRO REG_SUSP DA ZYCIT062 P ICMS

DESENVOLVIMENTO ADICIONAL - CONTABILIZAR IMPOSTOS NA NOTA FISCAL GLOBAL

NÃO CARREGA BOTÃO FUNDAP

DATA DE LANÇAMENTO DO ESTORNO DA NF

FEITO DESENVOLVIMENTO PARA PREENCHIMENTO DA NOVA PASTA NF

DESENVOLVER FUNCIONALIDADE FUNDAP NA NF E NA DI

NA NF NÃO LEVA VALOR DE ICMS, DIFERENÇA NA LINHA DO IPI

QUANDO O PIS E COFINS É ISENÇÃO NA DI NÃO LANÇA A BASE NA NF

VÁRIAS DECLARAÇÕES NOS PROGRAMAS ESTÃO DANDO ERRO NA VERSÃO 6.0 DO SAP.

ERRO RATEIO DESPESAS, VARIAÇÃO CAMBIAL, VLR DO SEGURO, GRANEL DA DI

Informações Complementares

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

Nota Número 12870 Data: 25/03/2013 Hora: 14:40:22

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

 

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

Nota Número              : 12870

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 9.0

Pacote                   : 00004

Agrupamento              : 00151

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

Referência às notas relacionadas:

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

 

02026  - 00001 - 6.0    - 00024  - VÁRIAS DECLARAÇÕES NOS PROGRAMAS ESTÃO DANDO ERRO NA VERSÃO 6.0 D

03588  - 00002 - 7.0    - 00001  - LEI FISCAL REFERENTE PIS/COFINS NA NOTA FISCAL

03667  - 00003 - 7.0    - 00001  - PREENCHE LEI DE PIS E COFINS SEMPRE QUE PARAMETRIZADO.

04644  - 00004 - 7.0    - 00002  - ERRO DI JPY + GRANEL NO VALOR DO SEGURO E VARIAÇÃO DO RODOVIÁRIO

04669  - 00005 - 7.0    - 00003  - DATA DE LANÇAMENTO DO ESTORNO DA NF

04673  - 00006 - 7.0    - 00003  - NA NF NÃO LEVA VALOR DE ICMS, DIFERENÇA NA LINHA DO IPI

04679  - 00007 - 7.0    - 00003  - DI NÃO ESTÁ RESPEITANDO O PARÂMETRO REG_SUSP DA ZYCIT062 P ICMS

04750  - 00008 - 7.0    - 00002  - ERRO RATEIO DESPESAS, VARIAÇÃO CAMBIAL, VLR DO SEGURO, GRANEL DA

04831  - 00009 - 7.0    - 00003  - DESENVOLVER FUNCIONALIDADE FUNDAP NA NF E NA DI

04987  - 00010 - 7.0    - 00003  - QUANDO O PIS E COFINS É ISENÇÃO NA DI NÃO LANÇA A BASE NA NF

05498  - 00011 - 7.0    - 00004  - NÃO CARREGA BOTÃO FUNDAP

11157  - 00012 - 8.0    - 00007  - LEGISLAÇÃO PARA DESENVOLVIMENTO DE ICMS ST NA DI E NF.

11494  - 00013 - 8.0    - 00009  - ACRESCENTAR TRATAMENTO PARA LINHA DO II NA NF.

11641  - 00014 - 8.0    - 00009  - FEITO DESENVOLVIMENTO PARA PREENCHIMENTO DA NOVA PASTA NF

12691  - 00015 - 9.0    - 00002  - NOTA FISCAL: ICMS ST

12841  - 00016 - 9.0    - 00003  - DESENVOLVIMENTO ADICIONAL - CONTABILIZAR IMPOSTOS NA NOTA FISCAL

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

TRATAMENTO PARA QUEBRA DE COFINS NA NF (NOTA FISCAL)

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

Palavras Chave:

QUEBRA - COFINS - NF - NOTA FISCAL - LEGISLAÇÃO

 

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

Objetos da nota:

TABD /PWS/ZYCEE007

FUNC /PWS/ZYCI_TRANSACAO_J1B1N

REPS /PWS/MZYCI016F01

REPS /PWS/MZYCI016F02

REPS /PWS/MZYCI016X01

 

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

Modificações efetuadas em TABD /PWS/ZYCEE007

 

Ao final da estrutura /PWS/ZYCEE007 acrescentar os seguintes campos

 

Nome campo  Elem.dados    Tab.verif. N CtDt Comp. Grupo

*<< Início Inclusão

 LEICOFINSQ  CHAR3                      CHAR     3

 TAXTYP_COFQ J_1BTAXTYP                 CHAR     4

 TAXVAL_COFQ J_1BTAXVAL                 CURR    15

 RATE_COFQ   J_1BTXRATE                 DEC      6

 BASE_COFQ   J_1BBASE                   CURR    15

 COFQ_EXCBAS J_1BEXCBAS                 CURR    15

 OTHBAS_COFQ J_1BOTHBAS                 CURR    15

*<<Fim Inclusão

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_J1B1N

 

FUNCTION /pws/zyci_transacao_j1b1n.

  TABLES: dd02l,

          dd03l,

          j_1baa.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_J1B1N

data:

    v_othbas_cofq(17),

    v_base_cofq(15),

    v_taxval_cofq(15),

    v_cofqexcbas(20),

    v_aliqcofq(8).

* << Fim da inclusão

 

...

 

...

    WRITE:     t_itens-othbas_st TO v_othbas_st CURRENCY  t_itens-waers,

               t_itens-base_st   TO v_base_st   CURRENCY  t_itens-waers,

               t_itens-taxval_st TO v_taxval_st CURRENCY  t_itens-waers,

               t_itens-st_excbas TO v_stexcbas  CURRENCY  t_itens-waers,

               t_itens-rate_st   TO v_aliqst    CURRENCY  t_itens-waers,

              t_itens-othbas_ii  TO v_othbas_ii CURRENCY  t_itens-waers,

              t_itens-base_ii    TO v_base_ii   CURRENCY  t_itens-waers,

              t_itens-taxval_ii  TO v_taxval_ii CURRENCY  t_itens-waers,

              t_itens-ii_excbas  TO v_iiexcbas  CURRENCY  t_itens-waers,

              t_itens-rate_ii    TO v_aliqii    CURRENCY  t_itens-waers.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_J1B1N

         write:

           t_itens-othbas_cofq TO v_othbas_cofq CURRENCY  t_itens-waers,

           t_itens-base_cofq   TO v_base_cofq   CURRENCY  t_itens-waers,

           t_itens-taxval_cofq TO v_taxval_cofq CURRENCY  t_itens-waers,

           t_itens-cofq_excbas TO v_cofqexcbas  CURRENCY  t_itens-waers,

           t_itens-rate_cofq   TO v_aliqcofq    CURRENCY  t_itens-waers.

* << Fim da inclusão

      CLEAR: v_cont,

             v_campo_taxtyp(60),

             v_campo_base(60),

             v_campo_rate(60),

             v_campo_taxval(60),

             v_campo_excbas(60),

             v_campo_othbas(60).

      ADD 1 TO v_cont.

      CONCATENATE 'J_1BDYSTX-TAXTYP(' v_cont ')' INTO v_campo_taxtyp.

      CONCATENATE 'J_1BDYSTX-BASE(' v_cont ')'   INTO v_campo_base.

...

 

...

      CONCATENATE 'J_1BDYSTX-TAXVAL(' v_cont ')' INTO v_campo_taxval.

      CONCATENATE 'J_1BDYSTX-EXCBAS(' v_cont ')' INTO v_campo_excbas.

      CONCATENATE 'J_1BDYSTX-OTHBAS(' v_cont ')' INTO v_campo_othbas.

      PERFORM bdc_campo  USING:

             v_campo_taxtyp    t_itens-taxtyp_cof,

             v_campo_base      v_base_cof,

             v_campo_rate      v_aliqcof,

             v_campo_taxval    v_taxval_cof,

             v_campo_excbas    v_cofexcbas,

             v_campo_othbas    v_othbas_cof.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_J1B1N

     ADD 1 TO v_cont.

     CONCATENATE 'J_1BDYSTX-TAXTYP(' v_cont ')' INTO v_campo_taxtyp.

     CONCATENATE 'J_1BDYSTX-BASE(' v_cont ')'   INTO v_campo_base.

     CONCATENATE 'J_1BDYSTX-RATE(' v_cont ')'   INTO v_campo_rate.

     CONCATENATE 'J_1BDYSTX-TAXVAL(' v_cont ')' INTO v_campo_taxval.

     CONCATENATE 'J_1BDYSTX-EXCBAS(' v_cont ')' INTO v_campo_excbas.

     CONCATENATE 'J_1BDYSTX-OTHBAS(' v_cont ')' INTO v_campo_othbas.

     PERFORM bdc_campo  USING:

            v_campo_taxtyp    t_itens-taxtyp_cofq,

            v_campo_base      v_base_cofq,

            v_campo_rate      v_aliqcofq,

            v_campo_taxval    v_taxval_cofq,

            v_campo_excbas    v_cofqexcbas,

            v_campo_othbas    v_othbas_cofq.

* << Fim da inclusão

      IF NOT t_itens-taxval_st IS INITIAL.

        ADD 1 TO v_cont.

        CONCATENATE 'J_1BDYSTX-TAXTYP(' v_cont ')' INTO v_campo_taxtyp.

        CONCATENATE 'J_1BDYSTX-BASE(' v_cont ')'   INTO v_campo_base.

        CONCATENATE 'J_1BDYSTX-RATE(' v_cont ')'   INTO v_campo_rate.

        CONCATENATE 'J_1BDYSTX-TAXVAL(' v_cont ')' INTO v_campo_taxval.

        CONCATENATE 'J_1BDYSTX-EXCBAS(' v_cont ')' INTO v_campo_excbas.

        CONCATENATE 'J_1BDYSTX-OTHBAS(' v_cont ')' INTO v_campo_othbas.

        PERFORM bdc_campo  USING:

               v_campo_taxtyp    t_itens-taxtyp_st,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

  v_tiponf = 'NF'.

  SELECT * FROM /pws/zycit398

   INTO TABLE itab_zycit398

    WHERE bukrs EQ /pws/zycie041-bukrs

      AND clnf  EQ itab_zycit033-clnf

      AND tpnf  EQ itab_zycit033-tpnf

      AND ( tributos EQ 'PIS' OR

            tributos EQ 'COFINS' OR

            tributos EQ 'II' OR

            tributos EQ 'ICMSST' ).

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

  SELECT * FROM /pws/zycit398

  APPENDING TABLE itab_zycit398

      WHERE bukrs EQ /pws/zycie041-bukrs

       AND clnf  EQ itab_zycit033-clnf

       AND tpnf  EQ itab_zycit033-tpnf

       AND ( tributos EQ 'COFIN1' ).

* << Fim da inclusão

  IF /pws/zycie001-modalidade EQ '05' AND

     /pws/zycie001-tpdecl EQ 'DI' AND NOT

     itab_zycit480[] IS INITIAL.

    v_fundap = 'X' .

  ELSE.

    CLEAR v_fundap.

  ENDIF.

  it_zycee007-tcode    = text-065.

  it_zycee007-tabela   = text-014.

  it_zycee007-cpochv   = /pws/zycie041-nfglobal.

...

 

...

      v_montante1 = itab_zycit100-basepis.

      it_zycee007-othbas_pis = v_montante1.

  ENDCASE.

  READ TABLE itab_zycit398 WITH KEY tributos = 'COFINS'.

  IF sy-subrc EQ 0.

    it_zycee007-leicofins = itab_zycit398-leicofins.

    it_zycee007-taxtyp_cof = itab_zycit398-taxtyp.

  ELSE.

    CLEAR it_zycee007-taxtyp_cof.

  ENDIF.

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

 CLEAR v_quebracof.

 PERFORM quebra_cofins.

 IF v_quebracof NE 'X' .

* << Fim da inclusão

  IF NOT itab_zycit100-vlcofins IS INITIAL.

    CLEAR itab_zycit036.

    READ TABLE itab_zycit036 WITH KEY nrseq  = itab_zycit042-nrseq

                                      ebeln  = itab_zycit042-ebeln

                                      ebelp  = itab_zycit042-ebelp

                                      codigo = 'COFINS'.

    it_zycee007-taxval_cof = itab_zycit036-vlreal.

  ELSE .

    CLEAR it_zycee007-taxval_cof .

  ENDIF.

...

 

...

    WHEN 2.

      PERFORM verifica_montante.

      v_montante1 = itab_zycit100-basecofins.

      it_zycee007-cof_excbas = v_montante1.

      CLEAR it_zycee007-taxval_cof.

    WHEN 3.

      PERFORM verifica_montante.

      v_montante1 = itab_zycit100-basecofins.

      it_zycee007-othbas_cof = v_montante1.

  ENDCASE.

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

  ENDIF.

* << Fim da inclusão

  READ TABLE itab_zycit398 WITH KEY tributos = 'ICMSST'.

  IF sy-subrc EQ 0.

    IF NOT itab_zycit100-vlcofins IS INITIAL.

      CLEAR itab_zycit036.

      READ TABLE itab_zycit036 WITH KEY nrseq  = itab_zycit042-nrseq

                                        ebeln  = itab_zycit042-ebeln

                                        ebelp  = itab_zycit042-ebelp

                                        codigo = 'ICMSST'.

      it_zycee007-taxval_st = itab_zycit036-vlreal.

    ELSE .

...

 

...

 

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

  DATA:  v_acrescimo TYPE /pws/zycit406-acrescimo.

* << Fim da exclusão

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F02

 

...

 

* >> Início da inclusão:

FORM quebra_cofins.

  DATA: itab_zycit405 TYPE /pws/zycit405 OCCURS 0 WITH HEADER LINE,

        itab_zycit406 TYPE /pws/zycit406 OCCURS 0 WITH HEADER LINE.

  CLEAR : itab_zycit405, itab_zycit406.

  REFRESH : itab_zycit405, itab_zycit406.

  IF /pws/zycie085-dttax IS INITIAL.

    SELECT SINGLE dttax FROM /pws/zycit085

    INTO /pws/zycie085-dttax

    WHERE nrseqdi EQ itab_zycit100-nrseqdi.

  ENDIF.

  CALL METHOD /pws/cl_zyci_cred_parcial=>trata_cofins

    EXPORTING

                vigencia  = /pws/zycie085-dttax

                regime    = /pws/zycie001-regime

                matnr     = itab_zycit003-matnr

                ncm       = itab_zycit003-j_1bnbm

    RECEIVING

      acrescimo = v_acrescimo.

  CHECK NOT v_acrescimo IS INITIAL.

  SELECT * FROM /pws/zycit406

   INTO TABLE itab_zycit406

    WHERE pais EQ t001-land1

    AND tributos EQ 'COFINS'

    AND regime EQ /pws/zycie001-regime.

  SELECT * FROM /pws/zycit405

   INTO TABLE itab_zycit405

    WHERE pais EQ t001-land1

    AND tributos EQ 'COFINS'

    AND regime EQ /pws/zycie001-regime.

  READ TABLE itab_zycit406

                  WITH KEY matnr    = itab_zycit003-matnr

                           regime   = /pws/zycie001-regime

                           tributos = 'COFINS'.

  IF sy-subrc EQ 0.

    it_zycee007-rate_cof = itab_zycit406-aliquotas -

           itab_zycit406-acrescimo.

    it_zycee007-rate_cofq = itab_zycit406-acrescimo.

    v_quebracof = 'X' .

  ELSE.

    READ TABLE itab_zycit405

          WITH KEY ncm      = itab_zycit003-j_1bnbm

                   regime   = /pws/zycie001-regime

                              tributos = 'COFINS'.

    IF sy-subrc EQ 0.

      it_zycee007-rate_cof = itab_zycit405-aliquotas -

             itab_zycit405-acrescimo.

      v_quebracof = 'X' .

      it_zycee007-rate_cofq =  itab_zycit405-acrescimo.

    ENDIF.

  ENDIF.

  IF v_quebracof = 'X' .

    IF NOT itab_zycit100-vlcofins IS INITIAL.

      CLEAR itab_zycit036.

      READ TABLE itab_zycit036 WITH KEY nrseq  = itab_zycit042-nrseq

                                        ebeln  = itab_zycit042-ebeln

                                        ebelp  = itab_zycit042-ebelp

                                        codigo = 'COFINS'.

      it_zycee007-taxval_cof = itab_zycit100-basecofins *

      ( it_zycee007-rate_cof / 100 ).

      it_zycee007-taxval_cofq = itab_zycit100-basecofins *

      ( it_zycee007-rate_cofq / 100 ).

    ELSE .

      CLEAR: it_zycee007-taxval_cof ,

      it_zycee007-taxval_cofq .

    ENDIF.

    CASE itab_zycit398-tribpiscof.

      WHEN 1.

        PERFORM verifica_montante.

        v_montante1 = itab_zycit100-basecofins.

        it_zycee007-base_cof =   v_montante1.

      WHEN 2.

        PERFORM verifica_montante.

        v_montante1 = itab_zycit100-basecofins.

        it_zycee007-cof_excbas = v_montante1.

        CLEAR : it_zycee007-taxval_cof.

      WHEN 3.

        PERFORM verifica_montante.

        v_montante1 = itab_zycit100-basecofins.

        it_zycee007-othbas_cof =   v_montante1.

    ENDCASE.

    READ TABLE itab_zycit398 WITH KEY tributos = 'COFIN1'.

    IF sy-subrc EQ 0.

      it_zycee007-leicofinsq = itab_zycit398-leicofins.

      it_zycee007-taxtyp_cofq = itab_zycit398-taxtyp.

    ELSE.

      CLEAR it_zycee007-taxtyp_cofq.

    ENDIF.

    CASE itab_zycit398-tribpiscof.

      WHEN 1.

        PERFORM verifica_montante.

        v_montante1 = itab_zycit100-basecofins.

        it_zycee007-base_cofq =   v_montante1.

      WHEN 2.

        PERFORM verifica_montante.

        v_montante1 = itab_zycit100-basecofins.

        it_zycee007-cofq_excbas = v_montante1.

        CLEAR :  it_zycee007-taxval_cofq.

      WHEN 3.

        PERFORM verifica_montante.

        v_montante1 = itab_zycit100-basecofins.

        it_zycee007-othbas_cofq = v_montante1.

    ENDCASE.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI016X01

 

...

 

* >> Início da inclusão:

DATA: v_quebracof ,

      v_acrescimo TYPE /pws/zycit406-acrescimo.

* << Fim da inclusão

DATA: END OF COMMON PART a.