Pular para o conteúdo
FiscalAPI
299 Schema XML

Rejeição 299 — XML da área de cabeçalho com codificação diferente de UTF-8

Motivo da rejeição

XML da área de cabeçalho com codificação diferente de UTF-8

3 min de leitura

O que é esta rejeição?#

A Rejeição 299 é retornada pela SEFAZ quando o sistema identifica o seguinte problema na NF-e: XML da área de cabeçalho com codificação diferente de UTF-8. A nota fiscal não foi autorizada e precisa ser corrigida antes de ser retransmitida.

Este código indica que rejeição: XML da área de cabeçalho com codificação diferente de UTF-8.

Causas comuns#

  • O XML contém erros de formatação, namespaces inválidos ou codificação incorreta
  • A versão do layout XML não é suportada ou é superior à vigente na SEFAZ
  • Há caracteres especiais, espaços ou quebras de linha indevidas no XML
  • O XML deve usar codificação UTF-8 sem BOM (Byte Order Mark)

Como resolver#

  1. Valide o XML com um parser antes de enviar — ele deve ser bem-formado (well-formed)
  2. Use apenas o namespace padrão da NF-e: http://www.portalfiscal.inf.br/nfe
  3. Salve o XML com codificação UTF-8 sem BOM
  4. Atualize a versão do layout no sistema emissor para a versão vigente aceita pela SEFAZ
  5. Remova caracteres de edição (tabs, espaços extras) do início e fim do XML

Verificações analíticas#

  • Se o campo versao do atributo da tag nfeProc ou NFe for diferente de '4.00' então o layout declarado é incompatível com o schema vigente aceito pela SEFAZ: atualize o atributo versao para '4.00' em todos os elementos raiz do XML.
  • Se os primeiros bytes do arquivo XML contiverem a sequência EF BB BF (BOM UTF-8) antes da declaração <?xml version='1.0' encoding='UTF-8'?> então o XML será rejeitado pelo parser da SEFAZ por presença de BOM: salve o arquivo com UTF-8 sem BOM usando editor hexadecimal ou configuração explícita do serializador.
  • Se o valor declarado no atributo encoding da instrução de processamento XML for diferente de 'UTF-8' em caixa-alta exata, ou se a declaração <?xml ...?> estiver ausente, então o cabeçalho do XML não satisfaz o contrato de codificação exigido pela SEFAZ: garanta que a primeira linha seja exatamente <?xml version='1.0' encoding='UTF-8'?> sem espaços precedentes ou caracteres invisíveis.
  • Se qualquer elemento textual do XML, como xNome do emitente, xMun, xBairro ou infCpl, contiver caracteres fora do intervalo Unicode Basic Multilingual Plane codificados incorretamente, por exemplo cedilha ç ou til ã representados em Latin-1 em vez de UTF-8, então a codificação real do arquivo diverge da declarada e causará rejeição 299: re-encode todo o conteúdo do arquivo para UTF-8 genuíno antes da serialização.
  • Se o namespace declarado no elemento raiz NFeProc ou NFe for diferente de 'http://www.portalfiscal.inf.br/nfe', ou se houver prefixos de namespace adicionais não previstos no schema como xsi sem declaração correspondente, então o validador de schema da SEFAZ rejeitará o XML como mal-formado: remova namespaces extras e garanta que o único namespace presente seja http://www.portalfiscal.inf.br/nfe sem barra final.
Compartilhar: WhatsApp LinkedIn Twitter

Consulte IEs e CNPJs antes de emitir NF-e

Muitas rejeições acontecem por dados cadastrais desatualizados. Com a FiscalAPI, consulte Inscrições Estaduais e CNPJs em tempo real direto da SEFAZ e Receita Federal.

Criar conta →