Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | rep/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:
Procedure | Objetivo | Parâmetros de Entrada | Parâmetros de Retorno | Pré-requisito |
---|---|---|---|---|
setTipoNota | Setar o tipo de nota. | Fixo 1-NF Entrada | ||
setCodEstabel | Setar o código do estabelecimento da nota. | Código do estabelecimento | ||
setCodNatOperacao | Setar a natureza de operação do item da nota. | Código da natureza de operação | ||
setNcm | Setar a NCM (classificação fiscal) do item da nota. | Código da classificação fiscal | ||
setItCodigo | Setar o código do item da nota. | Código do item da nota | ||
setCodGrupEmit | Setar o grupo do fornecedor da nota. | Código do grupo do fornecedor | ||
setCodEmitente | Setar o código do fornecedor da nota. | Código do fornecedor | ||
setDtEmissao | Setar a data de emissão da nota. | Data de emissão da nota | ||
posicionarRegistros | Posicionar nas tabelas necessárias para a sugestão dos CSTs. | ROWID da tabela item-doc-est | ||
calcCSTCD0303 | Buscar 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. | ||
calcCSTICMS | Calcular 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. | ||
calcCSTIPI | Calcular 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. | |
calcCSTPIS | Calcular 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. | |
calcCSTCOFINS | Calcular 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. | |
getAliqPISCOFINSItDoc | Retornar as alíquotas de PIS e da COFINS do item da nota. | ROWID da tabela item-doc-est | Alíquota PIS e Alíquota COFINS | |
getCodOrigemItem | Retornar a origem do item da nota. | Origem | Executar a procedure calcCSTICMS. | |
getCodSitTribICMS | Retornar o CST do ICMS, seja da combinação da parametrização ou do CD0303. | CST ICMS | Executar a procedure calcCSTICMS. | |
getCodSitTribIPI | Retornar o CST do IPI, seja da combinação da parametrização ou do CD0303. | CST IPI | Executar a procedure calcCSTCD0303 e/ou calcCSTICMS. | |
getCodSitTribPIS | Retornar o CST do PIS, seja da combinação da parametrização ou do CD0303. | CST PIS | Executar a procedure calcCSTCD0303 e/ou calcCSTICMS. | |
getCodSitTribCOFINS | Retornar o CST do COFINS, seja da combinação da parametrização ou do CD0303. | CST COFINS | Executar 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.