Erros NF-e / NFC-e

Referência de códigos de erro HTTP, erros de aplicação e rejeições da SEFAZ para facilitar a depuração da sua integração.

Erros HTTP

StatusNomeDescrição
400Bad RequestPayload inválido ou campos obrigatórios ausentes.
401UnauthorizedHeader x-api-key ausente ou inválido.
403ForbiddenChave revogada, sem assinatura ativa, ou créditos esgotados.
404Not FoundInvoice não encontrada ou não pertence ao projeto.
422UnprocessableCertificado ausente, município não configurado, ou pré-condição falhou.
429Too Many RequestsRate limit excedido. Aguarde Retry-After segundos.
500Internal ErrorErro inesperado. Tente novamente com backoff exponencial.

Erros de Aplicação

Estes códigos são retornados no campo error.code do body da resposta.

CódigoDescrição
CREDIT_LIMITLimite de notas mensais atingido. Upgrade de plano necessário.
CERT_MISSINGNenhum certificado A1 válido encontrado para o projeto.
CERT_EXPIREDCertificado A1 expirado. Faça upload de um novo em Configurações.
PAYLOAD_INVALIDPayload com campos obrigatórios ausentes ou inválidos. O campo campos na resposta lista os problemas específicos encontrados.

Rejeições SEFAZ — cStat

Quando a SEFAZ rejeita uma NF-e, o campo cStat retorna um código de rejeição no webhook nfe.error e na resposta do endpoint de status.

cStatDescriçãoAção Recomendada
100Autorizado o uso da NF-eEmissão confirmada ✅
204Uso denegado — CNPJ emitente com irregularidade fiscalVerificar situação fiscal do emitente na Receita Federal
206NF-e já autorizada (duplicidade de chave)Nota com mesma chave de acesso já foi autorizada. Consultar status para obter protocolo existente.
207CNPJ do emitente não autorizado para emissão na WANSolicitar habilitação na SEFAZ da UF emitente
209IE do emitente inválida para a UFCorrigir a Inscrição Estadual em Configurações → Empresa
225Falha no schema XMLCausas mais comuns: items[].descricao vazio, dest.endereco.codigoMunicipio zerado ou sem 7 dígitos, campos de endereço com menos de 2 caracteres. A API agora rejeita esses payloads com HTTP 400 antes do envio à SEFAZ. Se cStat 225 persistir, verifique campos customizados (cBenef, IE).
301IE do destinatário inválida para a UFCorrigir IE ou omitir para consumidor final
321NF-e de devolução de mercadoria não possui documento fiscal referenciadoInforme refNFe/nfesReferenciadas (ou items[].nfeReferenciada, que alimenta o mesmo campo) com a chave de 44 dígitos da NF-e original no cabeçalho da nota.
354Informado grupo de Devolução de Tributos para NF-e que não tem finalidade de Devolução de MercadoriaO grupo devolucaoTributos (ou impostoDevol) só é permitido quando finalidade: 4. Remova o grupo para notas de finalidade 1 (Normal), 2 (Complementar) ou 3 (Ajuste). A API valida essa regra com HTTP 400 antes do envio.
390Nota Fiscal de Consumidor Eletrônica com grupo de Devolução de TributosO grupo devolucaoTributos (ou impostoDevol) é proibido em NFC-e (modelo: 65). Devoluções devem ser emitidas exclusivamente como NF-e (modelo: 55). A API valida essa regra com HTTP 400 antes do envio.
531Total da BC ICMS difere do somatório dos itensOcorre quando o somatório de <vBC> dos itens difere do total informado no grupo <ICMSTot><vBC> (Regra W03-10). Para optantes do Simples Nacional ou MEI com CSOSN 900 em devoluções, a plataforma totaliza o valor automaticamente a partir da v0.54.5.
1023 / 1024cClassTrib inexistente ou incompatível com o CST IBS/CBSUse um código de 6 dígitos da tabela cClassTrib vigente e confirme que os três primeiros dígitos correspondem ao CST informado.
1104Base de cálculo IBS/CBS difere do somatório dos componentesConfira produto, frete, seguro, despesas, desconto e os valores de ICMS, DIFAL, PIS e COFINS do item. A API calcula essa base automaticamente.
1105Valor total do item RTC divergenteNão envie valores IBS/CBS calculados. Em 2025/2026 os tributos RTC não compõem vItem; a plataforma aplica essa transição automaticamente.
1115 / 1119Grupo ou total IBS/CBS ausente/divergenteInforme items[].ibscbs conforme a obrigatoriedade fiscal. Quando o grupo existe em um item, a plataforma gera IBSCBSTot mesmo com valores zerados.
391Dados do cartão/pagamento eletrônico ausentesResolvido automaticamente: o sistema gera grupo card com tipoIntegracao=2 para pagamentos eletrônicos. Verifique se worker está atualizado.
410UF informada no campo cUF não é atendida pelo Web ServiceOcorre quando o documento fiscal é enviado para um Web Service autorizador que não atende a UF informada (ex: envio à SVRS em vez de autorizador próprio da UF). Roteamento resolvido automaticamente pela plataforma.
434NF-e sem indicativo do intermediadorOcorre quando presencaComprador é 2, 3 ou 9 (não-presencial) e o campo indicadorIntermediador foi omitido. O sistema aplica 0 automaticamente a partir da v0.52.20. Se persistir, atualizar o payload com indicadorIntermediador: 0 (venda direta) ou 1 (marketplace).
435NF-e não pode ter indicativo do intermediadorOcorre quando presencaComprador é 0, 1 ou 5 (presencial) e o campo indicadorIntermediador foi informado. Remover o campo para operações presenciais.
539Duplicidade de número de NF-eInutilizar faixa e reemitir com novo número. Comum ao migrar de outro sistema emissor.
660Item com CFOP de combustível sem grupo combustível (comb)Inclua o objeto items[].combustivel com pelo menos codigoAnp, descricaoAnp e ufConsumo. A API rejeita com HTTP 400 antes do envio à SEFAZ — inclusive na NFC-e, onde a regra LA01-20 é facultativa no MOC mas aplicada pela plataforma como política restritiva.
461Percentuais GLP informados para produto que não é GLPOs campos percentualGlp/percentualGnn/percentualGni só são aceitos para cProdANP = 210203001 (GLP). A API rejeita com HTTP 400.
855Soma pGLP + pGNn + pGNi difere de 100Para GLP (210203001), os três percentuais devem somar exatamente 100. A API rejeita com HTTP 400.
907pBio informado para produto que não aceitaO campo percentualBiodiesel (pBio) foi informado para um cProdANP cuja coluna pBio na Tabela de Combustíveis Monofásicos (IT 2023.003) é 0, ou para produto fora da tabela. Remova o campo. A API rejeita com HTTP 400.
908pBio ausente para produto que exigeO campo percentualBiodiesel (pBio) é obrigatório para este cProdANP (coluna pBio=1 na IT 2023.003) em NF-e mod.55, exceto consumidor final, devolução/complementar e CFOP 5922/6922. A API rejeita com HTTP 400.
909Grupo de origem do combustível ausenteInforme items[].combustivel.origemCombustivel quando a Tabela de Combustíveis Monofásicos indica origComb=1 para o codigoAnp, ou quando percentualGnn/percentualGni > 0 (GLP). Em NF-e mod.55, não se aplica a consumidor final, devolução/complementar nem CFOP 5922/6922. A API rejeita com HTTP 400.
747Grupo de origem do combustível não permitidoO codigoAnp informado não consta da Tabela de Combustíveis Monofásicos — remova origemCombustivel. A API rejeita com HTTP 400.
694Não informado cBenef para CST (PR/RS)Incluir código de benefício fiscal para UFs que exigem

Rejeições NFC-e — Específicas do modelo 65

Estas rejeições ocorrem exclusivamente em emissões de NFC-e (modelo 65) e estão relacionadas ao QR Code, CSC e regras de presença do comprador.

cStatDescriçãoAção Recomendada
373Descrição do primeiro item diferente de NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCALEm ambiente de homologação (tpAmb=2), a regra I04-10 do MOC 7.0 exige que a descrição do primeiro item da NFC-e seja exatamente este texto. Tratado automaticamente pela plataforma.
464Hash do QR Code difere do calculado pela SEFAZVerificar se o CSC (ID + Token) está correto em Configurações → NFC-e. O hash é calculado sobre os campos + CSC, sem a URL base.
600CSC inválido ou não cadastrado (NFC-e)Verificar CSC ID e Token em Settings → NF-e. O CSC é obtido no portal SEFAZ da UF do emitente.
717NFC-e em operação não presencialUsar presencaComprador: 1 (presencial), 4 (delivery) ou 5 (fora do estabelecimento). Para e-commerce, usar NF-e modelo 55.