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.