Rejeição 243: XML Mal Formado

Descrição oficial da SEFAZ: XML Mal Formado

O que significa

O arquivo recebido não é um XML válido. A SEFAZ não conseguiu nem abrir o documento para analisar — quebrou antes de qualquer validação de schema ou de conteúdo fiscal.

Por que acontece

Arquivo truncado no envio, tag aberta e não fechada, caractere inválido ou de controle no meio do texto, encoding declarado diferente do encoding real do arquivo (o clássico é declarar UTF-8 e gravar em ISO-8859-1), ou conteúdo com & e < crus, sem escape. Também aparece quando algo é concatenado à mensagem, como BOM ou espaço antes da declaração XML.

Como resolver

Abra o arquivo exatamente como ele foi transmitido em um parser XML e veja onde ele quebra — a posição do erro aponta direto a causa. Confira o encoding declarado contra o encoding gravado e trate os caracteres especiais dos campos de texto com escape correto. Corrija a geração do arquivo, assine e retransmita. Se o XML abre bem localmente mas a SEFAZ acusa mal formado, suspeite do transporte: compressão, tamanho da mensagem ou proxy corrompendo o conteúdo.

Como evitar

Gere o XML com uma biblioteca de serialização, nunca por concatenação de strings, e sanitize os textos vindos de cadastro.