// guia técnico

NCM e CFOP:
o que a SEFAZ rejeita e como evitar

Classificação fiscal errada é a principal causa de rejeição de NF-e. Este guia cobre os 15 CFOPs mais usados, as 3 rejeições mais comuns (778, 817, 374) e como o engineAPI valida tudo antes de enviar ao fisco.

3rejeições mais comuns
15+CFOPs documentados
0monitoramento manual necessário
// conceitos fundamentais

NCM e CFOP: o que são e por que errar custa caro

NCMNomenclatura Comum do Mercosul

Código de 8 dígitos que classifica mercadorias conforme a tabela TIPI da Receita Federal. Define alíquotas de IPI, II, ICMS em alguns estados e, a partir de 2026, influencia os campos CBS/IBS. Qualquer NCM inválido ou extinto causa rejeição imediata pelo SEFAZ.

Ex: 8471.30.19→ Computadores portáteis (notebooks)
CFOPCódigo Fiscal de Operações e Prestações

Código de 4 dígitos que identifica a natureza de cada operação fiscal. O primeiro dígito define a direção (entrada/saída) e a abrangência geográfica. CFOP errado gera inconsistência no SPED e pode acarretar autuação fiscal.

1/5 = intraestadual2/6 = interestadual3/7 = exterior
// rejeições SEFAZ

As 3 rejeições que mais derrubam NF-e

Essas rejeições respondem pela maioria dos erros de transmissão relacionados a classificação fiscal. Cada uma tem causa precisa e correção direta.

Rejeição 778

NCM Inexistente ou Inválido

Causa

O código NCM informado foi extinto ou não existe na tabela TIPI vigente. Muito comum após atualizações via ADE RFB.

Correção

Sincronizar a tabela TIPI mensalmente e validar o NCM antes do envio. engineAPI mantém a tabela atualizada automaticamente.

Rejeição 817

Unidade Tributável incompatível

Causa

A unidade de medida (KG, UN, L) não condiz com o esperado para aquele NCM na tabela da SEFAZ.

Correção

Consultar a tabela 'NCM × uTrib' da SEFAZ e ajustar o cadastro do produto. engineAPI valida a combinação NCM + unidade antes do envio.

Rejeição 374

CFOP incompatível com tributação

Causa

O CFOP não condiz com a natureza da operação. Ex: CFOP de produto em nota de serviço, ou CFOP de serviço sem dados de ISSQN.

Correção

Mapear o CFOP correto para cada combinação de UF de origem/destino e regime tributário do emitente.

// referência rápida

Os CFOPs que sua software house mais vai usar

Agrupados por tipo de operação. Para cada CFOP, o par 5.xxx é intraestadual e 6.xxx é interestadual.

Saídas — Vendas

5.102 / 6.102
Venda de mercadoria adquirida de terceiros (revenda)Mais usado no comércio em geral
5.101 / 6.101
Venda de produção própriaIndústria e fabricação
5.405
Venda com ICMS-ST retido anteriormenteSubstituição tributária
5.106 / 6.106
Venda de produto adquirido com ST para não contribuinteVarejo com ST

Entradas — Compras

1.102 / 2.102
Compra para comercialização (revenda)Comércio — mais comum
1.101 / 2.101
Compra para industrializaçãoIndústria
1.202 / 2.202
Devolução de venda de mercadoria adquirida de terceirosEntrada de devolução de cliente

Devoluções

5.202 / 6.202
Devolução de compra de mercadoria para revendaSaída de devolução para fornecedor
5.201 / 6.201
Devolução de compra de produção própriaIndústria — devolução ao fornecedor
1.411 / 2.411
Devolução de compra com STDevolução com substituição tributária

Transferências entre filiais

5.152 / 6.152
Transferência de mercadoria adquirida de terceirosEntre filiais — mercadoria de terceiro
5.151 / 6.151
Transferência de produção própriaEntre filiais — produção própria

Serviços (NFS-e / NFe de serviço)

5.933
Prestação de serviço tributado pelo ISSQNNota de serviço — ISS
5.302 / 6.302
Aquisição de serviços de comunicaçãoTelecomunicações

* Esta tabela cobre as operações mais comuns. Para operações especiais (conserto, industrialização por encomenda, importação), consulte a tabela completa do SEFAZ ↗ ou seu contador.

// engineAPI

Validação NCM/CFOP antes de chegar ao SEFAZ

Seu sistema passa os dados para o engineAPI. O motor valida, corrige o que pode e retorna erros claros antes de tentar transmitir. Zero notas rejeitadas por classificação desatualizada.

Validação NCM antes do envio

O motor valida o código NCM contra a tabela TIPI atualizada antes de gerar o XML. Rejeição 778 nunca chega ao SEFAZ.

Tabela TIPI sincronizada automaticamente

Você não precisa monitorar ADEs da Receita Federal. Quando um NCM muda ou é extinto, a tabela é atualizada no motor em até 24h.

CFOP inteligente por operação

Informe origem, destino, regime e natureza da operação. O motor sugere o CFOP correto — você não precisa decorar tabela.

Pré-validação de schema XML

Antes de enviar à SEFAZ, o engineAPI roda as mesmas validações que o SEFAZ roda internamente. Erros de schema, CFOP e NCM retornam antes da transmissão.

Requisição — emitir NF-e com validação automáticaJSON
POST /v1/nfe/emit

{
  "issuer_id": "iss_abc123",
  "items": [
    {
      "description": "Notebook Dell Inspiron 15",
      "ncm": "8471.30.19",        // ← validado contra TIPI
      "cfop": "5.102",            // ← validado contra UF origem/destino
      "quantity": 2,
      "unit_price": 3499.90,
      "unit": "UN"
    }
  ]
}

// Se NCM inválido → retorna antes de transmitir:
// { "error": "NCM_INVALID", "code": "8471.30.19",
//   "message": "NCM não encontrado na TIPI vigente" }
// boas práticas

5 dicas para zero rejeição por classificação

Nunca use NCMs genéricos

Itens como "outros" (ex: NCM 9999.99.99) são aceitos em homologação mas rejeitados em produção para muitos regimes. Classifique pelo produto real.

Audite o cadastro de produtos na virada do ano

A Receita Federal atualiza a TIPI anualmente via ADE. Produtos com NCM extinto geram rejeição 778 silenciosa — só aparece quando o cliente tenta emitir.

Mapeie CFOP por cenário, não por produto

O CFOP depende de: (1) UF de origem vs destino, (2) natureza da operação, (3) regime do emitente. Um mesmo produto pode ter CFOPs diferentes em cada venda.

Teste em homologação com dados reais de cliente

Homologação aceita NCMs inválidos que produção rejeita. Use o sandbox do engineAPI com os produtos reais dos seus clientes antes de ir a produção.

Monitore a unidade tributável (uTrib)

A rejeição 817 vem de NCM × unidade inconsistente. Cada NCM tem uma uTrib esperada. Use a tabela SEFAZ ou a validação automática do engineAPI.

// pare de debugar rejeição SEFAZ manualmente

Motor fiscal que valida antes
de chegar ao fisco.

Sandbox ativo em 5 minutos. NCM, CFOP e schema XML validados antes de cada transmissão.