Árvore de páginas

Documento de API

Produto:

Datasul

Ocorrência:

Documentação de API

Nome Físicorep/reapi414.p


Objetivo

A API tem como objetivo realizar a 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.