Manual do Tax Validator - Reforma Tributária
Manual contendo as últimas atualizações com os campos da Reforma Tributária.
- Introdução
- Acesso
- Autenticação
- Descrição dos campos de chamada e retorno
- Dados do Cenário
- Como gerar a regra tributária da Reforma Tributária?
Introdução
O objetivo dessa API é validar a tributação do documento emitido considerando a regra parametrizada no Cockpit ou via on demand, caso o cliente possua essa opção.
A validação além de ser feita nos tributos ICMS, ICMSST, IPI, PIS e COFINS, agora com a Reforma Tributária validará também os tributos IBS, CBS e IS.
As diferenças dos novos campos serão apontadas nas Tags, diferencas_IS, diferencas_IBSCBS e diferencas_IBSCBSMono.
As diferenças de valores serão apontadas nas Tags: valor_diferenca_VIBSuf, valor_diferenca_vIBSMun, valor_diferenca_vCBS e valor_diferenca_vIS.
Acesso
Para acessar a coleção de chamadas Clique Aqui.
Swagger: https://wscockpit.systax.com.br/apihomologacao/api/taxvalidator
Listagem dos Endpoints que contemplam o manual do Tax Validator.
|
Grupo Swagger |
Método |
URL Endpoint |
URL Token |
|
TaxValidator |
POST |
https://wscockpit.systax.com.br/apiHomologacao/api/TaxValidator |
https://app.systax.com.br/auth/access-token |
|
TaxValidator |
POST |
https://app.systax.com.br/auth/access-token |
Autenticação
A autenticação pode ser feita através do Token ou usuário e senha. O Token gerado deve ser enviado por autenticação “Bearer Token”.
Por usuário e senha, basta utilizar autenticação “Basic Auth”.
Importante: A autenticação “Basic Auth” deve ser feito com as credenciais do cockpit, enquanto a autenticação “Bearer Token” é com as credenciais de acesso ao site Systax.
Descrição dos campos de chamada e retorno
Chamada
Obs: O XML deve ser incluído inteiro na chamada, entre aspas simples.
Layout Request:
{
"documento": ''
}
Retorno
| Campo | Descrição |
| data_envio | Data da validação |
| Chave | chave de acesso do Documentos eletrônico |
| qtd_itens | quantos produtos existem no Documento |
| qtd_itens_validados | quantos produtos foram validados |
| Itens | quantos campos foram validados |
| Chave | chave de acesso do Documentos eletrônico |
| cnpj_emit | CNPJ do emitente do documento |
| cnpj_dest | CNPJ do destinatário do documento |
| nFe_dhEmi | Data da emissão da NF-e |
| entSai | Se é entrada ou saída (0 - Entrada / 1 - Saída) |
| ufOrig | UF de Origem |
| ufDest | UF de Destino |
| Mod | modelo do Documento eletrônico |
| indFinal | Indica se o destinatário é consumidor final ou não |
| crt_emit | Indica se o emitente é do Simples Nacional, RPA ou Simples com limite excedido. |
| mun_emit | Município emitente |
| mun_dest | Município destinatário |
| valor_item | valor do produto |
| Sn | Se identificamos o emitente como Simples Nacional (S - Sim / N - Não) |
| Ean | EAN do produto |
| Orig | Origem do produto |
| Ncm | NCM do produto |
| Extipi | Ex TIPI do produto |
| nat_op | Natureza de Operação definida na determinação de perfil |
| perfRem | Ex_Origem definido na determinação de perfil |
| perfDest | Ex_Destinação definido na determinação de perfil |
| xProd | Descrição do Produto |
| qTrib | quantidade do produto |
| cProd | código do produto |
| uCom | unidade comercial |
| qCom | quantidade comercial |
| vUnCom | valor unitário comercial |
| uTrib | unidade tributável |
| nfE_CFOP | CFOP da NF-e |
| taX_CFOP | CFOP Systax |
| nFe_CEST | CEST da nFe |
| tax_CEST | CEST da tax |
| diferencas_ICMS | tags com diferencas |
| nFe_ICMS_CST | ICMS_CST da nFe |
| tax_ICMS_CST | ICMS_CST da tax |
| nFe_ICMS_modBC | ICMS_modBC da nFe |
| tax_ICMS_modBC | ICMS_modBC da tax |
| nFe_ICMS_pDif | ICMS_pDif da nFe |
| tax_ICMS_pDif | ICMS_pDif da tax |
| nFe_ICMS_pICMS | ICMS_pICMS da nFe |
| tax_ICMS_pICMS | ICMS_pICMS da tax |
| nFe_ICMS_pICMSST | ICMS_pICMSST da nFe |
| tax_ICMS_pICMSST | ICMS_pICMSST da tax |
| nFe_ICMS_pMVAST | ICMS_pMVAST da nFe |
| tax_ICMS_pMVAST | ICMS_pMVAST da tax |
| nFe_ICMS_pRedBC | ICMS_pRedBC da nFe |
| tax_ICMS_pRedBC | ICMS_pRedBC da tax |
| nFe_ICMS_pRedBCST | ICMS_pRedBCST da nFe |
| tax_ICMS_pRedBCST | ICMS_pRedBCST da tax |
| nFe_ICMS_vBC | ICMS_vBC da nFe |
| tax_ICMS_vBC | ICMS_vBC da tax |
| nFe_ICMS_vBCST | ICMS_vBCST da nFe |
| tax_ICMS_vBCST | ICMS_vBCST da tax |
| nFe_ICMS_vICMS | ICMS_vICMS da nFe |
| tax_ICMS_vICMS | ICMS_vICMS da tax |
| nFe_ICMS_pFCP | ICMS_pFCP da nFe |
| tax_ICMS_pFCP | ICMS_pFCP da tax |
| nFe_ICMS_vBCFCP | ICMS_vBCFCP da nFe |
| tax_ICMS_vBCFCP | ICMS_vBCFCP da tax |
| nFe_ICMS_vFCP | ICMS_vFCP da nFe |
| tax_ICMS_vFCP | ICMS_vFCP da tax |
| valor_diferenca_ICMS | Valor da diferenças de ICMS |
| nFe_ICMS_vICMSDeson | ICMS_vICMSDeson da nFe |
| tax_ICMS_vICMSDeson | ICMS_vICMSDeson da tax |
| nFe_ICMS_vICMSDif | ICMS_vICMSDif da nFe |
| tax_ICMS_vICMSDif | ICMS_vICMSDif da tax |
| nFe_ICMS_vICMSOp | ICMS_vICMSOp da nFe |
| tax_ICMS_vICMSOp | ICMS_vICMSOp da tax |
| nFe_ICMS_vICMSST | ICMS_vICMSST da nFe |
| tax_ICMS_vICMSST | ICMS_vICMSST da tax |
| nFe_ICMS_pFCPST | ICMS_pFCPST da nFe |
| tax_ICMS_pFCPST | ICMS_pFCPST da tax |
| nFe_ICMS_vBCFCPST | ICMS_vBCFCPST da nFe |
| tax_ICMS_vBCFCPST | ICMS_vBCFCPST da tax |
| nFe_ICMS_vFCPST | ICMS_vFCPST da nFe |
| tax_ICMS_vFCPST | ICMS_vFCPST da tax |
| valor_diferenca_ICMS_ST | Valor da diferença de ICMSST |
| diferencas_PIS | tags com diferencas PIS |
| nfe_PIS_CST | PIS_CST da nfe |
| tax_PIS_CST | PIS_CST da tax |
| nfe_PIS_vBC | PIS_vBC da nfe |
| tax_PIS_vBC | PIS_vBC da tax |
| nfe_PIS_pPIS | PIS_pPIS da nfe |
| tax_PIS_pPIS | PIS_pPIS da tax |
| nfe_PIS_qBCProd | PIS_qBCProd da nfe |
| tax_PIS_qBCProd | PIS_qBCProd da tax |
| nfe_PIS_vAliqProd | PIS_vAliqProd da nfe |
| tax_PIS_vAliqProd | PIS_vAliqProd da tax |
| nfe_PIS_vPIS | PIS_vPIS da nfe |
| tax_PIS_vPIS | PIS_vPIS da tax |
| valor_diferenca_PIS | Valor da diferença de PIS |
| diferencas_COFINS | Tags com diferenças COFINS |
| nFe_COFINS_CST | COFINS_CST da nFe |
| tax_COFINS_CST | COFINS_CST da tax |
| nFe_COFINS_vBC | COFINS_vBC da nFe |
| tax_COFINS_vBC | COFINS_vBC da tax |
| nFe_COFINS_pCOFINS | COFINS_pCOFINS da nFe |
| tax_COFINS_pCOFINS | COFINS_pCOFINS da tax |
| nFe_COFINS_qBCProd | COFINS_qBCProd da nFe |
| tax_COFINS_qBCProd | COFINS_qBCProd da tax |
| nFe_COFINS_vAliqProd | COFINS_vAliqProd da nFe |
| tax_COFINS_vAliqProd | COFINS_vAliqProd da tax |
| nFe_COFINS_vCOFINS | COFINS_vCOFINS da nFe |
| tax_COFINS_vCOFINS | COFINS_vCOFINS da tax |
| valor_diferenca_COFINS | Valor da diferenças COFINS |
| diferencas_IPI | Tags com diferença IPI |
| nFe_IPI_CST | IPI_CST da nFe |
| tax_IPI_CST | IPI_CST da tax |
| nFe_IPI_cEnq | IPI_cEnq da nFe |
| tax_IPI_cEnq | IPI_cEnq da tax |
| nFe_IPI_vBC | IPI_vBC da nFe |
| tax_IPI_vBC | IPI_vBC da tax |
| nFe_IPI_pIPI | IPI_pIPI da nFe |
| tax_IPI_pIPI | IPI_pIPI da tax |
| nFe_IPI_qUnid | IPI_qUnid da nFe |
| tax_IPI_qUnid | IPI_qUnid da tax |
| nFe_IPI_vUnid | IPI_vUnid da nFe |
| tax_IPI_vUnid | IPI_vUnid da tax |
| nFe_IPI_vIPI | IPI_vIPI da nFe |
| tax_IPI_vIPI | IPI_vIPI da tax |
| valor_diferenca_IPI | Valor da diferença de IPI |
| vProdOriginal | dOriginal da vPr |
| origem_regra | regra aplicada, base do cliente ou ondemand, se for o caso |
| numero_nfe | número nfe |
| serie_nfe | serie nfe |
| diferencas_ICMSUFDest | Tags com diferenças UFDest |
| tax_vBCUFDest | vBCUFDest da tax |
| tax_vBCFCPUFDest | vBCFCPUFDest da tax |
| tax_pFCPUFDest | pFCPUFDest da tax |
| tax_pICMSUFDest | pICMSUFDest da tax |
| tax_pICMSInter | pICMSInter da tax |
| tax_pICMSInterPart | pICMSInterPart da tax |
| tax_vFCPUFDest | vFCPUFDest da tax |
| tax_vICMSUFDest | vICMSUFDest da tax |
| tax_vICMSUFRemet | vICMSUFRemet da tax |
| tax_pRedBC_UFDest | pRedBC_UFDest da tax |
| nFe_vBCUFDest | vBCUFDest da nFe |
| nFe_vBCFCPUFDest | vBCFCPUFDest da nFe |
| nFe_pFCPUFDest | pFCPUFDest da nFe |
| nFe_pICMSUFDest | pICMSUFDest da nFe |
| nFe_pICMSInter | pICMSInter da nFe |
| nFe_pICMSInterPart | pICMSInterPart da nFe |
| nFe_vFCPUFDest | vFCPUFDest da nFe |
| nFe_vICMSUFDest | vICMSUFDest da nFe |
| nFe_vICMSUFRemet | vICMSUFRemet da nFe |
| valor_diferenca_vFCPUFDest | Valor da diferente no valor do FCP do UFDest |
| valor_diferenca_vICMSUFDest | Valor da diferença no valor do UFDest |
| valor_diferenca_vICMSUFRemet | Valor da diferença no valor do UFDest Remetente |
| "diferencas_IS" | Tags com diferenças IS |
| cstIS | Código de situação tributária IS |
| cClassTribIS | Código de Classificação Tributária do IS |
| vBCIS | Valor da Base de Cálculo do IS |
| pIS | Percentual de alíquota do IS |
| pISEspec | Percentual de alíquota específica do IS por unidade de medida |
| uTrib | Unidade de Medida Tributável |
| qTrib | Quantidade Tributável |
| vIS | Valor do IS |
| diferencas_IBSCBS | Tags com diferenças IBSCBS |
| cst | Código de situação tributária IBS/CBS |
| cClassTrib | Código de Classificação Tributária do IBS/CBS |
| vBC | Valor da Base de Cálculo do IBS/CBS |
| pIBSUF | Percentual de alíquota do IBSUF |
| pDif | Percentual do diferimento IBSUF |
| vDif | Valor do diferimento IBSUF |
| vDevTrib | Valor do tributo devolvido IBSUF |
| pRedAliq | Percentual da redução de alíquota IBSUF |
| pAliqEfet | Alíquota Efetiva do IBSUF |
| vIBSUF | Valor do IBSUF |
| pIBSMun | Percentual de alíquota do IBSMun |
| pDif | Percentual do diferimento IBSMun |
| vDif | Valor do diferimento IBSMun |
| vDevTrib | Valor do tributo devolvido IBSMun |
| pRedAliq | Percentual da redução de alíquota IIBSMun |
| pAliqEfet | Alíquota Efetiva do IBSMun |
| vIBSMun | Valor do IBSMun |
| pCBS | Percentual de alíquota da CBS |
| pDif | Percentual do diferimento CBS |
| vDif | Valor do diferimento CBS |
| vDevTrib | Valor do tributo devolvido CBS |
| pRedAliq | Percentual da redução de alíquota CBS |
| pAliqEfet | Alíquota Efetiva da CBS |
| vCBS | Valor da CBS |
| cstReg | Código de situação tributária Tributação Regular |
| cClassTribReg | Código de Classificação Tributária da Tributação regular |
| pAliqEfetRegIBSUF | Valor da alíquota do IBSUF |
| vTribRegIBSUF | Valor do tributo regular do IBSUF |
| pAliqEfetRegIBSMun | Valor da alíquota do IBSMun |
| vTribRegIBSMun | Valor do tributo regular do IBSMun |
| pAliqEfetRegCBS | Valor da alíquota da CBS |
| vTribRegCBS | Valor do tributo regular da CBS |
| cCredPres | Código de Classificação do Crédito Presumido IBS |
| pCredPres | Percentual do Crédito Presumido IBS |
| vCredPres | Valor do Crédito Presumido IBS |
| vCredPresCondSus | Valor do Crédito Presumido em condição suspensiva IBS |
| cCredPres | Código de Classificação do Crédito Presumido CBS |
| pCredPres | Percentual do Crédito Presumido CBS |
| vCredPres | Valor do Crédito Presumido CBS |
| vCredPresCondSus | Valor do Crédito Presumido em condição suspensiva CBS |
| qBCMono | Quantidade tributada na monofasia |
| adRemIBS | Alíquota ad rem do IBS |
| adRemCBS | Alíquota ad rem da CBS |
| vIBSMono | Valor do IBS monofásico |
| vCBSMono | Valor da CBS monofásico |
| diferencas_IBSCBSMono | Tags com diferenças IBSCBSmono |
| qBCMonoRet | Quantidade tributada sujeita à retenção na monofasia |
| adRemIBSReten | Alíquota ad rem do IBS sujeito a retenção |
| vIBSMonoReten | Valor do IBS monofásico sujeito a retenção |
| adRemCBSReten | Alíquota ad rem da CBS sujeito a retenção |
| vCBSMonoReten | Valor da CBS monofásica sujeita a retenção |
| qBCMonoRet | Quantidade tributada retida anteriormente |
| adRemIBSRet | Alíquota ad rem do IBS retido anteriormente |
| vIBSMonoRet | Valor do IBS retido anteriormente |
| adRemCBSRet | Alíquota ad rem da CBS retida anteriormente |
| vCBSMonoRet | Valor da CBS retida anteriormente |
| pDifIBS | Percentual do diferimento IBS Monofásico |
| vIBSMonoDif | Valor do IBS monofásico diferido |
| pDifCBS | Percentual do diferimento CBS Monofásico |
| vCBSMonoDif | Valor da CBS Monofásica diferida |
| vTotIBSMonoItem | Valor total do IBS Monofásico |
| vTotCBSMonoItem | Valor total da CBS Monofásico |
| vIS | Valor total do IS |
| vBCIBSCBS | Valor total da Base de Cálculo do IBS/CBS |
| vDif | Valor total do diferimento IBSUF |
| vDevTrib | Valor total do tributo devolvido IBSUF |
| vIBSUF | Valor total do IBSUF |
| vDif | Valor total do diferimento IBSMun |
| vDevTrib | Valor total do tributo devolvido IBSMun |
| vIBSMun | Valor total do IBSMun |
| vIBS | Valor total do IBS |
| vCredPres | Valor total do Crédito Presumido IBS |
| vCredPresCondSus | Valor total do Crédito Presumido em condição suspensiva IBS |
| vDif | Valor total do diferimento CBS |
| vDevTrib | Valor total do tributo devolvido CBS |
| vCBS | Valor total da CBS |
| vCredPres | Valor total da Crédito Presumido CBS |
| vCredPresCondSus | Valor total do Crédito Presumido em condição suspensiva CBS |
| vIBSMono | Valor total do IBS monofásico |
| vCBSMono | Valor total da CBS monofásico |
| vIBSMonoReten | Valor total do IBS monofásico sujeito a retenção |
| vCBSMonoReten | Valor total da CBS monofásica sujeita a retenção |
| vIBSMonoRet | Valor total do IBS retido anteriormente |
| vCBSMonoRet | Valor total da CBS retida anteriormente |
| vTotNF | Valor total da NF-e com IBS / CBS / IS |
| valor_diferenca_VIBSuf: | Valor da diferenças IBSUF |
| valor_diferenca_vIBSMun: | Valor da diferenças IBSMun |
| valor_diferenca_vCBS: | Valor da diferenças CBS |
| valor_diferenca_vIS: | Valor da diferenças IS |
| Sucesso | |
| Mensagem |
Dados do Cenário
Dados: cProd, EAN, NCM, Origem do Produto.
Notas recebidas
Com os dados do produto, vamos identificar o produto para a validação.
Se o documento validado tiver a tag tpNF=1 e o destinatário for o cliente Systax, vamos buscar o código informado na tag cProd na tabela de De-Para que existe no site Systax no cadastro do nosso cliente.
Nessa tabela temos o CNPJ do fornecedor e o código de produto do fornecedor com o código de produto correspondente do nosso cliente.
Se encontrarmos, seguimos a validação considerando o código de produto de nosso cliente, se não houver dado na tabela de De-Para, buscamos produtos na base centralizada com EAN e, se não encontrarmos, buscamos pela NCM e nesse caso a tributação será mais genérica, visto que vamos considerar o produto padrão dessa NCM.
Notas emitidas
Quando a nota é emitida por nosso cliente, o cProd estará preenchido com o código de produto que deverá ser tratado na base de regras parametrizadas para esse cliente.
Dessa forma, vamos considerar o valor da tag cProd para localizar o produto direto na base do cliente no site, caso não exista, vamos seguir com a busca na base centralizada, sendo o EAN primeiro e, se não existir produto com esse EAN, buscamos um produto padrão para a NCM.
Como gerar a regra tributária da Reforma Tributária?
Com os dados do cenário e produtos definidos, o sistema criará uma chamada no motor de cálculo que buscará uma regra no Cockpit do cliente, assim como é feito para as regras da tributação atual.
Com o cálculo finalizado, o Tax Validator fará uma comparação entre os dados gerados no motor de cálculo e os dados enviados no XML que está sendo submetido a validação.
A comparação será apresentada da seguinte forma:
A API apresentará os dados do cenário nas primeiras tag:
A API retornar com todos os campos que poderão ser comparados no documento eletrônico, intercalando entre NF-e e Tax, todas as tag que iniciam com Tax são referentes ao dado da regra e/ou cálculo da Systax.
Os tributos seguem por blocos, dessa forma, cada bloco de tributo apresentará no início do bloco “Diferenças_XXXX” e no final de cada bloco retornará “Valor_diferenca_XXXX”
No exemplo abaixo, é possível verificar o retorno dos campos novos implementados pela Reforma:
Legenda:
Diferenças_XXXXX = São as tags que apresentaram diferenças.
Valores_diferenca_XXXX = São os valores de diferenças, sempre que estiver negativo é porque o XML demonstra um valor menor que a regra da Systax e sendo positivo, o XML está a maior que a regra da Systax.