Manual do Tax Validator - Reforma Tributária Manual contendo as últimas atualizações com os campos 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://wscockpit.systax.com.br/api/api/TaxValidator 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.