Guia: Cérebro Fiscal
Emissão assistida de tributação com resolverTributacao — o que é, como ativar, o que NÃO faz e quando falha.
Cérebro Fiscal: emissão assistida de tributação
Você manda o item com NCM + CFOP + valores e liga "resolverTributacao": true — o
motor resolve o CSOSN (Simples Nacional/MEI) e o grupo IBS/CBS da Reforma
Tributária antes de gerar o documento. Você para de precisar saber CSOSN/alíquotas
IBS/CBS por conta própria — que é justamente a parte que muda todo ano até 2033.
Vale para NFe, NFCe e NFSe (na NFSe, além de CSOSN/IBS-CBS, também completa campos
da DPS como cTribNac/itemListaServico a partir do cadastro do emissor).
O que é
Ao ativar resolverTributacao: true na emissão, itens sem tributação manual (sem
icms.csosn e sem ibsCbs) recebem CSOSN e o grupo IBS/CBS resolvidos
automaticamente a partir do NCM/CFOP informados. Na NFSe, o mesmo princípio completa
dpsNacional.cTribNac, servico.itemListaServico e servico.codigoNBS a partir do
cadastro do emissor (cTribNacPadrao/servicoPadraoLc116).
icms.origem nunca é opinado pelo Cérebro — sempre vem do seu payload (ausente = 0,
nacional). Campos informados manualmente sempre têm precedência sobre o que o
Cérebro resolveria — é passthrough-com-override, nunca o contrário.
O que ele NÃO faz
Por decisão de produto, o v1 é passthrough assistido, não um motor de cálculo tributário completo:
- Não classifica NCM por descrição/EAN — o NCM correto é responsabilidade de quem envia o item.
- Não cobre Regime Normal (CST de ICMS/alíquotas de empresas do Lucro Real/Presumido)
— hoje resolve Simples Nacional e MEI. Regime Normal fora do NCM/CFOP entra em
422(sem inventar tributação). - Não calcula PIS/COFINS/IPI.
- A "Fase Normal" (Regime Normal) está desenhada mas depende de decisão de produto para virar código — não prometa esse escopo para o cliente.
Nunca emissão parcial ou com chute de baixa confiança. Documento fiscal assinado
não carrega tributação "aproximada" — ou o Cérebro resolve com fonte, ou a API
responde 422 e nada é emitido.
Como ativar na sua conta
O rollout do Cérebro Fiscal tem dois níveis independentes, e os dois precisam estar ligados para a emissão assistida funcionar:
- Liberação da conta (parceiro): libera o acesso ao recurso para a sua conta,
independente de plano. Hoje é liberação manual do suporte — fale com o suporte
da engineAPI para habilitar. Sem essa liberação,
resolverTributacao: trueresponde 403. - Ativação por emissor: com a conta liberada, cada emissor (CNPJ) ainda precisa ter o Cérebro Fiscal ativado individualmente — configurável em Emissores → (seu emissor) → Cérebro Fiscal no dashboard. Isso existe porque emissores diferentes de uma mesma conta podem ter regimes/necessidades diferentes.
Ligar a liberação da conta não ativa automaticamente todos os seus emissores — é
a permissão para usar o recurso, não o interruptor de cada CNPJ. Ative o emissor que
for emitir com resolverTributacao: true.
Como usar na requisição
Payload mínimo de um item (NFe/NFCe) contando só com NCM + CFOP + valores — sem
icms/ibsCbs:
{
"resolverTributacao": true,
"items": [
{
"codigo": "SKU-001",
"descricao": "Produto exemplo",
"ncm": "61091000",
"cfop": "5102",
"unidade": "UN",
"quantidade": 1,
"valorUnitario": 49.9
}
]
}
Contratos completos de cada documento (todos os campos, exemplos de requisição completa): Emitir NFe, NFCe, NFSe.
Quando ele não resolve (422 fail-loud)
Se um campo fiscal obrigatório não tiver fonte para ser resolvido (ex.: CSOSN sem base
vigente para o NCM, ou emissor sem cTribNacPadrao cadastrado na NFSe), a API responde
422 e nada é emitido nem persistido:
{
"error": {
"type": "https://engineapi.com.br/errors/UNPROCESSABLE_ENTITY",
"title": "Entidade Não Processável",
"status": 422,
"detail": "Itens com tributação não-resolvível",
"instance": "/v1/nfe",
"requestId": "req_abc123",
"timestamp": "2026-07-06T12:00:00.000Z"
}
}
Na NFe/NFCe, o corpo real inclui {index, motivo} por item não-resolvido; na NFSe,
camposNaoResolvidos com {campo, motivo}. Corrija o cadastro do emissor ou informe o
campo manualmente, e reenvie. Detalhe completo dos códigos de erro:
Erros e Rejeições.
Esse 422 é diferente da rejeição da SEFAZ/SEFIN (sempre 400) — são situações
completamente diferentes. Não trate os dois como sinônimos.
FAQ
Dúvidas frequentes sobre quando usar (ou não) a emissão assistida: FAQ.