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

Versões comparadas

Chave

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

...

Comece por aqui -> Parametrizações WTA

  • Para realizar o cadastro dos tributos no WinThor, acesse o link abaixo:

Como realizar o cadastro de tributos no Winthor?

Integração


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 tributos, observando os seguintes critérios:

  • Enviar apenas tributações onde o Tipo de Operação seja apenas de Saída(S) ou Ambos(A)
  • Enviar apenas as tributações onde sejam de Consumidor Final 
  • Enviar apenas as tributações onde Contribuinte sejam igual a Não
  • Não enviar tributações de Devolução
  • Não enviar 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                                                |         PCTIBUTACAO

API

Referência Winthor

codigoTributacao

pctributacao.codigo_tributacao

descricaoTributacao

pctributacao.descricao_tributacao

tipoImposto

pctributacao.tipo_imposto

localConsumo

pctributacao.local_consumo_geral ou pctributacao.local_consumo_municipio (conforme pctributacao.tipo_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

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

dataUltimaAlteracao

Maior data entre:

pctributacao.dtcriacao

pctributacao.dtultalter

pctributacao.dtinativacao

pctributacao.dtexclusao

tipoLocalConsumo

pctributacao.tipo_local_consumo

localConsumoGeral

pctributacao.local_consumo_geral

localConsumoMunicipio

pctributacao.local_consumo_municipio

impostos.[*].tipoDetalheImposto

"CBS", "IBSUF", "IBSM",  ou "IS"

impostos.[*].percentualAliquota

pctributacao.perc_cbs ou pctributacao.perc_ibs_uf ou pctributacao.perc_ibs_mun ou pctributacao.perc_is

impostos.[*].percentualReducaoAliquota

pctributacao.perc_red_cbs ou pctributacao.perc_red_ibs_uf ou pctributacao.perc_red_ibs_mun

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/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)
startDate        : 1900-01-01T00:00:00 - Data de inicio da vigência (opcional)
endDate          : 1900-01-01T00:00:00 - Data de fim da vigência (opcional)
branchId         : 1,2                 - Lista de códiigos de filiais (OBRIGATÓRIO)
placeConsumption : BR,GO               - Lista de locais de consumo - BR, UF ou código de cidade IBGE (opcional)
branchId         : 1,2                 - Lista de códigos de filiais (OBRIGATÓRIO)
cst              : 30,40               - Lista de CST (opcional)
cclasstrib       : 01,02               - Lista de classificações tributárias (opcional)
taxId            : 1,2                 - Lista de códigos de tributação (opcional)     
taxType          : CBSIBS,IS           - Lista de tipos de tributos (OBRIGATÓRIO, somente aceitos os três tipos CBS, IBS e IS)
Totvs custom tabs box items
defaultno
referenciapasso3

Exemplo JSON da resposta:  

Bloco de código
languagejs
titleBody Response
{
    "first": false,
    "items": [
        {
            "codigoTributacao": 2,
            "descricaoTributacao": "CBS BR TO-AM DV-N CS-N CN-N ***",
            "tipoImposto": "CBSIBS",
            "localConsumo": "GO",
            "tipoOperacao": "A",
            "devolucao": false,
            "tipoEmpresa": "EPP",
            "tipoPessoa": "J",
            "contribuinte": false,
            "orgaoPublico": false,
            "cst": "00",
            "classificacaoTributaria": "01",
            "origemMercadoria": "1",
            "tipoMercadoria": "L",
            "dataInicioVigencia": "2025-06-01T00:00:00",
            "dataFimVigencia": "2025-12-31T00:00:00",
            "ativo": true,
            "dataUltimaAlteracao": "2025-07-24T13:43:05",
            "tipoLocalConsumo": "G",
            "localConsumoGeral": "GO",
            "impostos": [
                {
                    "tipoDetalheImposto": "IBSUF",
                    "percentualAliquota": 20,
                    "percentualReducaoAliquota": 21
                },
                {
                    "tipoDetalheImposto": "IBSM",
                    "percentualAliquota": 22,
                    "percentualReducaoAliquota": 23
                },
                {
                    "tipoDetalheImposto": "CBS",
                    "percentualAliquota": 10,
                    "percentualReducaoAliquota": 11
                }
            ]
        }
    ],
    "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