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.