> ## Documentation Index
> Fetch the complete documentation index at: https://docs.engineapi.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Cérebro Fiscal

> Emissão assistida de tributação com resolverTributacao: o que é, como ativar, o que NÃO faz e quando falha.

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 **NF-e, NFC-e e NFS-e** (na NFS-e, além de CSOSN/IBS-CBS, também completa campos
da DPS como `cTribNac`/`itemListaServico` a partir do cadastro do emissor). Emissor
**Regime Normal** (`crt: 3`, Lucro Real/Presumido) também usa a mesma flag: o motor
resolve o **ICMS** (CST 00, base, alíquota e valor) a partir de uma base fiscal curada
por UF; ver [Regime Normal](/guides/regime-normal) para o cenário completo.

* **Opt-in explícito**: só ativa com `resolverTributacao: true` no payload. Sem a flag, zero diferença.
* **Fail-loud, nunca silencioso**: campo sem fonte para resolver retorna **422**, nada é emitido ou persistido.
* **Liberação manual**: rollout hoje é por conta, ativado pelo suporte, não é self-service.

## 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 NFS-e, 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 resolve, e o que não

Por decisão de produto, é **passthrough assistido**, não um motor de cálculo tributário
completo:

* **Simples Nacional e MEI**: resolve CSOSN a partir de NCM/CFOP.
* **Regime Normal** (Lucro Real/Presumido): resolve ICMS **CST 00** (tributada
  integralmente) a partir de NCM, CFOP, UF do emissor e origem, com base fiscal curada.
  Os demais CST do regime (20/40/41/51/60, benefícios fiscais, DIFAL) **não fazem parte
  desta fase**: fora da cobertura, a resposta é `422 TRIBUTACAO_NAO_RESOLVIDA` com o
  motivo por item, nunca chute. Ver [Regime Normal](/guides/regime-normal) para a
  cobertura exata, UF a UF.
* **Não classifica NCM por descrição/EAN**: o NCM correto é responsabilidade de quem
  envia o item.
* **Não calcula PIS/COFINS/IPI.**

<Warning>
  **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.
</Warning>

## 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:

<Steps>
  <Step title="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: true` responde **403**.
  </Step>

  <Step title="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.
  </Step>
</Steps>

<Info>
  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`.
</Info>

## Como usar na requisição

Payload mínimo de um item (NF-e/NFC-e) contando só com NCM + CFOP + valores, sem
`icms`/`ibsCbs`:

```json theme={null}
{
  "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 NF-e](/guides/emitir-nfe), [NFC-e](/guides/nfce), [NFS-e](/guides/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 NFS-e), a API responde
**422** e **nada é emitido nem persistido**:

```json theme={null}
{
  "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 NF-e/NFC-e, o corpo real inclui `{index, motivo}` por item não-resolvido; na NFS-e,
`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](/guides/errors).

<Note>
  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.
</Note>

Como o Cérebro Fiscal decide entre resolver sozinho e pedir ajuda, no caso mais comum
de item multiclasse:

```mermaid theme={null}
flowchart LR
    A("POST com<br/>resolverTributacao: true") --> B{"Fonte encontrada<br/>para o NCM?"}
    B -->|sim, classe única| C("AUTHORIZED")
    B -->|não| D("422 TRIBUTACAO_NAO_RESOLVIDA<br/>com candidatas[]")
    D --> E("Informa ibsCbs.cClassTrib<br/>ou tributação manual")
    E --> F("Reenvia o payload")
    F --> C

    classDef nucleo fill:#1E56B1,stroke:#0F2A5E,color:#fff
    classDef destaque fill:#2D7AF6,stroke:#0F2A5E,color:#fff
    classDef autorizada fill:#16a34a,stroke:#15803d,color:#fff
    classDef rejeitada fill:#dc2626,stroke:#991b1b,color:#fff
    class A,E,F nucleo
    class B destaque
    class C autorizada
    class D rejeitada
```

### Reforma Tributária: espelho fiscal e NCM multiclasse

Dois motivos de `422` são específicos da Reforma (IBS/CBS): o espelho fiscal do NCM
divergente da tabela oficial, e NCM que pertence a mais de um anexo da LC 214/2025
(multiclasse). Os dois têm guia próprio, com exemplo de payload e a tabela de
`code`s: [Reforma Tributária: erros de IBS/CBS](/guides/errors-ibs-cbs).

## FAQ

Dúvidas frequentes sobre quando usar (ou não) a emissão assistida: [Perguntas frequentes](/guides/faq).
