Tax Engine RT Índice   1 – Versões . 3 2 – Introdução . 4 3 – Acessos 5 4 – Estrutura de dados da Requisição do Motor de Cálculo . 6 5 – Estrutura de dados da Response do Motor de Cálculo . 10 6 – Dicionário de dados da Requisição do Motor de Cálculo . 14 7 – Dicionário de dados da Response do Motor de Cálculo . 16 8 – Status e mensagem de retorno . 20 9 – Cálculo BC Composição – Reforma Tributária . 21 10 – Exemplo de json de requisição . 23 11 – Exemplo de json de retorno 11 – Exemplo de json de retorno . 25 11 – Exemplo de json de retorno . 25 .  25  12 – Configurações 13 – Tabela De/Para cenários 14 – Definições de Buscas de Regras 15 – Busca de Regras Reforma Tributária anterior a Janeiro/2026 16 – Configurações de Cálculo 17 – Devolução XML 18 – Devolução por Regra 19 – De/Para de retorno - Motor X Motor Reforma tributária 20 – Agrupamento de Origem 21 – Materiais Semelhantes 1 - Versões   Versão Publicação Alterações Autor 01 07/05/2025 Inclusão Henrique Moreira 02 27/08/2025 Acessos Henrique Moreira 02 27/08/2025 Exemplo de json de requisição Henrique Moreira 02 27/08/2025 Exemplo de json de retorno Henrique Moreira 02 27/08/2025 Exemplo de json de requisição Henrique Moreira 02 27/08/2025 Exemplo de json de retorno Henrique Moreira 03 15/10/2025 Configurações Henrique Moreira 03 15/10/2025 Tabela de De/Para de Cenários Henrique Moreira 03 15/10/2025 Busca de Regras Reforma Tributária anterior a janeiro/2026 Henrique Moreira 03 15/10/2025 Configurações de cálculo Henrique Moreira 03 15/10/2025 Devolução XML Henrique Moreira 04 23/10/2025 Devolução por Regra Henrique Moreira 05 29/01/2026 Status e mensagem de retorno Henrique Moreira 05 29/01/2026 Definições de Buscas de regras Henrique Moreira 05 29/01/2026 Configurações de Cálculo Henrique Moreira 05 29/01/2026 Agrupamento de Origem Henrique Moreira 05 29/01/2026 Materiais Semelhantes Henrique Moreira 2 - Introdução Este documento destina-se à equipe de desenvolvimento responsável por integrar aplicações internas ao serviço do Motor de Cálculo da Systax. Com o objetivo de facilitar esse processo de integração, a Systax disponibiliza um módulo de integração desenvolvido na forma de webservice e webapi/JSON, o que assegura interoperabilidade com sistemas construídos em diferentes linguagens e plataformas. Além disso, este documento descreve as diferentes modalidades de cálculo oferecidas pelo Motor de Cálculo, permitindo que os usuários analisem as diversas particularidades dos cálculos e os apliquem conforme as necessidades de suas operações.   3 - Acessos Swagger: https://wscockpit.systax.com.br/TaxEngineReforma/swagger/index.html URL API Rest / Json: https://wscockpit.systax.com.br/TaxEngineReforma/api/CalcularCombinado   Autenticação: 1) Basic Auth; 2) JWT Bearer token   Nota : Para consultar como fazer a geração de Token, acesse o manual no link abaixo: Clique aqui   4 - Estrutura de dados da Requisição do Motor de Cálculo Campo Cabeçalho / Item Descrição Obrigatório Valores Aceitos sessionID Cabeçalho Código de qualquer formato gerado pelo cliente e utilizado para obter controle das transações. Recomendamos que seja um código único por requisição. Não Texto e numérico sisOrig Código numérico que identifica o sistema de origem de request. Controle do cliente e utilizado quando há vários sistemas requisitando o motor de cálculo. Se for utilizar somente 1 solução pra chamar o motor, por exemplo, pode mandar 1 no parâmetro. Não Texto e numérico dtCalc Data de cálculo a ser considerada na vigência da regra. Sim Formato 'YYYY-MM-DD' finNFe Finalidade de emissão da NF-e Não 1 - NF-e normal; 2 - NF-e complementar; 3 - NF-e de ajuste; 4 - NF-e de mercadoria; 5 - NF-e de crédito; 6 - NF-e de débito. cMunFG Código do Município de Ocorrência do Fato Gerador do ICMS Não Numérico cMunFGIBS Código do Município de consumo, fato gerador do IBS / CBS Não Numérico Campo Cabeçalho / Item Descrição Obrigatório Valores Aceitos tpNFDebito Cabeçalho Tipo de Nota de Débito Não 1=Transferência de créditos para Cooperativas; 2=Anulação de Crédito por Saídas Imunes/Isentas; 3=Débitos de notas fiscais não processadas na apuração; 4=Multa e juros; 5=Transferência de crédito de sucessão; tpNFCredito Tipo de Nota de Crédito Não Numérico tpEnteGov Tipo de ente governamental Não 1=União 2=Estado 3=Distrito Federal 4=Município pRedutor Percentual de redução de alíquota em compra governamental Não Numérico tpNF Tipo de Nota da operação Sim 0 - Entrada 1 - Saida ufOrigem Campo utilizado para informar o Estado de saída da operação. Sim Texto municipioOrigem Código do municipio remetente da operação. Não Numérico ufDestino Campo utilizado para informar o Estado de destino da operação. Sim Texto municipioDestino Código do municipio destinatário da operação. Não Numérico ufEntrega Campo utilizado para informar o Estado de entrega da operação. Não Texto Campo Cabeçalho / Item Descrição Obrigatório Valores Aceitos municipioEntrega Cabeçalho Código do municipio de entrega da operação. Não Numérico municipioExecucao Código do municipio de execução da operação. Não Numérico chaveBanco Código do Cockpit do cliente considerado no cálculo Não Texto e numérico id Item Identificação única de cada item da requisição Não Numérico idCenario Código do cenário Não Numérico naturezaOperacao Código de natureza de operação do cenário. Sim Numérico finalidade Código da finalidade do cenário. Não Numérico perfilOrigem Código do perfil remetente da operação. Sim Numérico cnaeOrigem Código do cnae remetente da operação. Não Numérico perfilDestino Código do perfil destinatário da operação. Sim Numérico cnaeDestino Código do cnae destinatário da operação. Não Numérico prestador Código do perfil prestador da operação. Não Numérico tomador Código do perfil tomador da operação. Não Numérico executor Código do perfil executor da operação. Não Numérico cProd Código do produto previamente configurado. Sim Texto e numérico Campo Cabeçalho / Item Descrição Obrigatório Valores Aceitos orig   Origem do Produto Não 0 1 2 3 4 5 6 7 8 cEAN Item Código de barras (GTIN) do produto Não Numérico ncm Classificação fiscal do produto Não Numérico extipi Código EX da TIPI Não Numérico vProdUni Valor unitário do produto Sim Numérico qTrib Quantidade Tributável Sim Numérico uTrib Unidade Tributável Não Texto e numérico vUnTrib Valor unitario Tributável Não Numérico vOutro Valor de outros tributos da operação Não Numérico vAcrescVop Valor de acréscimo referente ajustes ao valor da operação Não Numérico vJuros Valor de juros da operação Não Numérico vMultas Valor de multas da operação Não Numérico vAcresc Valor de acréscimo da operação Não Numérico vEncargos Valor de encargos da operação Não Numérico vTransp Valor de transporte da operação Não Numérico vTributos Valor de tributos da operação Não Numérico vDescInc Valor de desconto incondicional da operação Não Numérico vImpSel Valor de imposto seletivo da operação Não Numérico pDevTrib percentual de cashback da operação Não Numérico 5 - Estrutura de dados da Response do Motor de Cálculo Campo Grupo Descrição cod status Código de retorno da requisição msg Mensagem de Retorno da requisição id Item Identificação única de cada item da requisição cProd Código do produto previamente configurado cfop CFOP da operação ncm Classificação fiscal do produto extipi Código EX da TIPI orig Origem do Produto generico Informações auxiliares do retorno status Status de retorno do item cod Código de retorno do item msg Mensagem de Retorno do item cstis IS 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 cst IBSCBS 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 Campo Grupo Descrição pIBSUF IBSUF 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 IIBSUF pAliqEfet Alíquota Efetiva do IBSUF vIBSUF Valor do IBSUF pIBSMun IBSMun 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 CBS 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 Tributação Regular 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 Campo Grupo Descrição cCredPres IBS Crédito Presumido 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 CBS Crédito Presumido 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 IBS/CBS Monofásico 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 qBCMonoReten 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 Campo Grupo Descrição vIS IS Totalizador Valor total do IS vBCIBSCBS IBS/CBS Totalizador Valor total da Base de Cálculo do IBS/CBS vDif IBSUF Totalizador Valor total do diferimento IBSUF vDevTrib Valor total do tributo devolvido IBSUF vIBSUF Valor total do IBSUF vDif IBSMun Totalizador Valor total do diferimento IBSMun vDevTrib Valor total do tributo devolvido IBSMun vIBSMun Valor total do IBSMun vIBS IBS Totalizador 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 CBS Totalizador 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 Monofásico Totalizador 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 Totalizador Valor total da NF-e com IBS / CBS / IS 6 - Dicionário de dados da Requisição do Motor de Cálculo Campo Tipo sessionID String sisOrig String dtCalc Data finNFe Inteiro cMunFG Inteiro cMunFGIBS Inteiro tpNFDebito Inteiro tpNFCredito Inteiro tpEnteGov Inteiro pRedutor Decimal tpNF Inteiro ufOrigem String municipioOrigem Inteiro ufDestino String municipioDestino Inteiro ufEntrega String municipioEntrega Inteiro municipioExecucao Inteiro chaveBanco String id Inteiro idCenario Inteiro naturezaOperacao Inteiro finalidade Inteiro perfilOrigem Inteiro cnaeOrigem Inteiro perfilDestino Inteiro cnaeDestino Inteiro prestador Inteiro Campo Tipo tomador Inteiro executor Inteiro cProd String orig Inteiro cEAN Inteiro ncm Inteiro extipi Inteiro vProdUni Decimal qTrib Decimal uTrib String vUnTrib Decimal vOutro Decimal vAcrescVop Decimal vJuros Decimal vMultas Decimal vAcresc Decimal vEncargos Decimal vTransp Decimal vTributos Decimal vDescInc Decimal vImpSel Decimal pDevTrib Decimal 7 - Dicionário de dados da Response do Motor de Cálculo   Campo Tipo cod String msg String id String cProd String cfop inteiro ncm inteiro extipi inteiro orig inteiro generico String status String cod String msg String cstis inteiro cClassTribIS inteiro vBCIS Decimal pIS Decimal pISEspec Decimal uTrib String qTrib Decimal vIS Decimal cst Inteiro cClassTrib Inteiro vBC Decimal pIBSUF Decimal pDif Decimal vDif Decimal vDevTrib Decimal pRedAliq Decimal   Campo Tipo pAliqEfet Decimal vIBSUF Decimal pIBSMun Decimal pDif Decimal vDif Decimal vDevTrib Decimal pRedAliq Decimal pAliqEfet Decimal vIBSMun Decimal pCBS Decimal pDif Decimal vDif Decimal vDevTrib Decimal pRedAliq Decimal pAliqEfet Decimal vCBS Decimal cstReg Inteiro cClassTribReg Inteiro pAliqEfetRegIBSUF Decimal vTribRegIBSUF Decimal pAliqEfetRegIBSMun Decimal vTribRegIBSMun Decimal pAliqEfetRegCBS Decimal vTribRegCBS Decimal cCredPres Inteiro pCredPres Decimal vCredPres Decimal vCredPresCondSus Decimal   Campo Tipo cCredPres Inteiro pCredPres Decimal vCredPres Decimal vCredPresCondSus Decimal qBCMono Decimal adRemIBS Decimal adRemCBS Decimal vIBSMono Decimal vCBSMono Decimal qBCMonoReten Decimal adRemIBSReten Decimal vIBSMonoReten Decimal adRemCBSReten Decimal vCBSMonoReten Decimal qBCMonoRet Decimal adRemIBSRet Decimal vIBSMonoRet Decimal adRemCBSRet Decimal vCBSMonoRet Decimal pDifIBS Decimal vIBSMonoDif Decimal pDifCBS Decimal vCBSMonoDif Decimal vTotIBSMonoItem Decimal vTotCBSMonoItem Decimal vIS Decimal vBCIBSCBS Decimal vDif Decimal   Campo Tipo vDevTrib Decimal vIBSUF Decimal vDif Decimal vDevTrib Decimal vIBSMun Decimal vIBS Decimal vCredPres Decimal vCredPresCondSus Decimal vDif Decimal vDevTrib Decimal vCBS Decimal vCredPres Decimal vCredPresCondSus Decimal vIBSMono Decimal vCBSMono Decimal vIBSMonoReten Decimal vCBSMonoReten Decimal vIBSMonoRet Decimal vCBSMonoRet Decimal vTotNF Decimal   8 - Status e mensagem de retorno Grupo / Item Codigo de retorno Mensagem de retorno Motivo   Grupo e Item 0 Retornado com Sucesso       Item 2 Regra não encontrada para o item. Quando não é encontrado regra do motor atual.   Item 2 Regra da reforma tributária não encontrada. Quando é encontrado regra do motor atual mas não é encontrado para a reforma tributária.   Item 2 Regra da reforma tributária - retorno parcial. Quando há mais de um item no retorno, e é encontrado regra do motor atual mas não é encontrado para a reforma tributária para alguns itens.   Grupo 995 Parâmetros insuficientes para essa requisição. Mais de um campo obrigatório não preenchido.     996 Código do produto não preenchido Campo obrigatório não preenchido.   Produtos sem quantidade   Produtos sem preço   dtCalc não preenchido   tpNF não preenchido   ufOrigem não preenchido   ufDestino não preenchido   naturezaOperacao não preenchido   perfilOrigem não preenchido   perfilDestino não preenchido   Item 997 Código do produto não localizado Quando o produto não existe na tabela.   Cenário não localizado Quando o cenário não existe na tabela.   Banco de dados não localizado Quando chave banco não localizados.   Grupo 998 usuário ou senha inválida Quando usuário e senha não localizados.   Grupo 999 Erro fatal. Quando algo inesperado acontece no processamento.     9 - Cálculo BC Composição – Reforma Tributária   Tabela de "bc_composicao" - Indicadores de base de cálculo - Reforma Tributária Indicador Descrição   Fórmula (de acordo com as TAG da NF-e) Tributo 142 Base de cálculo do Imposto Seletivo (IS) vBC vBC = (qTrib * vProdUni) + vAcrescVop + vJuros + vMultas+ vAcresc + vEncargos + vTransp + vTributos (exceto vIBS, vCBS, vIS, vICMS) + vOutros - vDescInc Imposto Seletivo vIS vIS = vBC * (pIS / 100) 143 Base de cálculo do Imposto Seletivo (IS) com pauta – (Cigarros) vBC vBC = qTrib * valor_pauta Imposto Seletivo vIS vIS = (vBC * pIS/100) + (qTrib * pISEspec) 144 Base de cálculo do Imposto Seletivo (IS) com alíquota específica - (Bebidas) vBC vBC = (qTrib * vProdUni) + vAcrescVop + vJuros + vMultas+ vAcresc + vEncargos + vTransp + vTributos (exceto vIBS, vCBS, vIS, vICMS) + vOutros - vDescInc Imposto Seletivo vIS vIS = (vBC * pIS/100) + (qTrib * vUTrib * pISEspec) 145 Base de cálculo do IBS e CBS vBC vBC = (qTrib * vProdUni) + vAcrescVop + vJuros + vMultas+ vAcresc + vEncargos + vTransp + vIS + vOutrosTributos + vOutros - vDescInc IBS e CBS vIBSUF vIBSUF = vBC * ((pIBSUF - pRedAliq)/100) vIBSMun vIBSMun = vBC * ((pIBSMun – pRedAlq)/100) vCBS vCBS = vBC * ((pCBS – pRedAlq)/100) 147 Base de Cálculo do IBS e CBS para bares e restaurantes, inclusive lanchonetes vBC vBC = (qTrib * vProdUni) + vAcrescVop + vJuros + vMultas+ vAcresc + vEncargos + vTransp + vIS + vOutrosTributos + vOutros – vDescInc IBS e CBS vIBS vIBSUF = vBC * (pIBSUF /100) vCBS vCBS = vBC * (pCBS/100)   Legenda: qTrib: quantidade tributável vProdUni: valor unitário de tributação vAcrescVop: Valor de acréscimo referente ajustes ao valor da operação vJuros: Valor de juros vMultas: Valor de multas vAcrésc: Demais acréscimos da operação vEncargos: Valor de encargo vTransp: Valor do transporte vTributos: Tributos incidentes na operação, exceto os indicados entre parênteses vOutros: Outros valores transferíveis ao destinatário vDescInc: Desconto incondicional vIS: Valor do imposto seletivo pIS: Alíquota ad valorem do Imposto Seletivo vUtrib: unidade de medida apropriada pIBSUF: Alíquota IBS UF pRedAlíq: Percentual de redução de alíquota pIBSMun: Alíquota IBS Município pCBS: Alíquota CBS 10 - Json de requisição { "cabecalho": { "sessionID": "string", "sisOrig": "string", "dtCalc": "string", "finNfe": "string", "cMunFg": "string", "cMunFGIBS": "string", "tpNfDebito": "string", "tpNfCredito": "string", "tpEntegov": "string", "pRedutor": "string", "tpNF": "string", "ufOrigem": "string", "municipioOrigem": "string", "ufDestino": "string", "municipioDestino": "string", "ufEntrega": "string", "municipioEntrega": "string", "municipioExecucao": "string", "generico": "string", "chaveBanco": "string", "impAtiv": "string", "cdata": "string" }, "itens": [ { "idCenario": "string", "id": "string", "naturezaOperacao": "string", "finalidade": "string", "perfilOrigem": "string", "cnaeOrigem": "string", "perfilDestino": "string", "cnaeDestino": "string", "prestador": "string", "tomador": "string", "executor": "string", "cProd": "string", "orig": "string", "cEAN": "string", "ncm": "string", "extipi": "string", "vProdUni": "string", "qTrib": "string", "uTrib": "string", "vUnTrib": "string", "vOutro": "string", "vAcrescVop": "string", "vJuros": "string", "vMultas": "string", "vAcresc": "string", "vEncargos": "string", "vTransp": "string", "vTributos": "string", "vDescInc": "string", "vImpSel": "string", "pDevTrib": "string", "generico": "string", "vSeg": "string", "vFrete": "string", "vDesc": "string", "cBenef": "string", "cest": "string" } ] } 11 - Json de retorno { "status": { "cod": 0, "msg": "string", "msg_personalizada": "string" }, "itens": [ { "id": "string", "cProd": "string", "cfop": "string", "ncm": "string", "extipi": "string", "orig": "string", "nvProdUni": "string", "nvProdUniPC": "string", "generico": "string", "cest": "string", "cBenef": "string", "status": { "cod": 0, "msg": "string", "msg_personalizada": "string" }, "imposto": { "icms": { "icmS00": { "orig": "string", "cst": "string", "modBC": "string", "vBC": "string", "pICMS": "string", "vICMS": "string", "pFCP": "string", "vFCP": "string" }, "icmS10": { "orig": "string", "cst": "string", "modBC": "string", "vBC": "string", "pICMS": "string", "vICMS": "string", "vBCFCP": "string", "pFCP": "string", "vFCP": "string", "modBCST": "string", "pMVAST": "string", "pRedBCST": "string", "vBCST": "string", "pICMSST": "string", "vICMSST": "string", "vBCFCPST": "string", "pFCPST": "string", "vFCPST": "string", "vICMSSTDeson": "string", "motDesICMSST": "string" }, "icmS20": { "orig": "string", "cst": "string", "modBC": "string", "pRedBC": "string", "vBC": "string", "pICMS": "string", "vICMS": "string", "vBCFCP": "string", "pFCP": "string", "vFCP": "string", "vICMSDeson": "string", "motDesICMS": "string", "indDeduzDeson": "string" }, "icmS30": { "orig": "string", "cst": "string", "modBCST": "string", "pMVAST": "string", "pRedBCST": "string", "vBCST": "string", "pICMSST": "string", "vICMSST": "string", "vBCFCPST": "string", "pFCPST": "string", "vFCPST": "string", "vICMSDeson": "string", "motDesICMS": "string", "vICMSSTDeson": "string", "motDesICMSST": "string", "indDeduzDeson": "string" }, "icmS40": { "orig": "string", "cst": "string", "vICMSDeson": "string", "motDesICMS": "string", "indDeduzDeson": "string" }, "icmS51": { "orig": "string", "cst": "string", "modBC": "string", "pRedBC": "string", "cBenefRBC": "string", "vBC": "string", "pICMS": "string", "vICMSOp": "string", "pDif": "string", "vICMSDif": "string", "vICMS": "string", "vBCFCP": "string", "pFCP": "string", "vFCP": "string", "pFCPDif": "string", "vFCPDif": "string", "vFCPEfet": "string" }, "icmS60": { "orig": "string", "cst": "string", "vBCSTRet": "string", "pST": "string", "vICMSSubstituto": "string", "vICMSSTRet": "string", "vBCFCPSTRet": "string", "pFCPSTRet": "string", "vFCPSTRet": "string", "pRedBCEfet": "string", "vBCEfet": "string", "pICMSEfet": "string", "vICMSEfet": "string" }, "icmS70": { "orig": "string", "cst": "string", "modBC": "string", "pRedBC": "string", "vBC": "string", "pICMS": "string", "vICMS": "string", "vBCFCP": "string", "pFCP": "string", "vFCP": "string", "modBCST": "string", "pMVAST": "string", "pRedBCST": "string", "vBCST": "string", "pICMSST": "string", "vICMSST": "string", "vBCFCPST": "string", "pFCPST": "string", "vFCPST": "string", "vICMSDeson": "string", "motDesICMS": "string", "vICMSSTDeson": "string", "motDesICMSST": "string", "indDeduzDeson": "string" }, "icmS90": { "orig": "string", "cst": "string", "modBC": "string", "vBC": "string", "pRedBC": "string", "pICMS": "string", "vICMS": "string", "vBCFCP": "string", "pFCP": "string", "vFCP": "string", "modBCST": "string", "pMVAST": "string", "pRedBCST": "string", "vBCST": "string", "pICMSST": "string", "vICMSST": "string", "vBCFCPST": "string", "pFCPST": "string", "vFCPST": "string", "vICMSDeson": "string", "motDesICMS": "string", "vICMSSTDeson": "string", "motDesICMSST": "string", "indDeduzDeson": "string" }, "icmssN101": { "orig": "string", "csosn": "string", "pCredSN": "string", "vCredICMSSN": "string", "infCustoAquis": "string" }, "icmssN102": { "orig": "string", "csosn": "string" }, "icmssN201": { "orig": "string", "csosn": "string", "modBCST": "string", "pMVAST": "string", "pRedBCST": "string", "vBCST": "string", "pICMSST": "string", "vICMSST": "string", "vBCFCPST": "string", "pFCPST": "string", "vFCPST": "string", "pCredSN": "string", "vCredICMSSN": "string", "vICMSSTDeson": "string", "motDesICMSST": "string" }, "icmssN202": { "orig": "string", "csosn": "string", "modBCST": "string", "pMVAST": "string", "pRedBCST": "string", "vBCST": "string", "pICMSST": "string", "vICMSST": "string", "vBCFCPST": "string", "pFCPST": "string", "vFCPST": "string", "vICMSSTDeson": "string", "motDesICMSST": "string" }, "icmssN500": { "orig": "string", "csosn": "string", "vBCSTRet": "string", "pST": "string", "vICMSSubstituto": "string", "vICMSSTRet": "string", "vBCFCPSTRet": "string", "pFCPSTRet": "string", "vFCPSTRet": "string", "pRedBCEfet": "string", "vBCEfet": "string", "pICMSEfet": "string", "vICMSEfet": "string" }, "icmssN900": { "orig": "string", "csosn": "string", "modBC": "string", "vBC": "string", "pRedBC": "string", "pICMS": "string", "vICMS": "string", "modBCST": "string", "pMVAST": "string", "pRedBCST": "string", "vBCST": "string", "pICMSST": "string", "vICMSST": "string", "vBCFCPST": "string", "pFCPST": "string", "vFCPST": "string", "pCredSN": "string", "vCredICMSSN": "string" }, "icmssN300": { "csosn": "string", "orig": "string" }, "icmssN400": { "csosn": "string", "orig": "string" }, "icmS02": { "orig": "string", "cst": "string", "qBCMono": "string", "adRemICMS": "string", "vICMSMono": "string" }, "icmS15": { "orig": "string", "cst": "string", "qBCMono": "string", "adRemICMS": "string", "vICMSMono": "string", "qBCMonoReten": "string", "adRemICMSReten": "string", "vICMSMonoReten": "string", "pRedAdRem": "string", "motRedAdRem": "string" }, "icmS61": { "orig": "string", "cst": "string", "qBCMonoRet": "string", "adRemICMSRet": "string", "vICMSMonoRet": "string" }, "icmS53": { "orig": "string", "cst": "string", "qBCMono": "string", "adRemICMS": "string", "vICMSMonoOp": "string", "pDif": "string", "vICMSMonoDif": "string", "vICMSMono": "string" }, "icmsPart": { "orig": "string", "cst": "string", "modBC": "string", "vBC": "string", "pRedBC": "string", "pICMS": "string", "vICMS": "string", "modBCST": "string", "pMVAST": "string", "pRedBCST": "string", "vBCST": "string", "pICMSST": "string", "vICMSST": "string", "pBCOp": "string", "ufst": "string" } }, "ipi": { "cEnq": "string", "ipiTrib": { "cst": "string", "vBC": "string", "pIPI": "string", "qUnid": "string", "vUnid": "string", "vIPI": "string" }, "ipint": { "cst": "string" } }, "pis": { "pisAliq": { "cst": "string", "vBC": "string", "pPIS": "string", "vPIS": "string" }, "pisQtde": { "cst": "string", "qBCProd": "string", "vAliqProd": "string", "vPIS": "string" }, "pisnt": { "cst": "string" }, "pisOutr": { "cst": "string", "vBC": "string", "pPIS": "string", "qBCProd": "string", "vAliqProd": "string", "vPIS": "string" } }, "pisst": { "vBC": "string", "pPIS": "string", "qBCProd": "string", "vAliqProd": "string", "vPIS": "string", "indSomaPISST": "string" }, "cofins": { "cofinsAliq": { "cst": "string", "vBC": "string", "pCOFINS": "string", "vCOFINS": "string" }, "cofinsQtde": { "cst": "string", "qBCProd": "string", "vAliqProd": "string", "vCOFINS": "string" }, "cofinsnt": { "cst": "string" }, "cofinsOutr": { "cst": "string", "vBC": "string", "pCOFINS": "string", "qBCProd": "string", "vAliqProd": "string", "vCOFINS": "string" } }, "cofinsst": { "vBC": "string", "pCOFINS": "string", "qBCProd": "string", "vAliqProd": "string", "vCOFINS": "string", "indSomaCOFINSST": "string" }, "icmsufDest": { "vBCUFDest": "string", "vBCFCPUFDest": "string", "pFCPUFDest": "string", "pICMSUFDest": "string", "pICMSInter": "string", "pICMSInterPart": "string", "vFCPUFDest": "string", "vICMSUFDest": "string", "vICMSUFRemet": "string" }, "is": { "cstis": "string", "cClassTribIS": "string", "vBCIS": "string", "pIS": "string", "pISEspec": "string", "uTrib": "string", "qTrib": "string", "vIS": "string" }, "gIBSCBS": { "cst": "string", "cClassTrib": "string", "vBC": "string", "gIBSUF": { "pIBSUF": "string", "gDif": { "pDif": "string", "vDif": "string" }, "gDevTrib": { "vDevTrib": "string" }, "gRed": { "pRedAliq": "string", "pAliqEfet": "string" }, "vIBSUF": "string" }, "gIBSMun": { "pIBSMun": "string", "gDif": { "pDif": "string", "vDif": "string" }, "gDevTrib": { "vDevTrib": "string" }, "gRed": { "pRedAliq": "string", "pAliqEfet": "string" }, "vIBSMun": "string" }, "gCBS": { "pCBS": "string", "gDif": { "pDif": "string", "vDif": "string" }, "gDevTrib": { "vDevTrib": "string" }, "gRed": { "pRedAliq": "string", "pAliqEfet": "string" }, "vCBS": "string" }, "gTribRegular": { "cstReg": "string", "cClassTribReg": "string", "pAliqEfetRegIBSUF": "string", "vTribRegIBSUF": "string", "pAliqEfetRegIBSMun": "string", "vTribRegIBSMun": "string", "pAliqEfetRegCBS": "string", "vTribRegCBS": "string" }, "gIBSCredPres": { "cCredPres": "string", "pCredPres": "string", "vCredPres": "string", "vCredPresCondSus": "string" }, "gCBSCredPres": { "cCredPres": "string", "pCredPres": "string", "vCredPres": "string", "vCredPresCondSus": "string" } }, "gIBSCBSMono": { "qBCMono": "string", "adRemIBS": "string", "adRemCBS": "string", "vIBSMono": "string", "vCBSMono": "string", "qBCMonoReten": "string", "adRemIBSReten": "string", "vIBSMonoReten": "string", "adRemCBSReten": "string", "vCBSMonoReten": "string", "qBCMonoRet": "string", "adRemIBSRet": "string", "vIBSMonoRet": "string", "adRemCBSRet": "string", "vCBSMonoRet": "string", "pDifIBS": "string", "vIBSMonoDif": "string", "pDifCBS": "string", "vCBSMonoDif": "string", "vTotIBSMonoItem": "string", "vTotCBSMonoItem": "string" } }, "infAdProd": "string", "conteudoAuxiliar": [ { "icmsDeson": { "motDesICMS": "string", "indDeduzDeson": "string", "bcICMSDeson": "string", "pICMSDeson": "string", "vICMSDeson": "string" }, "icmsDifalContribuinte": { "bc_difal": "string", "percentual_difal": "string", "vl_difal": "string", "bc_difal_fcp": "string", "percentual_difal_fcp": "string", "vl_difal_fcp": "string" }, "icmsCred": { "cst_entrada": "string", "indicador_credito": "string", "percentual_credito": "string", "valor_base_calculo": "string", "valor_base_calculo_icmsst": "string", "valor_credito": "string", "valor_credito_icmsst": "string", "valor_credito_fcp": "string", "valor_credito_fcp_icmsst": "string", "dispositivo_legal": "string", "observacoes": "string", "generico": "string", "pICMS": "string", "pFCP": "string" }, "icmS_Antecipacao": { "tipo_antecipacao": "string", "encerra_trib": "string", "responsavel": "string", "p_red_bc_interna_dest": "string", "aliq_interna_dest": "string", "bc_icms_antecipacao": "string", "unidade_pauta": "string", "vigencia_de": "string", "vigencia_ate": "string", "dispositivo_legal": "string", "observacoes": "string", "valor_icms_antecipacao": "string", "vBCFCP_antecip": "string", "pFCP_antecip": "string", "vFCP_antecip": "string", "perc_fixo": "string", "mva": "string", "mva_ajustado": "string", "mva_lista_positiva_ajustado": "string", "mva_lista_negativa_ajustado": "string", "mva_lista_neutra_ajustado": "string", "valor_pauta": "string" }, "icmS_ANTECIPACAOCred": { "cst_entrada": "string", "indicador_credito": "string", "valor_base_calculo": "string", "percentual_credito": "string", "valor_credito": "string", "dispositivo_legal": "string", "observacoes": "string", "generico": "string", "pAlq_Interna_Dest": "string", "pFCP": "string" }, "simulacaO_ICMS_ST": { "icmS10_simulacao": { "orig": "string", "cst": "string", "modBC": "string", "vBC": "string", "pICMS": "string", "vICMS": "string", "vBCFCP": "string", "pFCP": "string", "vFCP": "string", "modBCST": "string", "pMVAST": "string", "pRedBCST": "string", "vBCST": "string", "pICMSST": "string", "vICMSST": "string", "vBCFCPST": "string", "pFCPST": "string", "vFCPST": "string" }, "icmS30_simulacao": { "orig": "string", "cst": "string", "modBCST": "string", "pMVAST": "string", "pRedBCST": "string", "vBCST": "string", "pICMSST": "string", "vICMSST": "string", "vBCFCPST": "string", "pFCPST": "string", "vFCPST": "string", "vICMSDeson": "string", "motDesICMS": "string" }, "icmS70_simulacao": { "orig": "string", "cst": "string", "modBC": "string", "pRedBC": "string", "vBC": "string", "pICMS": "string", "vICMS": "string", "vBCFCP": "string", "pFCP": "string", "vFCP": "string", "modBCST": "string", "pMVAST": "string", "pRedBCST": "string", "vBCST": "string", "pICMSST": "string", "vICMSST": "string", "vBCFCPST": "string", "pFCPST": "string", "vFCPST": "string", "vICMSDeson": "string", "motDesICMS": "string" }, "icmssN201_Simulacao": { "orig": "string", "csosn": "string", "modBCST": "string", "pMVAST": "string", "pRedBCST": "string", "vBCST": "string", "pICMSST": "string", "vICMSST": "string", "vBCFCPST": "string", "pFCPST": "string", "vFCPST": "string", "pCredSN": "string", "vCredICMSSN": "string" }, "icmssN202_Simulacao": { "orig": "string", "csosn": "string", "modBCST": "string", "pMVAST": "string", "pRedBCST": "string", "vBCST": "string", "pICMSST": "string", "vICMSST": "string", "vBCFCPST": "string", "pFCPST": "string", "vFCPST": "string" }, "icmS60_simulacao": { "orig": "string", "cst": "string", "vBCSTRet": "string", "pST": "string", "vICMSSubstituto": "string", "vICMSSTRet": "string", "vBCFCPSTRet": "string", "pFCPSTRet": "string", "vFCPSTRet": "string", "pRedBCEfet": "string", "vBCEfet": "string", "pICMSEfet": "string", "vICMSEfet": "string" }, "icmS00_simulacao": { "orig": "string", "cst": "string", "modBC": "string", "vBC": "string", "pICMS": "string", "vICMS": "string", "pFCP": "string", "vFCP": "string" }, "icmS20_simulacao": { "orig": "string", "cst": "string", "modBC": "string", "pRedBC": "string", "vBC": "string", "pICMS": "string", "vICMS": "string", "vBCFCP": "string", "pFCP": "string", "vFCP": "string", "vICMSDeson": "string", "motDesICMS": "string", "indDeduzDeson": "string" }, "icmS40_simulacao": { "orig": "string", "cst": "string", "vICMSDeson": "string", "motDesICMS": "string", "indDeduzDeson": "string" }, "icmS51_simulacao": { "orig": "string", "cst": "string", "modBC": "string", "pRedBC": "string", "cBenefRBC": "string", "vBC": "string", "pICMS": "string", "vICMSOp": "string", "pDif": "string", "vICMSDif": "string", "vICMS": "string", "vBCFCP": "string", "pFCP": "string", "vFCP": "string", "pFCPDif": "string", "vFCPDif": "string", "vFCPEfet": "string" }, "icmS90_simulacao": { "orig": "string", "cst": "string", "modBC": "string", "vBC": "string", "pRedBC": "string", "pICMS": "string", "vICMS": "string", "vBCFCP": "string", "pFCP": "string", "vFCP": "string", "modBCST": "string", "pMVAST": "string", "pRedBCST": "string", "vBCST": "string", "pICMSST": "string", "vICMSST": "string", "vBCFCPST": "string", "pFCPST": "string", "vFCPST": "string", "vICMSDeson": "string", "motDesICMS": "string", "vICMSSTDeson": "string", "motDesICMSST": "string", "indDeduzDeson": "string" }, "icmsPart_simulacao": { "orig": "string", "cst": "string", "modBC": "string", "vBC": "string", "pRedBC": "string", "pICMS": "string", "vICMS": "string", "modBCST": "string", "pMVAST": "string", "pRedBCST": "string", "vBCST": "string", "pICMSST": "string", "vICMSST": "string", "pBCOp": "string", "ufst": "string" } }, "ipiCred": { "cst_entrada": "string", "indicador_credito": "string", "valor_base_calculo": "string", "percentual_credito": "string", "valor_credito": "string", "dispositivo_legal": "string", "observacoes": "string", "generico": "string", "pIPI": "string" }, "pisCred": { "cst_entrada": "string", "indicador_credito": "string", "valor_base_calculo": "string", "percentual_credito": "string", "valor_credito": "string", "dispositivo_legal": "string", "observacoes": "string", "generico": "string", "pPIS": "string" }, "cofinsCred": { "cst_entrada": "string", "indicador_credito": "string", "valor_base_calculo": "string", "percentual_credito": "string", "valor_credito": "string", "dispositivo_legal": "string", "observacoes": "string", "generico": "string", "pCOFINS": "string" }, "funrural": { "vBC": "string", "pAliq": "string", "vFunrural": "string" }, "icmsCombustiveis": { "vBCSTRet": "string", "pST": "string", "vBC_Distrib": "string", "parcela_Retido": "string" }, "dispositivoLegal": { "dispositivoLegalICMS": "string", "dispositivoLegalICMSST": "string", "dispositivoLegalIPI": "string", "dispositivoLegalPIS": "string", "dispositivoLegalCOFINS": "string", "isDispositivoLegal": "string", "ibsufDispositivoLegal": "string", "ibsMunDispositivoLegal": "", "cbsDispositivoLegal": "string" }, "creditoEspecial": { "icmsCred": { "valor_base_calculo": "string", "valor_credito": "string", "pFCP": "string", "pICMS": "string", "valor_credito_fcp": "string" }, "ipiCred": { "valor_base_calculo": "string", "valor_credito": "string", "pIPI": "string" }, "pisCred": { "valor_base_calculo": "string", "valor_credito": "string", "pPIS": "string" }, "cofinsCred": { "valor_base_calculo": "string", "valor_credito": "string", "pCOFINS": "string" } }, "precoTotalItem": { "precoTotalItem": "string" }, "cargaTributaria": { "cargaTributariaICMS": "string" }, "creditoPresumido": { "vBCCredPresumido": "string", "pCredPresumido": "string", "vCredPresumido": "string", "indicadorCredito": "string", "dispositivoLegal": "string", "cCredPresumido": "string" }, "margemLucro": { "modalidade": "string", "margem": "string" }, "retencoesPisCofins": { "pisRet": { "pPISRet": "string", "vBCRet": "string", "vPISRet": "string", "dispositivoLegal": "string", "darf": "string" }, "cofinsRet": { "pCOFINSRet": "string", "vBCRet": "string", "vCOFINSRet": "string", "dispositivoLegal": "string", "darf": "string" } }, "ibsufCred": { "cfopEntrada": "string", "cstEntrada": "string", "indicadorCredito": "string", "percentualCredito": "string", "observacao": "string", "dispositivoLegal": "string", "vbc": "string", "vCredito": "string" }, "ibsMunCred": { "cfopEntrada": "string", "cstEntrada": "string", "indicadorCredito": "string", "percentualCredito": "string", "observacao": "string", "dispositivoLegal": "string", "vbc": "string", "vCredito": "string" }, "cbsCred": { "cfopEntrada": "string", "cstEntrada": "string", "indicadorCredito": "string", "percentualCredito": "string", "observacao": "string", "dispositivoLegal": "string", "vbc": "string", "vCredito": "string" } } ] } ], "icmsTot": { "vBC": "string", "vICMS": "string", "vICMSDeson": "string", "vFCP": "string", "vFCPUFDest": "string", "vICMSUFDest": "string", "vICMSUFRemet": "string", "vBCST": "string", "vST": "string", "vFCPST": "string", "vFCPSTRet": "string", "qBCMono": "string", "vICMSMono": "string", "qBCMonoReten": "string", "vICMSMonoReten": "string", "qBCMonoRet": "string", "vICMSMonoRet": "string", "vProd": "string", "vFrete": "string", "vSeg": "string", "vDesc": "string", "vII": "string", "vIPI": "string", "vIPIDevol": "string", "vPIS": "string", "vCOFINS": "string", "vOutro": "string", "vNF": "string", "vTotTrib": "string", "vServ": "string" }, "isTot": { "vIS": "string" }, "ibscbsTot": { "vBCIBSCBS": "string", "gIBS": { "gIBSUF": { "vDif": "string", "vDevTrib": "string", "vIBSUF": "string" }, "gIBSMun": { "vDif": "string", "vDevTrib": "string", "vIBSMun": "string" }, "vIBS": "string", "vCredPres": "string", "vCredPresCondSus": "string" }, "gCBS": { "vDif": "string", "vDevTrib": "string", "vCBS": "string", "vCredPres": "string", "vCredPresCondSus": "string" }, "gMono": { "vIBSMono": "string", "vCBSMono": "string", "vIBSMonoReten": "string", "vCBSMonoReten": "string", "vIBSMonoRet": "string", "vCBSMonoRet": "string" }, "vTotNF": "string" } } 12 - Configurações Algumas funcionalidades disponíveis no motor de cálculo, são ativas por configurações especificas.   Essas configurações podem ser consultadas e gerenciadas através da tela do cockpit.   Abaixo segue link do manual para essa tela no cockpit: Clique aqui 13 – Tabela De/Para Cenários Para busca de regras referente a reforma tributária, o motor considera apenas os cenários cujo parâmetros constem na tabela de De/Para de cenários presente no cockipt. Caso os parâmetros da operação, enviados na requisição do motor de cálculo não conste nessa tabela, o motor não encontrará a regra equivalente para a reforma tributária.   Abaixo segue link do manual para consulta e gerenciamento dessa tela no cockpit: Clique aqui   14 – Definições de Busca de Regras Para a busca de regras da reforma tributária, temos algumas definições que diferem da busca de regras do motor atual. Abaixo segue essas definições, na ordem de prioridade do motor: A) Busca de regra geral por operação Primeiramente o motor considera a busca de regras gerais por operação, onde é feito uma busca de regras considerando os parâmetros do cenário indicado na chamada e o código do produto, ncm e origem = vazio. Para identificar esse tipo de retorno, é retornado no campo genérico do retorno a marcação = “buscaRT=regraGeralOperacao” . Caso não encontre regra nessa etapa, segue para a próxima busca. B) Busca de regra específica por código de produto ou ean Nessa etapa o motor irá buscar regras específicas, aquelas cujo produto, ean e origem são preenchidos na regra, considerando as demais informações enviadas na requisição. Nesse tipo de regra, se encaixa os seguintes critérios, respeitando a seguinte ordem: 1) Busca por código de produto informado na chamada = É necessário que a configuração “AtivaBuscaCodProd” esteja ativa no cockpit; Se não encontrar, segue para o item 2:  2) Busca por ean informado na chamada = É necessário que a configuração “AtivaBuscaEan” esteja ativa no cockpit; Nota : Todos esses critérios de buscam, também segue o critério de agrupamento de origem. Vide Tópico 20. Nas 2 hipóteses acima, caso seja encontrado uma regra específica, seja por código de produto ou ean, é feito antes uma busca na tabela de “produtos com regra geral”, para aquele código ou ean e cenário encontrado. Caso encontre um registro ativo e vigente nessa tabela, é feito uma comparação entre a data de criação desse registro e a data de criação da regra especifica encontrada. Se a data de criação da regra especifica seja mais recente, é consumido essa regra. Caso o registro da tabela “Produtos com regra geral” for mais recente, é feito uma busca de regra geral e entregue no retorno caso encontre. Se não encontrar a regra geral, é consumido a regra especifica encontrada anteriormente. Para identificar esses retornos, é retornado no campo genérico do retorno as seguintes marcações, a depender da situação: Se consumido regra específica por código: “buscaRT=regraEspecificaCodigo” . Se consumido regra específica por ean: “buscaRT=regraEspecificaEan” . Se consumido regra geral por código: “buscaRT=regraGeralCodigo” . Se consumido regra geral por ean: “buscaRT=regraGeralEan” .   Caso não encontre regra nessa etapa, segue para a próxima busca.    C) Busca por regra geral Nessa etapa, quando não é encontrado regras específicas da etapa acima, será validado se o código de produto ou ean informado na chamada + o cenário da operação, consta na tabela de “produtos com regra geral”. Caso encontre um registro ativo e vigente nessa tabela, é feito uma busca de regra geral e caso encontre é consumido essa regra. Para identificar esse tipo de retorno, é retornado no campo genérico do retorno as seguintes marcações: Se consumido regra geral por código: “buscaRT=regraGeralCodigo” . Ou Se consumido regra geral por ean: “buscaRT=regraGeralEan” . Caso não encontre regra nessa etapa, segue para a próxima busca. D) Busca de regra ondemand por código EAN Nessa etapa, é feito uma busca de regras ondemand, considerando o ean e origem indicado na chamada + os parâmetros do cenários. Referente aos parâmetros do cenário, pode ser considerado o de/para de perfis ou não. Caso não haja o de/para para os perfis indicado, não é impedimento para essa busca. Não havendo de/para de cenários do cenário RT para a busca ondemand, é retornando no campo genérico do retorno a marcação: deparaRT=N . Em relação ao ean indicado, é necessário que haja cadastrado na base interna do Supermercado Systax. (obs: não é necessário que o cliente tenha cadastrado em sua base). Se não houver cadastrado na base interna do Supermercado Systax, não será calculado regra nessa etapa. Para que essa busca seja feita, é necessário que a configuração “calculoOnDemand” esteja ativo na tela de “Configuração Tax Engine” ou que seja informado na tag “genérico” do cabeçalho da requisição a marcação: “busca=4”. Para identificar esse tipo de retorno, é retornado no campo genérico do retorno as seguintes marcações: Se regra ondemand for geral: “buscaRT=ondemandGeralEan” . Ou  Se regra ondemand for específica: “buscaRT=ondemandEspecificalEan” . Caso não encontre regra nessa etapa, segue para a próxima busca. E) Busca de regra especÍfica por NCM Nessa etapa o motor irá buscar regras específicas considerando a NCM e origem informado na chamada (também considerando se necessário o agrupamento de origem). Nesse tipo de busca   é necessário que a configuração “AtivaBuscaNCM” esteja ativa no cockpit. Nessa busca, caso seja encontrado uma regra específica é feito antes uma busca na tabela de “produtos com regra geral”, para aquela NCM e cenário encontrado. Caso encontre um registro ativo e vigente nessa tabela, é feito uma comparação entre a data de criação desse registro e a data de criação da regra especifica encontrada. Se a data de criação da regra especifica seja mais recente, é consumido essa regra. Caso o registro da tabela “Produtos com regra geral” for mais recente, é feito uma busca de regra geral e entregue no retorno caso encontre. Se não encontrar a regra geral, é consumido a regra especifica encontrada anteriormente. Para identificar esses retornos, é retornado no campo genérico do retorno as seguintes marcações, a depender da situação: Se consumido regra específica por NCM: “buscaRT=regraEspecificaNCM” . Ou  Se consumido regra geral por NCM: “buscaRT=regraGeralNCM” . Caso não encontre regra nessa etapa, segue para a próxima busca. F) Busca de regra geral por NCM Nessa etapa, quando não é encontrado regras específicas por NCM da etapa acima, será validado se a NCM informado na chamada + o cenário da operação, consta na tabela de “produtos com regra geral”. Caso encontre um registro ativo e vigente nessa tabela, é feito uma busca de regra geral e caso encontre é consumido essa regra. Para identificar esse tipo de retorno, é retornado no campo genérico do retorno a marcação: “buscaRT=regraGeralNCM” . Caso não encontre regra nessa etapa, segue para a próxima busca. G) Busca de regra ondemand por NCM Nessa etapa, é feito uma busca de regras ondemand, considerando a NCM e origem indicado na chamada + os parâmetros do cenários. Referente aos parâmetros do cenário, pode ser considerado o de/para de perfis ou não. Caso não haja o de/para para os perfis indicado, não é impedimento para essa busca. Não havendo de/para de cenários do cenário RT para a busca ondemand, é retornando no campo genérico do retorno a marcação: deparaRT=N . Em relação a NCM indicada é necessário que haja cadastrado na base interna do Supermercado Systax. (obs: não é necessário que o cliente tenha cadastrado em sua base). Se não houver cadastrado na base interna do Supermercado Systax, não será calculado regra nessa etapa. Para que essa busca seja feita, é necessário que a configuração “calculoOnDemand” esteja ativo na tela de “Configuração Tax Engine” ou que seja informado na tag “genérico” do cabeçalho da requisição a marcação: “busca=4”. Para identificar esse tipo de retorno, é retornado no campo genérico do retorno as seguintes marcações: Se regra ondemand for geral: “buscaRT=ondemandGeralNCM” . Ou  Se regra ondemand for específica: “buscaRT=ondemandEspecificalNCM” . Todas as etapas acima indicadas são as que o motor percorre para retornar uma regra válida e vigente na data do cálculo. Caso não seja encontrado regra da reforma, os blocos serão suprimidos. 15 – Busca de Regras Reforma Tributária anterior a Janeiro/2026 Todas as regras da Reforma tributária possui vigência a partir de 01/01/2026. Porém é possível realizar chamadas no motor de cálculo com data anterior a esta. Para isso, é necessário que a configuração “buscaVigenciaReforma” esteja ativa na tela de configurações do Cockpit.  Com essa configuração ativa, o motor retornará regras da reforma tributária ainda que a data informada na requisição seja menor que 01/01/2026.   16 – Configurações de Cálculo Para o cálculo dos tributos da reforma tributária, é possível que seja configurado a opção de abater da Base de cálculo da operação, os valores dos tributos da tributação atual (ICMS, PIS, COFINS, IPI, ST). Para isso, é necessário que seja cadastrado na tela do cockpit “Configurações cálculo”, registros que podem ter determinadas condições. O motor fará uma busca nessa tabela, e para a operação enviada na requisição, caso seja encontrado algum registro vigente e ativo na data do cálculo, irá alterar a base de cálculo da reforma tributária, de acordo com o que for informado na tabela. Para a consulta de registros existentes nessa tabela, o motor considera os seguintes parâmetros: Campo tabela Cokpit request / Retorno / regra Campo Motor OBS AÇÃO   -   -   - ENTRADA / SAÍDA Request TPNF: 0 = Entrada 1 = Saída   - NATUREZA OPERAÇÃO Request naturezaOperacao   - FINALIDADE Request finalidade   - ORIGEM Request perfilOrigem   - DESTINAÇÃO Request perfilDestino   - UF ORIGEM Request ufOrigem   - UF DESTINO Request ufDestino   - BC COMPOSIÇÃO Regra BC COMPOSIÇÃO   - ICMS Retorno vICMS + vFCP + vICMSUFDest + vICMSDeson Para o vICMSDeson apenas considera o valor se motDesICMS=7, caso contrário, considera valor 0,00. ICMS ST Retorno vICMSST + vFCPST   - PIS Retorno vPis   - COFINS Retorno vCofins   - IPI Retorno vIPI   Gross/Net Request impAtiv Gross => impAtiv = 1 ou vazio Net =>   impAtiv = 0 ou 4 Abaixo segue link do manual para consulta e gerenciamento dessa tela no cockpit: Clique aqui 17 - Devolução XML No Motor de Cálculo é possivel consultar uma operação de devolução a partir de um XML. Para isso basta indicar na tag “genérico” do cabeçalho a marcação " finNFe=4 " e na tag “cData”, o XML em mãos da nota original ou até mesmo em formato Base64. Nota : Caso o XML esteja em formato original, é necessário fazer um tratamento nele antes de enviar na requisição. Basta colocar antes de cada aspas dupla ( “ ), uma barra invertida ( \ ). Caso o XML esteja em formato base64, não é necessário tratamento. Com isso a requisição não será feita por pesquisa de regra; somente será convertido os dados do XML em dados de devolução. O retorno é exatamente os mesmos valores constantes no XML, o único cálculo que o motor fará é em relação a quantidade devolvida, pois como sabemos, algumas vezes uma devolução pode ocorrer de forma parcial. Para a devolução parcial da quantidade do item, basta preencher um item na chamada, com a indicação da tag “ ID ” com o mesmo valor do “ ID ” do item do XML, e no campo “ qTrib ” da requisição indicar a quantidade a ser devolvido, com isso o motor de cálculo vai dividir os valores do XML pela quantidade do item, e depois multiplicar pela quantidade que será devolvida. Exemplo : Uma nota fiscal com 10 produtos diferentes, ou seja, contém 10 itens no XML, e um dos produtos, ID 1 da nota, consta uma quantidade de 5 (qTrib=5), mas a sua devolução será de apenas a quantidade de 1, então na chamada deve ser indicado um item com o ID “1” e o qTrib=1, assim o motor de cálculo vai calcular esse item:   Dados do XML: ID = 1 qTrib = 5 vBC = 520,00 vIBSUF = 0,52 Dados enviado na chamada: ID = 1 qTrib = 1 Retorno do motor de cálculo desse item: vBC = (vBC do XML/qTrib do XML)*qTrib da chamada vBC = (520/5)*1 vBC = 104,00 vIBSUF = (vIBSUF do XML/qTrib do XML)*qTrib da chamada vIBSUF = (0,52/5)*1 vIBSUF = 0,10 Caso a quantidade a ser devolvida seja a mesma do XML, não é necessário preencher nenhum campo da chamada, exceto data de cálculo que é obrigatório. As definições que já temos para a Devolução por XML para o cálculo da tributação atual, não mudam, e podem ser consultadas através do manual abaixo: Clique aqui para acessar o manual de Devolução do Motor atual   18 - Devolução por Regra No Motor de Cálculo também é possivel consultar uma operação com base nas regras e converte-la em operação de devolução. Para isso basta indicar na tag “genérico” do cabeçalho a marcação " finNFe=4 " e os demais campos da requisição, preencher de forma habitual para consulta de regras. Para o cálculo da tributação atual, seguirá o que já está definido no manual do motor atual ( vide link do manual abaixo ), com as devidas trocas e mudanças do retorno. Referente a reforma tributária, o retorno não muda, pois ainda não há definições em relação a troca de parâmetros para a devolução. Clique aqui para acessar o manual de Devolução do Motor atual 19 - De/Para de Retornos - Motor x Motor Reforma Tributária De/para de Retornos Motor Motor Reforma Tributária Diferença { {     - status: {     - cod: 0,     - msg: "string",     - msg_personalizada: "string"     - },   itens: [ itens: [   { {   id: "string", id: "string",   cProd: "string", cProd: "string",   CEST: "string", cest : "string", Letras minúsculas CFOP: "string", cfop : "string", Letras minúsculas NCM: "string", ncm : "string", Letras minúsculas EXTIPI: "string", extipi : "string", Letras minúsculas   - orig: "string",   NvProdUni: "string", n vProdUni: "string", Letras minúsculas   - nvProdUniPC: "string",   generico: "string", generico: "string",   cBenef: "string", cBenef: "string",   status: { status: {   cod: "string", cod: 0,   msg: "string", msg: "string",   IDIncidente: "string"   - Suprimido   - msg_personalizada: "string"   }, },   NFe: {   - Suprimido imposto: { imposto: {   ICMS: { icms : { Letras minúsculas ICMS00: { icmS 00: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBC: "string", modBC: "string",   vBC: "string", vBC: "string",   pICMS: "string", pICMS: "string",   vICMS: "string", vICMS: "string",   pFCP: "string", pFCP: "string",   vFCP: "string" vFCP: "string"   }, },   ICMS10: { icmS 10: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBC: "string", modBC: "string",   vBC: "string", vBC: "string",   pICMS: "string", pICMS: "string",   vICMS: "string", vICMS: "string",   vBCFCP: "string", vBCFCP: "string",   pFCP: "string", pFCP: "string",   vFCP: "string", vFCP: "string",   modBCST: "string", modBCST: "string",   pMVAST: "string", pMVAST: "string",   pRedBCST: "string", pRedBCST: "string",   vBCST: "string", vBCST: "string",   pICMSST: "string", pICMSST: "string",   vICMSST: "string", vICMSST: "string",   vBCFCPST: "string", vBCFCPST: "string",   pFCPST: "string", pFCPST: "string",   vFCPST: "string", vFCPST: "string",   vICMSSTDeson: "string", vICMSSTDeson: "string",   motDesICMSST: "string" motDesICMSST: "string"   }, },   ICMS20: { icmS 20: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBC: "string", modBC: "string",   pRedBC: "string", pRedBC: "string",   vBC: "string", vBC: "string",   pICMS: "string", pICMS: "string",   vICMS: "string", vICMS: "string",   vBCFCP: "string", vBCFCP: "string",   pFCP: "string", pFCP: "string",   vFCP: "string", vFCP: "string",   vICMSDeson: "string", vICMSDeson: "string",   motDesICMS: "string", motDesICMS: "string",   indDeduzDeson: "string" indDeduzDeson: "string"   }, },   ICMS30: { icmS 30: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBCST: "string", modBCST: "string",   pMVAST: "string", pMVAST: "string",   pRedBCST: "string", pRedBCST: "string",   vBCST: "string", vBCST: "string",   pICMSST: "string", pICMSST: "string",   vICMSST: "string", vICMSST: "string",   vBCFCPST: "string", vBCFCPST: "string",   pFCPST: "string", pFCPST: "string",   vFCPST: "string", vFCPST: "string",   vICMSDeson: "string", vICMSDeson: "string",   motDesICMS: "string", motDesICMS: "string",   vICMSSTDeson: "string", vICMSSTDeson: "string",   motDesICMSST: "string", motDesICMSST: "string",   indDeduzDeson: "string" indDeduzDeson: "string"   }, },   ICMS40: { icmS 40: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas vICMSDeson: "string", vICMSDeson: "string",   motDesICMS: "string", motDesICMS: "string",   indDeduzDeson: "string" indDeduzDeson: "string"   }, },   ICMS51: { icmS 51: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBC: "string", modBC: "string",   pRedBC: "string", pRedBC: "string",   cBenefRBC: "string", cBenefRBC: "string",   vBC: "string", vBC: "string",   pICMS: "string", pICMS: "string",   vICMSOp: "string", vICMSOp: "string",   pDif: "string", pDif: "string",   vICMSDif: "string", vICMSDif: "string",   vICMS: "string", vICMS: "string",   vBCFCP: "string", vBCFCP: "string",   pFCP: "string", pFCP: "string",   vFCP: "string", vFCP: "string",   pFCPDif: "string", pFCPDif: "string",   vFCPDif: "string", vFCPDif: "string",   vFCPEfet: "string" vFCPEfet: "string"   }, },   ICMS60: { icmS 60: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas vBCSTRet: "string", vBCSTRet: "string",   pST: "string", pST: "string",   vICMSSubstituto: "string", vICMSSubstituto: "string",   vICMSSTRet: "string", vICMSSTRet: "string",   vBCFCPSTRet: "string", vBCFCPSTRet: "string",   pFCPSTRet: "string", pFCPSTRet: "string",   vFCPSTRet: "string", vFCPSTRet: "string",   pRedBCEfet: "string", pRedBCEfet: "string",   vBCEfet: "string", vBCEfet: "string",   pICMSEfet: "string", pICMSEfet: "string",   vICMSEfet: "string" vICMSEfet: "string"   }, },   ICMS70: { icmS 70: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBC: "string", modBC: "string",   pRedBC: "string", pRedBC: "string",   vBC: "string", vBC: "string",   pICMS: "string", pICMS: "string",   vICMS: "string", vICMS: "string",   vBCFCP: "string", vBCFCP: "string",   pFCP: "string", pFCP: "string",   vFCP: "string", vFCP: "string",   modBCST: "string", modBCST: "string",   pMVAST: "string", pMVAST: "string",   pRedBCST: "string", pRedBCST: "string",   vBCST: "string", vBCST: "string",   pICMSST: "string", pICMSST: "string",   vICMSST: "string", vICMSST: "string",   vBCFCPST: "string", vBCFCPST: "string",   pFCPST: "string", pFCPST: "string",   vFCPST: "string", vFCPST: "string",   vICMSDeson: "string", vICMSDeson: "string",   motDesICMS: "string", motDesICMS: "string",   vICMSSTDeson: "string", vICMSSTDeson: "string",   motDesICMSST: "string", motDesICMSST: "string",   indDeduzDeson: "string" indDeduzDeson: "string"   }, },   ICMS90: { icmS 90: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBC: "string", modBC: "string",   vBC: "string", vBC: "string",   pRedBC: "string", pRedBC: "string",   pICMS: "string", pICMS: "string",   vICMS: "string", vICMS: "string",   vBCFCP: "string", vBCFCP: "string",   pFCP: "string", pFCP: "string",   vFCP: "string", vFCP: "string",   modBCST: "string", modBCST: "string",   pMVAST: "string", pMVAST: "string",   pRedBCST: "string", pRedBCST: "string",   vBCST: "string", vBCST: "string",   pICMSST: "string", pICMSST: "string",   vICMSST: "string", vICMSST: "string",   vBCFCPST: "string", vBCFCPST: "string",   pFCPST: "string", pFCPST: "string",   vFCPST: "string", vFCPST: "string",   vICMSDeson: "string", vICMSDeson: "string",   motDesICMS: "string", motDesICMS: "string",   vICMSSTDeson: "string", vICMSSTDeson: "string",   motDesICMSST: "string", motDesICMSST: "string",   indDeduzDeson: "string" indDeduzDeson: "string"   }, },   ICMSSN101: { icmssN 101: { Letras minúsculas orig: "string", orig: "string",   CSOSN: "string", csosn : "string", Letras minúsculas pCredSN: "string", pCredSN: "string",   infCustoAquis: "string", vCredICMSSN: "string",   vCredICMSSN: "string" infCustoAquis: "string"   }, },   ICMSSN102: { icmssN 102: { Letras minúsculas orig: "string", orig: "string",   CSOSN: "string" csosn : "string" Letras minúsculas }, },   ICMSSN201: { icmssN 201: { Letras minúsculas orig: "string", orig: "string",   CSOSN: "string", csosn : "string", Letras minúsculas modBCST: "string", modBCST: "string",   pMVAST: "string", pMVAST: "string",   pRedBCST: "string", pRedBCST: "string",   vBCST: "string", vBCST: "string",   pICMSST: "string", pICMSST: "string",   vICMSST: "string", vICMSST: "string",   vBCFCPST: "string", vBCFCPST: "string",   pFCPST: "string", pFCPST: "string",   vFCPST: "string", vFCPST: "string",   pCredSN: "string", pCredSN: "string",   vCredICMSSN: "string", vCredICMSSN: "string",   vICMSSTDeson: "string", vICMSSTDeson: "string",   motDesICMSST: "string" motDesICMSST: "string"   }, },   ICMSSN202: { icmssN 202: { Letras minúsculas orig: "string", orig: "string",   CSOSN: "string", csosn : "string", Letras minúsculas modBCST: "string", modBCST: "string",   pMVAST: "string", pMVAST: "string",   pRedBCST: "string", pRedBCST: "string",   vBCST: "string", vBCST: "string",   pICMSST: "string", pICMSST: "string",   vICMSST: "string", vICMSST: "string",   vBCFCPST: "string", vBCFCPST: "string",   pFCPST: "string", pFCPST: "string",   vFCPST: "string", vFCPST: "string",   vICMSSTDeson: "string", vICMSSTDeson: "string",   motDesICMSST: "string" motDesICMSST: "string"   }, },   ICMSSN500: { icmssN 500: { Letras minúsculas orig: "string", orig: "string",   CSOSN: "string", csosn : "string", Letras minúsculas vBCSTRet: "string", vBCSTRet: "string",   pST: "string", pST: "string",   vICMSSubstituto: "string", vICMSSubstituto: "string",   vICMSSTRet: "string", vICMSSTRet: "string",   vBCFCPSTRet: "string", vBCFCPSTRet: "string",   pFCPSTRet: "string", pFCPSTRet: "string",   vFCPSTRet: "string", vFCPSTRet: "string",   pRedBCEfet: "string", pRedBCEfet: "string",   vBCEfet: "string", vBCEfet: "string",   pICMSEfet: "string", pICMSEfet: "string",   vICMSEfet: "string" vICMSEfet: "string"   }, },   ICMSSN900: { icmssN 900: { Letras minúsculas orig: "string", orig: "string",   CSOSN: "string", csosn : "string", Letras minúsculas modBC: "string", modBC: "string",   vBC: "string", vBC: "string",   pRedBC: "string", pRedBC: "string",   pICMS: "string", pICMS: "string",   vICMS: "string", vICMS: "string",   modBCST: "string", modBCST: "string",   pMVAST: "string", pMVAST: "string",   pRedBCST: "string", pRedBCST: "string",   vBCST: "string", vBCST: "string",   pICMSST: "string", pICMSST: "string",   vICMSST: "string", vICMSST: "string",   vBCFCPST: "string", vBCFCPST: "string",   pFCPST: "string", pFCPST: "string",   vFCPST: "string", vFCPST: "string",   pCredSN: "string", pCredSN: "string",   vCredICMSSN: "string" vCredICMSSN: "string"   }, },   ICMSSN300: { icmssN 300: { Letras minúsculas orig: "string", orig: "string"   CSOSN: "string" csosn : "string", Letras minúsculas }, },   ICMSSN400: { icmssN 400: { Letras minúsculas CSOSN: "string", csosn : "string", Letras minúsculas orig: "string" orig: "string"   }, },   ICMS02: { icmS 02: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas qBCMono: "string", qBCMono: "string",   adRemICMS: "string", adRemICMS: "string",   vICMSMono: "string" vICMSMono: "string"   }, },   ICMS15: { icmS 15: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas qBCMono: "string", qBCMono: "string",   adRemICMS: "string", adRemICMS: "string",   vICMSMono: "string", vICMSMono: "string",   qBCMonoReten: "string", qBCMonoReten: "string",   adRemICMSReten: "string", adRemICMSReten: "string",   vICMSMonoReten: "string", vICMSMonoReten: "string",   pRedAdRem: "string", pRedAdRem: "string",   motRedAdRem: "string" motRedAdRem: "string"   }, },   ICMS61: { icmS 61: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas qBCMonoRet: "string", qBCMonoRet: "string",   adRemICMSRet: "string", adRemICMSRet: "string",   vICMSMonoRet: "string" vICMSMonoRet: "string"   }, },   ICMS53: { icmS 53: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas qBCMono: "string", qBCMono: "string",   adRemICMS: "string", adRemICMS: "string",   vICMSMonoOp: "string", vICMSMonoOp: "string",   pDif: "string", pDif: "string",   vICMSMonoDif: "string", vICMSMonoDif: "string",   vICMSMono: "string" vICMSMono: "string"   }, },   ICMSPart: { icms Part: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBC: "string", modBC: "string",   vBC: "string", vBC: "string",   pRedBC: "string", pRedBC: "string",   pICMS: "string", pICMS: "string",   vICMS: "string", vICMS: "string",   modBCST: "string", modBCST: "string",   pMVAST: "string", pMVAST: "string",   pRedBCST: "string", pRedBCST: "string",   vBCST: "string", vBCST: "string",   pICMSST: "string", pICMSST: "string",   vICMSST: "string", vICMSST: "string",   pBCOp: "string", pBCOp: "string",   UFST: "string" ufst : "string" Letras minúsculas } }   }, },   IPI: { ipi : { Letras minúsculas cEnq: "string", cEnq: "string",   IPITrib: { ipi Trib: { Letras minúsculas CST: "string", cst : "string", Letras minúsculas vBC: "string", vBC: "string",   pIPI: "string", pIPI: "string",   qUnid: "string", qUnid: "string",   vUnid: "string", vUnid: "string",   vIPI: "string" vIPI: "string"   }, },   IPINT: { ipint : { Letras minúsculas CST: "string" cst : "string", Letras minúsculas } }   }, },   PIS: { pis : { Letras minúsculas PISAliq: { pis Aliq: { Letras minúsculas CST: "string", cst : "string", Letras minúsculas vBC: "string", vBC: "string",   pPIS: "string", pPIS: "string",   vPIS: "string" vPIS: "string"   }, },   PISQtde: { pis Qtde: { Letras minúsculas CST: "string", cst : "string", Letras minúsculas qBCProd: "string", qBCProd: "string",   vAliqProd: "string", vAliqProd: "string",   vPIS: "string" vPIS: "string"   }, },   PISNT: { pisnt : { Letras minúsculas CST: "string" cst : "string", Letras minúsculas }, },   PISOutr: { pis Outr: { Letras minúsculas CST: "string", cst : "string", Letras minúsculas vBC: "string", vBC: "string",   pPIS: "string", pPIS: "string",   qBCProd: "string", qBCProd: "string",   vAliqProd: "string", vAliqProd: "string",   vPIS: "string" vPIS: "string"   } }   }, },   PISST: { pisst : { Letras minúsculas vBC: "string", vBC: "string",   pPIS: "string", pPIS: "string",   qBCProd: "string", qBCProd: "string",   vAliqProd: "string", vAliqProd: "string",   vPIS: "string", vPIS: "string",   indSomaPISST: "string" indSomaPISST: "string"   }, },   COFINS: { cofins : { Letras minúsculas COFINSAliq: { cofins Aliq: { Letras minúsculas CST: "string", cst : "string", Letras minúsculas vBC: "string", vBC: "string",   pCOFINS: "string", pCOFINS: "string",   vCOFINS: "string" vCOFINS: "string"   }, },   COFINSQtde: { cofins Qtde: { Letras minúsculas CST: "string", cst : "string", Letras minúsculas qBCProd: "string", qBCProd: "string",   vAliqProd: "string", vAliqProd: "string",   vCOFINS: "string" vCOFINS: "string"   }, },   COFINSNT: { cofinsnt : { Letras minúsculas CST: "string" cst : "string", Letras minúsculas }, },   COFINSOutr: { cofins Outr: { Letras minúsculas CST: "string", cst : "string", Letras minúsculas vBC: "string", vBC: "string",   pCOFINS: "string", pCOFINS: "string",   qBCProd: "string", qBCProd: "string",   vAliqProd: "string", vAliqProd: "string",   vCOFINS: "string" vCOFINS: "string"   } }   }, },   COFINSST: { cofinsst : { Letras minúsculas vBC: "string", vBC: "string",   pCOFINS: "string", pCOFINS: "string",   qBCProd: "string", qBCProd: "string",   vAliqProd: "string", vAliqProd: "string",   vCOFINS: "string", vCOFINS: "string",   indSomaCOFINSST: "string" indSomaCOFINSST: "string"   }, },   ICMSUFDest: { icmsuf Dest: { Letras minúsculas vBCUFDest: "string", vBCUFDest: "string",   vBCFCPUFDest: "string", vBCFCPUFDest: "string",   pFCPUFDest: "string", pFCPUFDest: "string",   pICMSUFDest: "string", pICMSUFDest: "string",   pICMSInter: "string", pICMSInter: "string",   pICMSInterPart: "string", pICMSInterPart: "string",   vFCPUFDest: "string", vFCPUFDest: "string",   vICMSUFDest: "string", vICMSUFDest: "string",   vICMSUFRemet: "string" vICMSUFRemet: "string"   } },     - is: {     - cstis: "string",     - cClassTribIS: "string",     - vBCIS: "string",     - pIS: "string",     - pISEspec: "string",     - uTrib: "string",     - qTrib: "string",     - vIS: "string"     - },     - gIBSCBS: {     - cst : "string",     - cClassTrib: "string",     - vBC: "string",     - gIBSUF: {     - pIBSUF: "string",     - gDif: {     - pDif: "string",     - vDif: "string"     - },     - gDevTrib: {     - vDevTrib: "string"     - },     - gRed: {     - pRedAliq: "string",     - pAliqEfet: "string"     - },     - vIBSUF: "string"     - },     - gIBSMun: {     - pIBSMun: "string",     - gDif: {     - pDif: "string",     - vDif: "string"     - },     - gDevTrib: {     - vDevTrib: "string"     - },     - gRed: {     - pRedAliq: "string",     - pAliqEfet: "string"     - },     - vIBSMun: "string"     - },     - gCBS: {     - pCBS: "string",     - gDif: {     - pDif: "string",     - vDif: "string"     - },     - gDevTrib: {     - vDevTrib: "string"     - },     - gRed: {     - pRedAliq: "string",     - pAliqEfet: "string"     - },     - vCBS: "string"     - },     - gTribRegular: {     - cstReg: "string",     - cClassTribReg: "string",     - pAliqEfetRegIBSUF: "string",     - vTribRegIBSUF: "string",     - pAliqEfetRegIBSMun: "string",     - vTribRegIBSMun: "string",     - pAliqEfetRegCBS: "string",     - vTribRegCBS: "string"     - },     - gIBSCredPres: {     - cCredPres: "string",     - pCredPres: "string",     - vCredPres: "string",     - vCredPresCondSus: "string"     - },     - gCBSCredPres: {     - cCredPres: "string",     - pCredPres: "string",     - vCredPres: "string",     - vCredPresCondSus: "string"     - }     - },     - gIBSCBSMono: {     - qBCMono: "string",     - adRemIBS: "string",     - adRemCBS: "string",     - vIBSMono: "string",     - vCBSMono: "string",     - qBCMonoReten: "string",     - adRemIBSReten: "string",     - vIBSMonoReten: "string",     - adRemCBSReten: "string",     - vCBSMonoReten: "string",     - qBCMonoRet: "string",     - adRemIBSRet: "string",     - vIBSMonoRet: "string",     - adRemCBSRet: "string",     - vCBSMonoRet: "string",     - pDifIBS: "string",     - vIBSMonoDif: "string",     - pDifCBS: "string",     - vCBSMonoDif: "string",     - vTotIBSMonoItem: "string",     - vTotCBSMonoItem: "string"     - }   }, },   infAdProd: "string", infAdProd: "string",   infCpl: "string" infCpl: "string"   }, },   conteudoAuxiliar: [ conteudoAuxiliar: [   { {   ICMSDeson: { icms Deson: { Letras minúsculas motDesICMS: "string", motDesICMS: "string",   indDeduzDeson: "string", indDeduzDeson: "string",   bcICMSDeson: "string", bcICMSDeson: "string",   pICMSDeson: "string", pICMSDeson: "string",   vICMSDeson: "string" vICMSDeson: "string"   }, },   ICMSDifalContribuinte: { icms DifalContribuinte: { Letras minúsculas bc_difal: "string", bc_difal: "string",   percentual_difal: "string", percentual_difal: "string",   vl_difal: "string", vl_difal: "string",   bc_difal_fcp: "string", bc_difal_fcp: "string",   percentual_difal_fcp: "string", percentual_difal_fcp: "string",   vl_difal_fcp: "string" vl_difal_fcp: "string"   }, },   ICMSCred: { icms Cred: { Letras minúsculas cst_entrada: "string", cst_entrada: "string",   indicador_credito: "string", indicador_credito: "string",   percentual_credito: "string", percentual_credito: "string",   valor_base_calculo: "string", valor_base_calculo: "string",   valor_base_calculo_icmsst: "string", valor_base_calculo_icmsst: "string",   valor_credito: "string", valor_credito: "string",   valor_credito_icmsst: "string", valor_credito_icmsst: "string",   valor_credito_fcp: "string", valor_credito_fcp: "string",   valor_credito_fcp_icmsst: "string", valor_credito_fcp_icmsst: "string",   dispositivo_legal: "string", dispositivo_legal: "string",   observacoes: "string", observacoes: "string",   generico: "string", generico: "string",   pICMS: "string", pICMS: "string",   pFCP: "string" pFCP: "string"   }, },   ICMS_Antecipacao: { icmS _Antecipacao: { Letras minúsculas tipo_antecipacao: "string", tipo_antecipacao: "string",   encerra_trib: "string", encerra_trib: "string",   responsavel: "string", responsavel: "string",   p_red_bc_interna_dest: "string", p_red_bc_interna_dest: "string",   aliq_interna_dest: "string", aliq_interna_dest: "string",   bc_icms_antecipacao: "string", bc_icms_antecipacao: "string",   unidade_pauta: "string", unidade_pauta: "string",   vigencia_de: "string", vigencia_de: "string",   vigencia_ate: "string", vigencia_ate: "string",   dispositivo_legal: "string", dispositivo_legal: "string",   observacoes: "string", observacoes: "string",   valor_icms_antecipacao: "string", valor_icms_antecipacao: "string",   vBCFCP_antecip: "string", vBCFCP_antecip: "string",   pFCP_antecip: "string", pFCP_antecip: "string",   vFCP_antecip: "string", vFCP_antecip: "string",   perc_fixo: "string", perc_fixo: "string",   mva: "string", mva: "string",   mva_ajustado: "string", mva_ajustado: "string",   mva_lista_positiva_ajustado: "string", mva_lista_positiva_ajustado: "string",   mva_lista_negativa_ajustado: "string", mva_lista_negativa_ajustado: "string",   mva_lista_neutra_ajustado: "string", mva_lista_neutra_ajustado: "string",   valor_pauta: "string" valor_pauta: "string"   }, },   ICMS_ANTECIPACAOCred: { icmS _ANTECIPACAOCred: { Letras minúsculas cst_entrada: "string", cst_entrada: "string",   indicador_credito: "string", indicador_credito: "string",   valor_base_calculo: "string", valor_base_calculo: "string",   percentual_credito: "string", percentual_credito: "string",   valor_credito: "string", valor_credito: "string",   dispositivo_legal: "string", dispositivo_legal: "string",   observacoes: "string", observacoes: "string",   generico: "string", generico: "string",   pAlq_Interna_Dest: "string", pAlq_Interna_Dest: "string",   pFCP: "string" pFCP: "string"   }, },   SIMULACAO_ICMS_ST: { simulacaO _ICMS_ST: { Letras minúsculas ICMS10_simulacao: { icmS 10_simulacao: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBC: "string", modBC: "string",   vBC: "string", vBC: "string",   pICMS: "string", pICMS: "string",   vICMS: "string", vICMS: "string",   vBCFCP: "string", vBCFCP: "string",   pFCP: "string", pFCP: "string",   vFCP: "string", vFCP: "string",   modBCST: "string", modBCST: "string",   pMVAST: "string", pMVAST: "string",   pRedBCST: "string", pRedBCST: "string",   vBCST: "string", vBCST: "string",   pICMSST: "string", pICMSST: "string",   vICMSST: "string", vICMSST: "string",   vBCFCPST: "string", vBCFCPST: "string",   pFCPST: "string", pFCPST: "string",   vFCPST: "string" vFCPST: "string"   }, },   ICMS30_simulacao: { icmS 30_simulacao: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBCST: "string", modBCST: "string",   pMVAST: "string", pMVAST: "string",   pRedBCST: "string", pRedBCST: "string",   vBCST: "string", vBCST: "string",   pICMSST: "string", pICMSST: "string",   vICMSST: "string", vICMSST: "string",   vBCFCPST: "string", vBCFCPST: "string",   pFCPST: "string", pFCPST: "string",   vFCPST: "string", vFCPST: "string",   vICMSDeson: "string", vICMSDeson: "string",   motDesICMS: "string" motDesICMS: "string"   }, },   ICMS70_simulacao: { icmS 70_simulacao: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBC: "string", modBC: "string",   pRedBC: "string", pRedBC: "string",   vBC: "string", vBC: "string",   pICMS: "string", pICMS: "string",   vICMS: "string", vICMS: "string",   vBCFCP: "string", vBCFCP: "string",   pFCP: "string", pFCP: "string",   vFCP: "string", vFCP: "string",   modBCST: "string", modBCST: "string",   pMVAST: "string", pMVAST: "string",   pRedBCST: "string", pRedBCST: "string",   vBCST: "string", vBCST: "string",   pICMSST: "string", pICMSST: "string",   vICMSST: "string", vICMSST: "string",   vBCFCPST: "string", vBCFCPST: "string",   pFCPST: "string", pFCPST: "string",   vFCPST: "string", vFCPST: "string",   vICMSDeson: "string", vICMSDeson: "string",   motDesICMS: "string" motDesICMS: "string"   }, },   ICMSSN201_Simulacao: { icmssN 201_Simulacao: { Letras minúsculas orig: "string", orig: "string",   CSOSN: "string", csosn : "string", Letras minúsculas modBCST: "string", modBCST: "string",   pMVAST: "string", pMVAST: "string",   pRedBCST: "string", pRedBCST: "string",   vBCST: "string", vBCST: "string",   pICMSST: "string", pICMSST: "string",   vICMSST: "string", vICMSST: "string",   vBCFCPST: "string", vBCFCPST: "string",   pFCPST: "string", pFCPST: "string",   vFCPST: "string", vFCPST: "string",   pCredSN: "string", pCredSN: "string",   vCredICMSSN: "string" vCredICMSSN: "string"   }, },   ICMSSN202_Simulacao: { icmssN 202_Simulacao: { Letras minúsculas orig: "string", orig: "string",   CSOSN: "string", csosn : "string", Letras minúsculas modBCST: "string", modBCST: "string",   pMVAST: "string", pMVAST: "string",   pRedBCST: "string", pRedBCST: "string",   vBCST: "string", vBCST: "string",   pICMSST: "string", pICMSST: "string",   vICMSST: "string", vICMSST: "string",   vBCFCPST: "string", vBCFCPST: "string",   pFCPST: "string", pFCPST: "string",   vFCPST: "string" vFCPST: "string"   }, },   ICMS60_simulacao: { icmS 60_simulacao: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas vBCSTRet: "string", vBCSTRet: "string",   pST: "string", pST: "string",   vICMSSubstituto: "string", vICMSSubstituto: "string",   vICMSSTRet: "string", vICMSSTRet: "string",   vBCFCPSTRet: "string", vBCFCPSTRet: "string",   pFCPSTRet: "string", pFCPSTRet: "string",   vFCPSTRet: "string", vFCPSTRet: "string",   pRedBCEfet: "string", pRedBCEfet: "string",   vBCEfet: "string", vBCEfet: "string",   pICMSEfet: "string", pICMSEfet: "string",   vICMSEfet: "string" vICMSEfet: "string"   }, },   ICMS00_simulacao: { icmS 00_simulacao: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBC: "string", modBC: "string",   vBC: "string", vBC: "string",   pICMS: "string", pICMS: "string",   vICMS: "string", vICMS: "string",   pFCP: "string", pFCP: "string",   vFCP: "string" vFCP: "string"   }, },   ICMS20_simulacao: { icmS 20_simulacao: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBC: "string", modBC: "string",   pRedBC: "string", pRedBC: "string",   vBC: "string", vBC: "string",   pICMS: "string", pICMS: "string",   vICMS: "string", vICMS: "string",   vBCFCP: "string", vBCFCP: "string",   pFCP: "string", pFCP: "string",   vFCP: "string", vFCP: "string",   vICMSDeson: "string", vICMSDeson: "string",   motDesICMS: "string", motDesICMS: "string",   indDeduzDeson: "string" indDeduzDeson: "string"   }, },   ICMS40_simulacao: { icmS 40_simulacao: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas vICMSDeson: "string", vICMSDeson: "string",   motDesICMS: "string", motDesICMS: "string",   indDeduzDeson: "string" indDeduzDeson: "string"   }, },   ICMS51_simulacao: { icmS 51_simulacao: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBC: "string", modBC: "string",   pRedBC: "string", pRedBC: "string",   cBenefRBC: "string", cBenefRBC: "string",   vBC: "string", vBC: "string",   pICMS: "string", pICMS: "string",   vICMSOp: "string", vICMSOp: "string",   pDif: "string", pDif: "string",   vICMSDif: "string", vICMSDif: "string",   vICMS: "string", vICMS: "string",   vBCFCP: "string", vBCFCP: "string",   pFCP: "string", pFCP: "string",   vFCP: "string", vFCP: "string",   pFCPDif: "string", pFCPDif: "string",   vFCPDif: "string", vFCPDif: "string",   vFCPEfet: "string" vFCPEfet: "string"   }, },   ICMS90_simulacao: { icmS 90_simulacao: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBC: "string", modBC: "string",   vBC: "string", vBC: "string",   pRedBC: "string", pRedBC: "string",   pICMS: "string", pICMS: "string",   vICMS: "string", vICMS: "string",   vBCFCP: "string", vBCFCP: "string",   pFCP: "string", pFCP: "string",   vFCP: "string", vFCP: "string",   modBCST: "string", modBCST: "string",   pMVAST: "string", pMVAST: "string",   pRedBCST: "string", pRedBCST: "string",   vBCST: "string", vBCST: "string",   pICMSST: "string", pICMSST: "string",   vICMSST: "string", vICMSST: "string",   vBCFCPST: "string", vBCFCPST: "string",   pFCPST: "string", pFCPST: "string",   vFCPST: "string", vFCPST: "string",   vICMSDeson: "string", vICMSDeson: "string",   motDesICMS: "string", motDesICMS: "string",   vICMSSTDeson: "string", vICMSSTDeson: "string",   motDesICMSST: "string", motDesICMSST: "string",   indDeduzDeson: "string" indDeduzDeson: "string"   }, },   ICMSPart_simulacao: { icms Part_simulacao: { Letras minúsculas orig: "string", orig: "string",   CST: "string", cst : "string", Letras minúsculas modBC: "string", modBC: "string",   vBC: "string", vBC: "string",   pRedBC: "string", pRedBC: "string",   pICMS: "string", pICMS: "string",   vICMS: "string", vICMS: "string",   modBCST: "string", modBCST: "string",   pMVAST: "string", pMVAST: "string",   pRedBCST: "string", pRedBCST: "string",   vBCST: "string", vBCST: "string",   pICMSST: "string", pICMSST: "string",   vICMSST: "string", vICMSST: "string",   pBCOp: "string", pBCOp: "string",   UFST: "string" ufst : "string" Letras minúsculas } }   }, },   IPICred: { ipi Cred: { Letras minúsculas cst_entrada: "string", cst_entrada: "string",   indicador_credito: "string", indicador_credito: "string",   valor_base_calculo: "string", valor_base_calculo: "string",   percentual_credito: "string", percentual_credito: "string",   valor_credito: "string", valor_credito: "string",   dispositivo_legal: "string", dispositivo_legal: "string",   observacoes: "string", observacoes: "string",   generico: "string", generico: "string",   pIPI: "string" pIPI: "string"   }, },   PISCred: { pis Cred: { Letras minúsculas cst_entrada: "string", cst_entrada: "string",   indicador_credito: "string", indicador_credito: "string",   valor_base_calculo: "string", valor_base_calculo: "string",   percentual_credito: "string", percentual_credito: "string",   valor_credito: "string", valor_credito: "string",   dispositivo_legal: "string", dispositivo_legal: "string",   observacoes: "string", observacoes: "string",   generico: "string", generico: "string",   pPIS: "string" pPIS: "string"   }, },   COFINSCred: { cofins Cred: { Letras minúsculas cst_entrada: "string", cst_entrada: "string",   indicador_credito: "string", indicador_credito: "string",   valor_base_calculo: "string", valor_base_calculo: "string",   percentual_credito: "string", percentual_credito: "string",   valor_credito: "string", valor_credito: "string",   dispositivo_legal: "string", dispositivo_legal: "string",   observacoes: "string", observacoes: "string",   generico: "string", generico: "string",   pCOFINS: "string" pCOFINS: "string"   }, },   Funrural: { f unrural: { Letras minúsculas vBC: "string", vBC: "string",   pAliq: "string", pAliq: "string",   vFunrural: "string" vFunrural: "string"   }, },   ICMSCombustiveis: { icms Combustiveis: { Letras minúsculas vBCSTRet: "string", vBCSTRet: "string",   pST: "string", pST: "string",   vBC_Distrib: "string", vBC_Distrib: "string",   Parcela_Retido: "string" p arcela_Retido: "string" Letras minúsculas }, },   DispositivoLegal: { d ispositivoLegal: { Letras minúsculas DispositivoLegalICMS: "string", d ispositivoLegalICMS: "string", Letras minúsculas DispositivoLegalICMSST: "string", d ispositivoLegalICMSST: "string", Letras minúsculas DispositivoLegalIPI: "string", d ispositivoLegalIPI: "string", Letras minúsculas DispositivoLegalPIS: "string", d ispositivoLegalPIS: "string", Letras minúsculas DispositivoLegalCOFINS: "string" d ispositivoLegalCOFINS: "string", Letras minúsculas   - isDispositivoLegal: "string",     - ibsufDispositivoLegal: "string",     - ibsMunDispositivoLegal: "",     - cbsDispositivoLegal: "string"   }, },   repasseMedicamentos: { repasseMedicamentos: {   vBCRepasse: "string", vBCRepasse: "string",   pRepasse: "string", pRepasse: "string",   vRepasse: "string", vRepasse: "string",   vPF: "string", vPF: "string",   vTotalRepasse: "string", vTotalRepasse: "string",   vTotalPF: "string", vTotalPF: "string",   vPMC: "string" vPMC: "string"   }, },   Protege: { p rotege : { Letras minúsculas vBCProtege: "string", vBCProtege: "string",   vProtege: "string", vProtege: "string",   pProtege: "string" pProtege: "string"   }, },   CreditoEspecial: { c reditoEspecial: { Letras minúsculas ICMSCred: { icms Cred: { Letras minúsculas valor_base_calculo: "string", valor_base_calculo: "string",   valor_credito: "string", valor_credito: "string",   pFCP: "string", pFCP: "string",   pICMS: "string", pICMS: "string",   valor_credito_fcp: "string" valor_credito_fcp: "string"   }, },   IPICred: { ipi Cred: { Letras minúsculas valor_base_calculo: "string", valor_base_calculo: "string",   valor_credito: "string" valor_credito: "string",   pIPI: "string", pIPI: "string"   }, },   PISCred: { pis Cred: { Letras minúsculas valor_base_calculo: "string", valor_base_calculo: "string",   valor_credito: "string" valor_credito: "string",   pPIS: "string", pPIS: "string"   }, },   COFINSCred: { cofins Cred: { Letras minúsculas valor_base_calculo: "string", valor_base_calculo: "string",   valor_credito: "string", valor_credito: "string",   pCOFINS: "string" pCOFINS: "string"   } }   }, },   precoTotalItem: { precoTotalItem: {   precoTotalItem: "string" precoTotalItem: "string"   }, },   cargaTributaria: { cargaTributaria: {   cargaTributariaICMS: "string" cargaTributariaICMS: "string"   }, },   creditoPresumido: { creditoPresumido: {   vBCCredPresumido: "string", vBCCredPresumido: "string",   pCredPresumido: "string", pCredPresumido: "string",   vCredPresumido: "string", vCredPresumido: "string",   indicadorCredito: "string", indicadorCredito: "string",   dispositivoLegal: "string", dispositivoLegal: "string",   cCredPresumido: "string" cCredPresumido: "string"   }, },   margemLucro: { margemLucro: {   modalidade: "string", modalidade: "string",   margem: "string" margem: "string"   }, },   retencoesPisCofins: { retencoesPisCofins: {   PISRet: { pis Ret: { Letras minúsculas pPISRet: "string", pPISRet: "string",   vBCRet: "string", vBCRet: "string",   vPISRet: "string", vPISRet: "string",   dispositivoLegal: "string", dispositivoLegal: "string",   DARF: "string" darf : "string" Letras minúsculas }, },   COFINSRet: { cofins Ret: { Letras minúsculas pCOFINSRet: "string", pCOFINSRet: "string",   vBCRet: "string", vBCRet: "string",   vCOFINSRet: "string", vCOFINSRet: "string",   dispositivoLegal: "string", dispositivoLegal: "string",   DARF: "string" darf : "string" Letras minúsculas } }   }, },     - ibsufCred: {     - cfopEntrada: "string",     - cstEntrada: "string",     - indicadorCredito: "string",     - percentualCredito: "string",     - observacao: "string",     - dispositivoLegal: "string",     - vbc: "string",     - vCredito: "string"     - },     - ibsMunCred: {     - cfopEntrada: "string",     - cstEntrada: "string",     - indicadorCredito: "string",     - percentualCredito: "string",     - observacao: "string",     - dispositivoLegal: "string",     - vbc: "string",     - vCredito: "string"     - },     - cbsCred: {     - cfopEntrada: "string",     - cstEntrada: "string",     - indicadorCredito: "string",     - percentualCredito: "string",     - observacao: "string",     - dispositivoLegal: "string",     - vbc: "string",     - vCredito: "string"     - }   } }   ] ]   } }   ], ],   ICMSTot: { icms Tot: { Letras minúsculas vBC: "string", vBC: "string",   vICMS: "string", vICMS: "string",   vICMSDeson: "string", vICMSDeson: "string",   vFCPUFDest: "string", vFCP: "string",   vICMSUFDest: "string", vFCPUFDest: "string",   vICMSUFRemet: "string", vICMSUFDest: "string",   vFCP: "string", vICMSUFRemet: "string",   vBCST: "string", vBCST: "string",   vST: "string", vST: "string",   vFCPST: "string", vFCPST: "string",   vFCPSTRet: "string", vFCPSTRet: "string",   qBCMono: "string", qBCMono: "string",   vICMSMono: "string", vICMSMono: "string",   qBCMonoReten: "string", qBCMonoReten: "string",   vICMSMonoReten: "string", vICMSMonoReten: "string",   qBCMonoRet: "string", qBCMonoRet: "string",   vICMSMonoRet: "string", vICMSMonoRet: "string",   vProd: "string", vProd: "string",   vFrete: "string", vFrete: "string",   vSeg: "string", vSeg: "string",   vDesc: "string", vDesc: "string",   vII: "string", vII: "string",   vIPI: "string", vIPI: "string",   vIPIDevol: "string", vIPIDevol: "string",   vPIS: "string", vPIS: "string",   vCOFINS: "string", vCOFINS: "string",   vOutro: "string", vOutro: "string",   vNF: "string", vNF: "string",   vTotTrib: "string", vTotTrib: "string",   vServ: "string" vServ: "string"   } },   } isTot: {     - vIS: "string"     - },     - ibscbsTot: {     - vBCIBSCBS: "string",     - gIBS: {     - gIBSUF: {     - vDif: "string",     - vDevTrib: "string",     - vIBSUF: "string"     - },     - gIBSMun: {     - vDif: "string",     - vDevTrib: "string",     - vIBSMun: "string"     - },     - vIBS: "string",     - vCredPres: "string",     - vCredPresCondSus: "string"     - },     - gCBS: {     - vDif: "string",     - vDevTrib: "string",     - vCBS: "string",     - vCredPres: "string",     - vCredPresCondSus: "string"     - },     - gMono: {     - vIBSMono: "string",     - vCBSMono: "string",     - vIBSMonoReten: "string",     - vCBSMonoReten: "string",     - vIBSMonoRet: "string",     - vCBSMonoRet: "string"     - },     - vTotNF: "string"     - }     - }         20 - Agrupamento de Origem Abaixo segue correlação do agrupamento de origem. Caso o motor não encontre regras com a origem indicada na requisição, é feita uma busca com a origem relacionada. Para esse tipo de busca, não é necessário algum tratamento especifico, pois já é um padrão na busca do motor. Se operação interna ufOrigem = ufDestino Chamada com origem_produto = 0 ou 3 ou 5 ou 8 Buscar regra com origem, 0 ou 3 ou 5 ou 8 Retornar a origem_produto indicada na chamada Chamada com origem_produto = 1 ou 6 Buscar regra com origem, 1 ou 6 Retornar a origem_produto indicada na chamada Chamada com origem_produto = 2 ou 7 Buscar regra com origem, 2 ou 7 Retornar a origem_produto indicada na chamada Se operação interestadual ufOrigem <> ufDestino Chamada com origem_produto = 0 ou 5 Buscar regra com origem, 0 ou 5 Retornar a origem_produto indicada na chamada Chamada com origem_produto = 3 ou 8 Buscar regra com origem, 3 ou 8 Retornar a origem_produto indicada na chamada Chamada com origem_produto = 1 ou 2 Buscar regra com origem, 1 ou 2 Retornar a origem_produto indicada na chamada Chamada com origem_produto = 6 ou 7 Buscar regra com origem, 6 ou 7 Retornar a origem_produto indicada na chamada   21 - Materiais Semelhantes O Motor de Cálculo também possui a funcionalidade de consultar produtos cadastrados como Materiais Semelhantes no Cockpit. Quando um código de produto informado na requisição estiver associado a um item semelhante, o motor consumirá automaticamente as regras do produto principal (produto pai). Do ponto de vista do Motor, um Material Semelhante é tratado exatamente como um produto normal: o motor identifica o vínculo com o produto principal; aplica as regras tributárias já refletidas pelo cockpit para o item semelhante; e retorna o resultado tributário da Reforma Tributária com base nas regras do produto pai.   Toda a criação, manutenção e gestão dos Materiais Semelhantes é feita exclusivamente no Cockpit, não sendo necessário nenhum parâmetro adicional na requisição do Motor. Abaixo segue link do manual do cockpit para gerenciamento dos Materiais Semelhantes: Clique aqui Para identificar esse tipo de retorno, é retornado no campo genérico do retorno a marcação = “buscaRT=CodProdSemelhante” .