# Schema, Versão e Cabeçalho XML

Falhas de schema, versão de layout, codificação UTF-8, cabeçalho SOAP e estrutura do XML.

### 214 - Tamanho da mensagem excedeu o limite estabelecido

O XML excede o tamanho máximo aceito pela SEFAZ (atualmente 500 KB para a maioria dos serviços, 1 MB para o lote).

**Como resolver.** Reduza informações dispensáveis: campos opcionais vazios, comentários, espaços extras. Em última hipótese, divida em vários documentos.

### 215 - Tamanho da mensagem excedeu o limite estabelecido

Falha de schema no XML enviado: tag faltando, ordem incorreta, valor fora do tipo esperado ou fora do enumerado da NT.

**Como resolver.** Valide o XML contra o XSD da versão de layout em uso (4.00 atualmente). Boa parte dos erros aparece no validador antes mesmo de transmitir.

### 225 - Falha no Schema XML do lote de NFe

Falha de schema no envelope do lote (`enviNFe`/`envEvento`).

**Como resolver.** Valide o envelope contra o XSD do lote, não só os documentos internos. Confirme `versao`, `idLote` e a sequência das tags.

### 238 - Cabeçalho - Versão do arquivo XML superior a Versão vigente

A versão do layout informada no XML é mais nova do que a vigente para a UF.

**Como resolver.** Use a versão homologada pela SEFAZ destino. Pré-libere camadas de suporte nas datas de virada de NT, mas nunca antes do prazo oficial.

### 239 - Cabeçalho - Versão do arquivo XML não suportada

A versão do layout informada já não é mais aceita - a SEFAZ encerrou o suporte a ela.

**Como resolver.** Atualize para a versão atual (4.00). Layouts antigos são desligados nas datas anunciadas pelas NTs.

### 242 - Cabeçalho - Falha no Schema XML

Falha de schema no cabeçalho SOAP (`nfeCabecMsg`). Costuma ser `cUF` ou `versaoDados` ausentes/inválidos.

**Como resolver.** Preencha `cUF` (UF do autorizador) e `versaoDados` (mesma versão do XML interno) no cabeçalho SOAP.

### 243 - XML Mal Formado

O XML está mal formado: tag não fechada, caractere ilegal, encoding incorreto.

**Como resolver.** Gere o XML com uma biblioteca XML adequada e valide antes de enviar. Não monte o XML por concatenação manual de strings.

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

O cabeçalho SOAP está em encoding diferente de UTF-8 (latin-1, ISO-8859-1...).

**Como resolver.** Salve o cabeçalho em UTF-8 sem BOM e declare `<?xml version="1.0" encoding="UTF-8"?>` no topo.

### 402 - XML da área de dados com codificação diferente de UTF-8

A área de dados (XML interno) está em encoding diferente de UTF-8.

**Como resolver.** Reescreva o XML em UTF-8 sem BOM. Acentos e caracteres especiais devem ser representados corretamente.

### 404 - Uso de prefixo de namespace não permitido

Foi usado prefixo de namespace além do permitido (ex.: `ns2:`, `tns:`). A SEFAZ aceita apenas o namespace padrão.

**Como resolver.** Use apenas o namespace `http://www.portalfiscal.inf.br/nfe` sem prefixo (ou com prefixo vazio). Remova `xmlns:ns` adicionais.

### 411 - Campo versaoDados inexistente no elemento nfeCabecMsg do SOAP Header

O cabeçalho SOAP foi enviado sem `versaoDados`.

**Como resolver.** Inclua `<versaoDados>` no `nfeCabecMsg`, com a mesma versão do XML interno (ex.: 4.00).

### 416 - Falha na descompactação da área de dados

A área de dados foi enviada compactada (gzip), mas a SEFAZ não conseguiu descompactar.

**Como resolver.** Em geral, transmita sem compactação. Se for usar `Content-Encoding: gzip`, garanta o cabeçalho HTTP correto e teste o gzip antes.

### 516 - Falha no schema XML – inexiste a tag raiz esperada para a mensagem

A tag raiz esperada (`NFe`, `enviNFe`, `consSitNFe` etc.) não está no XML.

**Como resolver.** Confirme que a tag raiz corresponde ao serviço chamado e o namespace está declarado nela.

### 517 - Falha no schema XML – inexiste atributo versao na tag raiz da mensagem

A tag raiz da mensagem está sem o atributo `versao`.

**Como resolver.** Adicione `versao="4.00"` (ou a versão vigente) no elemento raiz.

### 545 - Falha no schema XML – versão informada na versaoDados do SOAPHeader diverge da versão da mensagem

O `versaoDados` do cabeçalho SOAP é diferente da `versao` da mensagem.

**Como resolver.** Mantenha as duas iguais (ex.: ambos `4.00`).

### 565 - Falha no schema XML – inexiste a tag raiz esperada para o lote de NF-e

A tag raiz do lote (`enviNFe`) não foi encontrada.

**Como resolver.** Confirme que a tag raiz é `enviNFe` (ou `envEvento` para eventos) com o namespace correto.

### 567 - Falha no schema XML – versão informada na versaoDados do SOAPHeader diverge da versão do lote de NF-e

O `versaoDados` do cabeçalho difere da `versao` do lote.

**Como resolver.** Use a mesma versão nos dois lugares; geralmente `4.00`.

### 568 - Falha no schema XML – inexiste atributo versao na tag raiz do lote de NF-e

A tag raiz do lote está sem `versao`.

**Como resolver.** Acrescente `versao="4.00"` no `<enviNFe>`.

### 587 - Usar somente o namespace padrão da NF-e

Foi usado um namespace diferente do oficial.

**Como resolver.** Use exclusivamente `http://www.portalfiscal.inf.br/nfe`. Remova quaisquer outros namespaces declarados na NF-e.

### 588 - Não é permitida a presença de caracteres de edição no início/fim da mensagem ou entre as tags da mensagem

Há caracteres de edição (quebra de linha, tabulação, espaços extras) entre tags ou no início/fim do XML.

**Como resolver.** Gere o XML em uma única linha (sem indentação) ou aplique canonicalização C14N antes de assinar.
