Você vendeu, separou, embalou. O ML cobra a NF-e em até 48h (algumas categorias, 24h). Você emite — e a SEFAZ rejeita com um código tipo rejeicao 539: duplicidade de NF-e. O anúncio cai pra "atraso na emissão", reputação coça amarelo, o saque do dia trava.

E o pior: a maioria dessas rejeições é repetitiva. Mesmo erro toda semana. Esse texto abre os 5 mais comuns e mostra o que dá pra automatizar (a maior parte) e o que precisa ficar com humano.

A regra do ML pra NF-e em 2026

Pra vendas que exigem NF-e (ou seja: vendedor PJ, comprador PF ou PJ, valor relevante, produtos com NCM tributado):

  • ML manda você emitir em até 48h após a postagem (alguns casos 24h)
  • A NF-e tem que ser anexada pelo painel do ML antes do produto sair
  • Se você está no Full, o ML postea o produto sozinho — a sua NF-e tem que estar emitida e linkada antes do ML pegar o produto na separação
  • Sem NF-e, o ML pode bloquear o pagamento e suspender o anúncio
Em 2026, ML ampliou a fiscalização: vendas com falha de NF-e contam pro indicador de "atraso operacional", que afeta diretamente o ranking do anúncio.

Os 5 erros que mais travam NF-e no ML

Erro 1 — Rejeição 539 (duplicidade)

O que é: você emitiu uma NF-e com a mesma numeração de outra já autorizada.

Por que rola: seu sistema pulou número, ou contadora emitiu uma NF-e fora dele e ele perdeu o controle do range.

Como resolver: ajustar o próximo número da numeração na configuração fiscal e re-emitir. Em sistemas integrados, o controle do número fica do lado do sistema — não do contador.

Erro 2 — Rejeição 691/695 (CFOP inválido pra UF de destino)

O que é: o CFOP usado não bate com a operação (interestadual vs interna, contribuinte vs não contribuinte).

Por que rola: o ML não diz na API se o comprador é contribuinte de ICMS. Sistemas que usam CFOP fixo erram em todo pedido pra outra UF.

Como resolver: o CFOP tem que ser calculado dinâmico:

  • Mesma UF: 5102 (revenda) ou 5101 (indústria)
  • Outra UF, não contribuinte: 6108 / 6107
  • Outra UF, contribuinte: 6102 / 6101
4 CFOPs
é o mínimo que um seller B2C precisa configurar pra cobrir vendas multi-UF

Erro 3 — Rejeição 778 (NCM x produto incompatível)

O que é: o NCM cadastrado tem ICMS-ST, mas a NF-e foi emitida sem ICMS-ST. Ou vice-versa.

Por que rola: alíquota fiscal do produto desatualizada, ou cadastro novo sem regra fiscal.

Como resolver: manter a tabela NCM × ICMS-ST × UF atualizada. Como a tabela muda toda semana (decretos estaduais), automatizar essa atualização é o ponto crítico.

Erro 4 — IBPT / dados do destinatário inválidos

O que é: CPF/CNPJ do comprador inválido, ou endereço fora do padrão SEFAZ.

Por que rola: comprador colocou endereço errado, ou seu sistema não saneou o input antes de mandar pra SEFAZ.

Como resolver: validar:

  • CPF/CNPJ via algoritmo (não só "tem 11 dígitos")
  • Endereço: CEP existe, UF bate, número não-vazio
  • Rejeitar antes de mandar pra SEFAZ

Erro 5 — Caracteres inválidos (Unicode invisível)

O que é: SEFAZ não aceita certos caracteres invisíveis (zero-width, non-breaking space, BOM). Eles entram via copy-paste do navegador.

Por que rola: o nome do produto, descrição ou observação tem caractere invisível que o seu sistema não removeu.

Como resolver: sanitizar todos os textos antes de mandar pra SEFAZ. No EVA usamos cleanStr() que remove range Unicode invisível — não basta .trim().

Esse erro é silencioso: sua planilha de produto fica "certinha" no Excel, mas a SEFAZ rejeita. Sem ferramenta certa, leva semanas pra descobrir o que tá errado.

O que automatizar (e o que ainda precisa de humano)

Automatizar 100%

  • Numeração da NF-e — sequencial, controlada pelo sistema
  • Cálculo de CFOP — função pura: UF origem + UF destino + tipo comprador
  • Alíquota de ICMS — tabela NCM × UF atualizada via integração
  • Validação de CPF/CNPJ — antes de mandar pra SEFAZ
  • Sanitização de texto — remover Unicode invisível
  • Anexar XML/DANFE no ML — após autorização, automático
  • Reemissão em rejeição transitória — retry com backoff (códigos 108, 539 às vezes)

Precisa de humano

  • Cadastro inicial de NCM e regra fiscal por produto — contador valida
  • Mudanças de regime tributário (Simples → Presumido) — afeta alíquota base
  • NF-e de devolução com particularidades — caso a caso

Como o EVA Pro faz

A stack do módulo NF-e do EVA:

  • nfewizard-io pra comunicação direta com SEFAZ (sem intermediário SaaS, mais barato e rápido)
  • Cache Redis pra fiscal_config (1h) — não bate banco a cada NF-e
  • Sistema de filas Upstash QStash pra emissão em lote
  • Backfill automático de NCM via API da Receita
  • Anexa no ML automaticamente após autorização
  • Retry inteligente — códigos transitórios reemitem em 30s, definitivos vão pra fila de revisão
0 erros
é a meta do operador. Quem chega lá tem ranking 30-40% acima dos pares no ML.

Checklist antes de ligar a NF-e automática

Sem esses 5, automatizar é piorar.

  1. Certificado A1 válido (não A3 — A3 trava em servidor)
  2. Inscrição estadual ativa em todas UFs onde você vende com regularidade
  3. NCM cadastrado em TODOS os SKUs com origem (0-8) e CEST quando aplicável
  4. CFOP padrão configurado por tipo de operação
  5. Range de numeração sincronizado com a SEFAZ

Sem isso, você automatiza erro — emite 100 NF-e/dia rejeitadas, e em vez de resolver, multiplica.

Próximos passos: quer migrar pra emissão automática de NF-e no ML sem trocar de contador? EVA Pro 14 dias grátis — módulo fiscal pluga em 5 minutos e a primeira NF-e sai no mesmo dia.