[ 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 formato e schema 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

Consulte a TIPI vigente na Receita Federal antes de cadastrar o produto; NCMs mudam com frequência via ADE. O engineAPI valida o formato do NCM (8 dígitos) antes do envio, mas não substitui a checagem de existência na tabela TIPI.

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

Consulte a tabela 'NCM × uTrib' da SEFAZ e ajuste o cadastro do produto antes de emitir. O engineAPI transmite a unidade que você informar; a compatibilidade entre NCM e unidade é responsabilidade de quem cadastra o produto.

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 ]

Pré-validação de schema antes de chegar ao SEFAZ

Seu sistema envia NCM e CFOP já classificados, e o engineAPI é passthrough: não recalcula tributos. O que o motor garante é formato e schema XML validados (mesmas regras do SEFAZ) antes de transmitir, para que erro estrutural nunca chegue ao fisco.

Validação de formato antes do envio

NCM (8 dígitos) e CFOP são validados no formato da requisição antes de qualquer chamada ao SEFAZ. Erro estrutural nunca sai do seu servidor.

Passthrough: você classifica, a gente transmite

O engineAPI não recalcula tributo nem infere classificação fiscal. NCM e CFOP são os que você (ou seu ERP) enviar, sem adivinhação escondida atrás da API.

IBS/CBS por NCM, com Cérebro Fiscal (opt-in)

Pra quem ativa o resolvedor de tributação, a base de alíquotas e exceções de IBS/CBS por NCM é sincronizada diariamente. Não substitui checar o NCM contra a TIPI completa.

Pré-validação de schema XML

Antes de enviar à SEFAZ, o engineAPI roda a mesma validação de schema (XSD) que o SEFAZ roda internamente. Erro estrutural de XML retorna antes da transmissão.

Requisição: emitir NF-e com validação de formatoJSON
POST /v1/nfe/emit

{
  "issuer_id": "iss_abc123",
  "items": [
    {
      "description": "Notebook Dell Inspiron 15",
      "ncm": "8471.30.19",        // ← 8 dígitos, formato validado
      "cfop": "5.102",            // ← passthrough: você classifica
      "quantity": 2,
      "unit_price": 3499.90,
      "unit": "UN"
    }
  ]
}

// Se o formato do NCM estiver errado (≠ 8 dígitos), a API rejeita
// antes de gerar o XML — sem gastar transmissão com o SEFAZ.
// NCM e CFOP corretos para a operação continuam sendo responsabilidade
// de quem envia (você, seu ERP ou seu contador).
[ 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.