Rejeição 243 NF-e NFC-e

XML mal formado

4 min de leitura Atualizado em março de 2026

O que causa a Rejeição 243

Causa do erro

A Rejeição 243 ocorre quando o XML enviado à SEFAZ possui erros de sintaxe que impedem sua leitura (parsing). Os erros mais comuns são:

  • Tags não fechadas: uma tag aberta sem a correspondente tag de fechamento.
  • Caracteres especiais não codificados: uso de &, <, > sem a devida codificação em entidades XML.
  • Encoding incorreto: declaração de UTF-8 mas com caracteres em outro encoding (ISO-8859-1, por exemplo).
  • Tags aninhadas incorretamente: tags que se cruzam ao invés de se aninhar corretamente.

Tags XML envolvidas

Como esta rejeição se refere à estrutura geral do XML, pode ocorrer em qualquer parte:

ElementoDescrição
<?xml?>Declaração XML (encoding, versão)
<NFe>Elemento raiz da NF-e
<infNFe>Informações da NF-e
<xNome>Campos de texto (frequentes com caracteres especiais)
<xEnder>Endereço (frequente fonte de caracteres inválidos)

Exemplo prático

Um XML com o caractere & não codificado no nome do emitente:

XML com erro <emit> <xNome>João & Maria Ltda</xNome> <!-- & não codificado! --> <CNPJ>12345678000190</CNPJ> </emit>

Como resolver passo a passo

Solução

  1. Valide o XML com um parser: use uma ferramenta de validação XML para localizar exatamente a linha e coluna do erro.
  2. Corrija caracteres especiais: substitua & por &amp;, < por &lt;, > por &gt;.
  3. Verifique o encoding: garanta que o encoding declarado na tag <?xml?> corresponde ao encoding real do arquivo.
  4. Feche todas as tags: certifique-se de que toda tag aberta possui seu fechamento correspondente.
  5. Reenvie o documento após as correções.

Correção do exemplo acima — codificando o caractere especial:

XML corrigido <emit> <xNome>João &amp; Maria Ltda</xNome> <!-- & codificado como &amp; --> <CNPJ>12345678000190</CNPJ> </emit>

Como prevenir

🛡 Prevenção

  • Sanitize dados de entrada: trate caracteres especiais nos campos de texto antes de montar o XML.
  • Use bibliotecas XML confiáveis: evite montar o XML por concatenação de strings — use bibliotecas que fazem o escape automaticamente.
  • Mantenha o encoding consistente: use UTF-8 em todo o fluxo, desde o banco de dados até a geração do XML.
  • Valide antes de enviar: o Gálago faz validação de estrutura XML antes da transmissão.

Referência técnica

Documentação oficial

MOC 7.0 — Manual de Orientação do Contribuinte:
confaz.fazenda.gov.br/legislacao/arquivo-manuais/moc7-visao-geral.pdf

W3C XML Specification:
w3.org/TR/xml/

Perguntas frequentes

Quais caracteres especiais precisam ser codificados no XML?

Os cinco caracteres que devem ser codificados como entidades XML são: & (&amp;), < (&lt;), > (&gt;), " (&quot;) e ' (&apos;).

Meu sistema gera o XML automaticamente. Por que recebo 243?

Provavelmente o sistema está fazendo concatenação de strings sem tratar caracteres especiais nos dados cadastrais. Informe o suporte para que utilizem uma biblioteca XML adequada.

Qual a diferença entre Rejeição 242 e 243?

A 242 indica um elemento no lugar errado (estrutura lógica), enquanto a 243 indica que o XML não é sequer um documento XML válido (erro de sintaxe).

Cansado de lidar com rejeições?

O Gálago valida os dados antes de transmitir, evitando a maioria das rejeições. Experimente grátis por 21 dias.

Teste Grátis