Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

...

A API tem como objetivo realizar a geração de um documento no conversor de NF-e (notas fiscais eletrônicas) e se parametrizado, também realizar a efetivação deste documento no recebimento físico ou fiscal.

Funcionamento

A API REP/REAPI320.P recebe como parâmetro um valor lógico para indicar se deve processar a nota para o recebimento, as temp-tables que contem as informações no XML da NF-e e retorna uma temp-table com os erros ocorridos durante esse processo.

O primeiro parâmetro deve conter o valor “NO” quando a nota fiscal deve ser criada no Conversor de NF-e, porém não deve ser efetivado no recebimento. Neste caso a nota ficará como em “Em validação”. Se informado o valor “YES”, a nota será criada no recebimento e a API tentará efetivá-la no recebimento físico ou fiscal (conforme regras estabelecidas para a recepção de NF-e)

Na forma padrão, realiza-se a chamada através de um comando RUN normal, passando-se os parâmetros necessários.

A sintaxe para a chamada da API é:

                           

 RUN rep/reapi320.p (INPUT < YES/NO >, /* YES – Processar o document para o recebimento*/

                     INPUT TABLE tt-doc-orig-nfe,

                     INPUT TABLE tt-doc-orig-duplic-nfe,

                     INPUT TABLE tt-doc-orig-lacre-nfe,

                     INPUT TABLE tt-doc-orig-refer-nfe,

                     INPUT TABLE tt-doc-orig-proc-ref-nfe,

                     INPUT TABLE tt-doc-orig-volume-nfe,

                     INPUT TABLE tt-item-doc-orig-nfe,

                     INPUT TABLE tt-item-doc-orig-adic-nfe,

                     INPUT TABLE tt-item-doc-orig-arma-nfe,

                     INPUT TABLE tt-item-doc-orig-di-nfe,

                     INPUT TABLE tt-item-doc-orig-med-nfe,

                     INPUT TABLE tt-doc-orig-for-dia-cana,

                     INPUT TABLE tt-doc-orig-deduc-cana,

                     INPUT-OUTPUT TABLE tt-erro).

...

sugestão dos CST (Código de Situação Tributária) para os tributos IPI (Imposto Sobre Produto Industrialização), PIS (Programa Integração Social) e COFINS (Contribuição para o Financiamento da Seguridade Social) na entrada de notas fiscais no recebimento.

Ressaltamos que essa funcionalidade está disponível a partir da release 12.1.27 do sistema Datasul.


Funcionamento

A API pode ser executada de várias formas dependendo da necessidade. Por exemplo, se houver a necessidade de se sugerir apenas o CST de um dos tributos, é possível.


Abaixo colocamos a sintaxe para a chamada das procedures da REAPI414, para sugerir o CST de todos os tributos:


RUN rep\reapi414.p PERSISTENT SET h-reapi414.

RUN setTipoNota IN h-reapi414 (INPUT 1). 
RUN setCodEstabel IN h-reapi414 (INPUT docum-est.cod-estabel).
RUN setCodNatOperacao IN h-reapi414 (INPUT IF item-doc-est.nat-of <> "" THEN item-doc-est.nat-of ELSE item-doc-est.nat-operacao).
RUN setNcm IN h-reapi414 (INPUT item-doc-est.class-fiscal).
RUN setItCodigo IN h-reapi414 (INPUT item-doc-est.it-codigo).
RUN setCodGrupEmit IN h-reapi414 (INPUT emitente.cod-gr-forn).
RUN setCodEmitente IN h-reapi414 (INPUT item-doc-est.cod-emitente).
RUN setDtEmissao IN h-reapi414 (INPUT docum-est.dt-emissao).

RUN calcCSTCD0303 IN h-reapi414.

RUN posicionarRegistros IN h-reapi414 (INPUT ROWID(item-doc-est)).

RUN calcCSTICMS IN h-reapi414.

RUN getCodOrigemItem IN h-reapi414 (OUTPUT c-cod-origem-item).
RUN getCodSitTribICMS IN h-reapi414 (OUTPUT c-cod-sit-tribut-icms).

RUN calcCSTIPI IN h-reapi414 (INPUT item-doc-est.cd-trib-ipi, INPUT item-doc-est.aliquota-ipi).

RUN getCodSitTribIPI IN h-reapi414 (OUTPUT c-cod-sit-tribut-ipi).

RUN getAliqPISCOFINSItDoc IN h-reapi414 (INPUT ROWID(item-doc-est), OUTPUT de-aliq-pis, OUTPUT de-aliq-cofins).
RUN calcCSTPIS IN h-reapi414 (INPUT item-doc-est.idi-tributac-pis, INPUT de-aliq-pis).
RUN calcCSTCOFINS IN h-reapi414 (INPUT item-doc-est.idi-tributac-cofins, INPUT de-aliq-cofins).
RUN getCodSitTribPIS IN h-reapi414 (OUTPUT c-cod-sit-tribut-pis).
RUN getCodSitTribCOFINS IN h-reapi414 (OUTPUT c-cod-sit-tribut-cofins).

DELETE PROCEDURE h-reapi414.


A seguir iremos detalhar a funcionalidade de cada procedure:

ProcedureObjetivoParâmetros de EntradaParâmetros de RetornoPré-requisito
setTipoNotaSetar o tipo de nota.Fixo 1-NF Entrada

setCodEstabelSetar o código do estabelecimento da nota.Código do estabelecimento

setCodNatOperacaoSetar a natureza de operação do item da nota.Código da natureza de operação

setNcmSetar a NCM (classificação fiscal) do item da nota.Código da classificação fiscal

setItCodigoSetar o código do item da nota.Código do item da nota

setCodGrupEmitSetar o grupo do fornecedor da nota.Código do grupo do fornecedor

setCodEmitenteSetar o código do fornecedor da nota.Código do fornecedor

setDtEmissaoSetar a data de emissão da nota.Data de emissão da nota

posicionarRegistrosPosicionar nas tabelas necessárias para a sugestão dos CSTs.ROWID da tabela item-doc-est

calcCSTCD0303Buscar a parametrização do CD0303 (Manutenção Relacionamento CST), caso a mesma exista.

Executar as procedures setTipoNota, setCodEstabel, setCodNatOperacao, setNcm, setItCodigo, setCodGrupEmit, setCodEmitente e setDtEmissao.

calcCSTICMSCalcular o CST do ICMS conforme a combinação da parametrização da natureza de operação e do item da nota.

Executar a procedure posicionarRegistros.
calcCSTIPICalcular o CST do IPI conforme a combinação da parametrização da natureza de operação e do item da nota. Caso, não tenha encontrado relacionamentos no CD0303.Código de tributação IPI,  Alíquota IPI
Executar a procedure posicionarRegistros.
calcCSTPISCalcular o CST do PIS conforme a combinação da parametrização da natureza de operação e do item da nota. Caso, não tenha encontrado relacionamentos no CD0303.Código de tributação PIS, Alíquota PIS
Executar a procedure posicionarRegistros.
calcCSTCOFINSCalcular o CST do COFINS conforme a combinação da parametrização da natureza de operação e do item da nota. Caso, não tenha encontrado relacionamentos no CD0303. Código de tributação COFINS, Alíquota  COFINS
Executar a procedure posicionarRegistros.
getAliqPISCOFINSItDocRetornar as alíquotas de PIS e da COFINS do item da nota.ROWID da tabela item-doc-estAlíquota PIS e Alíquota COFINS
getCodOrigemItemRetornar a origem do item da nota.
OrigemExecutar a procedure calcCSTICMS.
getCodSitTribICMSRetornar o CST do ICMS, seja da combinação da parametrização ou do CD0303.
CST ICMSExecutar a procedure calcCSTICMS.
getCodSitTribIPIRetornar o CST do IPI, seja da combinação da parametrização ou do CD0303.
CST IPIExecutar a procedure calcCSTCD0303 e/ou calcCSTICMS.
getCodSitTribPISRetornar o CST do PIS, seja da combinação da parametrização ou do CD0303.
CST PISExecutar a procedure calcCSTCD0303 e/ou calcCSTICMS.
getCodSitTribCOFINSRetornar o CST do COFINS, seja da combinação da parametrização ou do CD0303.
CST COFINSExecutar a procedure calcCSTCD0303 e/ou calcCSTICMS.


Caso queira mais detalhes sobre as regras de negócio aplicadas pelo produto padrão para a sugestão do CST pela combinação da parametrização da natureza de operação e do item, e ou sobre a forma de busca do CST definido no CD0303, sugerimos consultar a documentação da Geração do CST para IPI, PIS e COFINS

 

Tabelas Temporárias

Definição das tabelas temporárias de entrada e saída:

DEF TEMP-TABLE tt-doc-orig-nfe                 LIKE doc-orig-nfe.

DEF TEMP-TABLE tt-doc-orig-duplic-nfe      LIKE doc-orig-duplic-nfe.

DEF TEMP-TABLE tt-doc-orig-lacre-nfe        LIKE doc-orig-lacre-nfe.

DEF TEMP-TABLE tt-doc-orig-refer-nfe         LIKE doc-orig-refer-nfe.

DEF TEMP-TABLE tt-doc-orig-proc-ref-nfe    LIKE doc-orig-proc-ref-nfe.

DEF TEMP-TABLE tt-doc-orig-volume-nfe     LIKE doc-orig-volume-nfe.

DEF TEMP-TABLE tt-item-doc-orig-nfe          LIKE item-doc-orig-nfe.

DEF TEMP-TABLE tt-item-doc-orig-adic-nfe  LIKE item-doc-orig-adic-nfe.

DEF TEMP-TABLE tt-item-doc-orig-arma-nfe LIKE item-doc-orig-arma-nfe.

DEF TEMP-TABLE tt-item-doc-orig-di-nfe      LIKE item-doc-orig-di-nfe.

DEF TEMP-TABLE tt-item-doc-orig-med-nfe  LIKE item-doc-orig-med-nfe.

DEF TEMP-TABLE tt-doc-orig-for-dia-cana    LIKE doc-orig-for-dia-cana.

DEF TEMP-TABLE tt-doc-orig-deduc-cana    LIKE doc-orig-deduc-cana.

DEF TEMP-TABLE tt-erro NO-UNDO

    FIELD identif-segment AS CHAR

    FIELD cd-erro         AS INTEGER

    FIELD desc-erro       AS CHAR FORMAT "x(80)".