engineAPIengineAPI
// guias essenciais

Guia: Serviço Padrão por CNAE

POST /v1/fiscal/resolve-servico-padrao — sugestões de LC116/cTribNac a partir do CNAE, consultivo e sem garantia.

Serviço Padrão por CNAE: sugestão consultiva de LC116/cTribNac

POST /v1/fiscal/resolve-servico-padrao devolve sugestões de atividade de serviço (item da LC 116 + Código de Tributação Nacional do Padrão Nacional NFS-e) a partir do CNAE do emissor — pensado para o onboarding de MEI, onde o CNAE já é conhecido (consulta de CNPJ) mas servicoPadraoLc116/cTribNacPadrao ainda não foram cadastrados.

Consultivo, nunca automático

Só sugere — quem decide e confirma é o cliente; o endpoint NUNCA escreve no cadastro do emissor

Fonte oficial por linha

Tabela curada citando o Anexo XI da CGSN 140/2018 + a tabela oficial de cTribNac — sem heurística

Cobertura parcial e honesta

CNAE sem sugestão pronta → resposta 200 com sugestoes: [] e mensagem orientando o cadastro manual

Este endpoint não substitui a revisão do seu contador e nunca altera o cadastro do emissor. garantia é sempre false — a confirmação final é sempre do cliente.


Como chamar

Envie exatamente um dos dois: cnae direto, ou issuerId (o endpoint lê Issuer.cnae do cadastro).

json
POST /v1/fiscal/resolve-servico-padrao
{
  "cnae": "9602-5/01"
}

ou

json
POST /v1/fiscal/resolve-servico-padrao
{
  "issuerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

cnae aceita qualquer máscara ("9602-5/01", "9602501", ...) — é normalizado antes da consulta.

Resposta — CNAE com cobertura

json
{
  "data": {
    "sugestoes": [
      {
        "lc116": "06.01",
        "cTribNac": "060101",
        "descricao": "Barbearia, cabeleireiro(a), manicure e pedicure",
        "confidence": 0.85,
        "deterministico": true
      }
    ],
    "garantia": false,
    "mensagemUsuario": "Encontramos sugestão(ões) de atividade de serviço para o CNAE informado — confirme a que mais combina com o que você faz. Isso não substitui a revisão do seu contador."
  },
  "meta": { "requestId": "req_abc123", "timestamp": "2026-07-16T18:00:00.000Z" }
}
  • confidence reflete a curadoria (nunca 1.0) — não é probabilidade estatística.
  • deterministico: true significa que o item da LC 116 tem um único código de tributação nacional possível na tabela oficial. false significa que a curadoria escolheu entre 2+ códigos oficiais possíveis para o mesmo item — informação para o seu fluxo de confirmação, não um sinal para preencher sozinho.

Resposta — CNAE sem cobertura (honesto, não é erro)

A tabela curada é parcial por decisão de produto (cobre as ocupações MEI de serviço mais comuns). CNAE fora da cobertura não é erro — resposta 200 com lista vazia:

json
{
  "data": {
    "sugestoes": [],
    "garantia": false,
    "mensagemUsuario": "Ainda não temos sugestão pronta para este CNAE — cadastre manualmente a atividade de serviço (item da LC 116) e o código de tributação nacional, ou fale com seu contador."
  },
  "meta": { "requestId": "req_abc123", "timestamp": "2026-07-16T18:00:00.000Z" }
}

Com issuerId: isolamento e cadastro incompleto

  • issuerId de um emissor de outro parceiro (ou inexistente) → 404 — o endpoint nunca revela se o issuerId existe para outra conta.
  • issuerId de um emissor seu, mas sem CNAE cadastrado422 RFC 7807, acionável:
json
{
  "error": {
    "type": "https://engineapi.com.br/errors/CNAE_NAO_CADASTRADO",
    "title": "Entidade Não Processável",
    "status": 422,
    "detail": "Emissor sem CNAE cadastrado — cadastre o CNAE da empresa (Companies/dashboard) ou informe { cnae } diretamente nesta chamada.",
    "instance": "/v1/fiscal/resolve-servico-padrao",
    "requestId": "req_abc123",
    "timestamp": "2026-07-16T18:00:00.000Z"
  }
}

O que fazer com a sugestão

O fluxo recomendado (ex.: onboarding do FalaNota) é: o parceiro chama este endpoint, exibe a descricao em linguagem natural para o cliente confirmar, e só então grava servicoPadraoLc116/cTribNacPadrao no cadastro do emissor (via PATCH de companies) — como dados opacos, exatamente como o cliente confirmou. Auto-preenchimento sem confirmação humana não existe nesta versão do endpoint.

Contratos completos de NFSe (onde servicoPadraoLc116/cTribNacPadrao são consumidos na emissão assistida): Guia NFSe, Cérebro Fiscal.