Páginas filhas
  • APIs Integrações - Tributação - Exceções NCM e Produto - CBS / IBS / IS

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Este documento tem como objetivo explicar o funcionamento da integração dos das Exceções por NCM e Produto do cadastros de tributos da reforma tributária.

...

Comece por aqui -> Parametrizações WTA

  • Para realizar o cadastro das exceções por NCM e Produto dos tributos no WinThor, acesse o link abaixo:

...

Maior data entre:

pctributacao.dtcriacao

pctributacao.dtultalter

pctributacao.dtinativacao

pctributacao.dtexclusao
Totvs custom tabs box
tabsDados integrados com Winthor, Envio Parâmetros, Resposta da Requisição, Passo 04
idspasso1,passo2,passo3

A integração consiste em enviar os dados de cadastro dos tribututos, observando os seguintes critérios:das exceções por NCM e Produto dos tributos.

Para garantir a integridade referencial com o cadastro pai - cadastro do tributo, são mantidas as mesmas restrições: 

  • Enviar apenas exceções de tributações onde o Tipo de Operação seja apenas de Saída(S) ou Ambos(A)
  • Enviar apenas as exceções de tributações onde sejam de Consumidor Final 
  • Enviar apenas as exceções de tributações onde Contribuinte sejam igual a Não
  • Não enviar exceções de tributações de Devolução
  • Não enviar exceções de tributações onde não haja Classificação Tributária ou CST Imposto


Totvs custom tabs box items
defaultyes
referenciapasso1

Os dados integrados são: 

TRIBUTOS     

EXCEÇÕES NCM       

     

       PCTIBUTACAO

PCTRIBUTACAO_FILTRO_NCM

API

Referência Winthor

codigoTributacao

pctributacao_filtro_ncm.codigo_tributacao

descricaoTributacao

ncm

pctributacao
.descricao_tributacao

tipoImposto

pctributacao.tipo_imposto

localConsumo

pctributacao.local_consumo

tipoOperacao

pctributacao.tipo_operacao

devolucao

pctributacao.devolucao

tipoEmpresa

pctributacao.tipo_empresa

contribuinte

pctributacao.contribuinte

orgaoPublico

pctributacao.orgao_publico

cst

pctributacao.cst

classificacaoTributaria

pctributacao.cclasstrib

valorAliquota

pctributacao.valor_aliquota

origemMercadoria

pctributacao.origem_mercadoria

tipoMercadoria

pctributacao.tipo_merc

dataInicioVigencia

pctributacao.dtinicio_vigencia

dataFimVigencia

pctributacao.dtfim_vigencia

ativo

Se campo pctributacao.dtinativacao estiver preenchido

igual a false,

senão true

_filtro_ncm.ncm

ativo

ncm.dtinativacao is null

dataUltimaAlteracao

greatest(nvl(pctributacao_filtro_ncm.dtcriacao,
                    to_date('01/01/1900 00:00:00', 'dd/mm/yyyy hh24:mi:ss')),
                nvl(pctributacao_filtro_ncm.dtultalter,
                    to_date('01/01/1900 00:00:00', 'dd/mm/yyyy hh24:mi:ss')),
                nvl(pctributacao_filtro_ncm.dtinativacao,
                    to_date('01/01/1900 00:00:00', 'dd/mm/yyyy hh24:mi:ss')),
                to_date('01/01/1900 00:00:00', 'dd/mm/yyyy hh24:mi:ss'))

tiposDetalheImposto

["IBSUF", "IBSM", "CBS" ou "IS"] (lista de valores baseados nos impostos cadastrados na pctributacao)

EXCEÇÕES PRODUTO |  PCTRIBUTACAO_FILTRO_PRODUTO

API

Referência Winthor

codigoTributacao

pctributacao_filtro_produto.codigo_tributacao

codigoProduto

pctributacao_filtro_produto.codprod

embalagem

pcprodut.codauxiliar (onde pcprodut.codprod = pctributacao_filtro_produto.codprod)

ativo

ncm.dtinativacao is null

dataUltimaAlteracao

greatest(nvl(pctributacao_filtro_ncm.dtcriacao,
                    to_date('01/01/1900 00:00:00', 'dd/mm/yyyy hh24:mi:ss')),
                nvl(pctributacao_filtro_ncm.dtultalter,
                    to_date('01/01/1900 00:00:00', 'dd/mm/yyyy hh24:mi:ss')),
                nvl(pctributacao_filtro_ncm.dtinativacao,
                    to_date('01/01/1900 00:00:00', 'dd/mm/yyyy hh24:mi:ss')),
                to_date('01/01/1900 00:00:00', 'dd/mm/yyyy hh24:mi:ss'))

tiposDetalheImposto

["IBSUF", "IBSM", "CBS" ou "IS"] (lista de valores baseados nos impostos cadastrados na pctributacao)

dataUltimaAlteracao

Totvs custom tabs box items
defaultno
referenciapasso2

Exemplo do envio da requisição:

Bloco de código
languagejs
titleURI
method:  'GET',
url:  '/winthor/tributacao/v0/saida/tributacao/excecao/consultar/pdvsync'
Bloco de código
languagejs
titleParams
page		     : 1                   - número da página (opcional, default 1)
pageSize	     : 10                  - quantidade por página (opcional, default 10)
createdDate      : 1900-01-01T00:00:00 - data da criação (opcional)
lastChange       : 1900-01-01T00:00:00 - data da última alteração (opcional)
active           : true                - Ativos = true ; Inativos = false (opcional)
startDatetaxId           :  1900-01-01T00:00:00 -1 Data de inicio da vigência (opcional)
endDate          : 1900-01-01T00:00:00 - Data de- fimCódigo da vigênciatributação (opcional)
branchId      
productId    :  1,2                 - Lista de códiigos de filiais (OBRIGATÓRIO)
placeConsumption : BR,GO  : 1               - Lista de locais de consumo - BR,Código UF ou código de cidade IBGE do Produto (opcional)
branchId         : 1,2                 - Lista de códigos de filiais (OBRIGATÓRIO)
cst  
ncmId              : 30,40 123456              - ListaCódigo dedo CSTNCM (opcional)
cclasstrib       : 01,02               - Lista de classificações tributárias (opcional)
taxIdexceptionType    : N  ou    P : 1,2            - Tipo de Exceção - N-NCM Listaou de códigos de tributação (opcional)P-Produto (OBRIGATÓRIO)
branchId      
taxType    : 1,2 ou 99   : CBS,IBS,IS          - Lista de tiposcódigos de tributosfiliais (OBRIGATÓRIO, somente aceitos os três tipos CBS, IBS e IS)
Totvs custom tabs box items
defaultno
referenciapasso3

Exemplo JSON da resposta :   Restrição NCM

Bloco de código
languagejs
titleBody Response
{
    "first": false,
    "items": [
        {
            "codigoTributacao": 12,
            "descricaoTributacaoncm": "CBS EXEMPLO30049079",
            "tipoImpostoativo": "CBS"true,
            "localConsumodataUltimaAlteracao": "BR2025-07-21T15:35:35",
            "tipoOperacaotiposDetalheImposto": "A[
                "IBSUF",
                "devolucaoIBSM": false,
            "tipoEmpresa":    "JCBS",
            "contribuinte": false,]
        }
    ],
    "hasNext": false
}

Exemplo JSON da resposta Restrição Produto

Bloco de código
languagejs
titleBody Response
{
    "orgaoPublicofirst": false,
    "items": [
       "cst": "00", {
            "classificacaoTributariacodigoTributacao": "02"2,
            "valorAliquotacodigoProduto": 1775110,
            "origemMercadoriaembalagem": "07891045008396",
            "tipoMercadoriaativo": "L"true,
            "dataInicioVigenciadataUltimaAlteracao": "2025-0607-01T0021T15:0035:0047",
            "dataFimVigenciatiposDetalheImposto": "2025-12-31T00:00:00",
 [
                "IBSUF",
                "ativoIBSM": false,
                "dataUltimaAlteracao": "2025-06-06T10:04:09"CBS"
            ]
        }
    ],
    "hasNext": false
} 

Para que seja realizada uma nova integração atualizando um registro já integrado, o sistema verifica a data de última atualização do registro. Portanto, ao realizar alguma alteração no registro, ele será encaminhado novamente para a view para manter a integridade dos dados do ERP com oSistema que recebe os dados da Integração