Objetivo

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

Pré-Requisitos e Restrições

Comece por aqui -> Parametrizações WTA

Como realizar o cadastro de tributos no Winthor?

Integração


A integração consiste em enviar os dados de cadastro 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 exceções de tributações onde sejam de Consumidor Final 
  • Enviar apenas 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


Os dados integrados são: 

EXCEÇÕES NCM        |  PCTRIBUTACAO_FILTRO_NCM

API

Referência Winthor

codigoTributacao

pctributacao_filtro_ncm.codigo_tributacao

ncm

pctributacao_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)

Exemplo do envio da requisição:

method: 'GET',
url: '/winthor/tributacao/v0/saida/tributacao/excecao/consultar/pdvsync'
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)
taxId            : 1                   - Código da tributação (opcional)     
productId        : 1                   - Código do Produto (opcional)     
ncmId            : 123456              - Código do NCM (opcional)     
exceptionType    : N ou P              - Tipo de Exceção - N-NCM ou P-Produto (OBRIGATÓRIO)
branchId         : 1,2 ou 99           - Lista de códigos de filiais (OBRIGATÓRIO)

Exemplo JSON da resposta Restrição NCM

{
    "first": false,
    "items": [
        {
            "codigoTributacao": 2,
            "ncm": "30049079",
            "ativo": true,
            "dataUltimaAlteracao": "2025-07-21T15:35:35",
            "tiposDetalheImposto": [
                "IBSUF",
                "IBSM",
                "CBS"
            ]
        }
    ],
    "hasNext": false
}

Exemplo JSON da resposta Restrição Produto

{
    "first": false,
    "items": [
        {
            "codigoTributacao": 2,
            "codigoProduto": 75110,
            "embalagem": "7891045008396",
            "ativo": true,
            "dataUltimaAlteracao": "2025-07-21T15:35:47",
            "tiposDetalheImposto": [
                "IBSUF",
                "IBSM",
                "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 o Sistema que recebe os dados da Integração