Está diante de uma falha no Schema XML na NFe e NFCe? Descubra como identificar e corrigi-la com um passo a passo completo. Leia agora!
Em meio a tantos contribuintes emitindo nota fiscal a todo momento, existe a possibilidade de, ao enviar uma NF-e ou NFC-e para a SEFAZ, receber a rejeição com o motivo “Rejeição: Falha no Schema XML […]”, por mais que sua aplicação seja robusta e conte com diversas validações.
Esse erro ocorre quando o arquivo XML da nota fiscal não segue as regras definidas pelo schema XSD da SEFAZ, o que impede sua validação e autorização. Ele pode estar relacionado a campos obrigatórios ausentes, estrutura incorreta do XML ou até mesmo ao uso de uma versão desatualizada do layout da NF-e.
Neste artigo, explicamos o que causa a falha no Schema XML, como identificá-la e, principalmente, como corrigi-la para garantir que suas notas sejam processadas sem problemas.
O que é Schema XML?
XML Schema Definition, também conhecida como XSD, é uma linguagem utilizada para validar a estrutura de documentos com formato XML através de blocos ou nós.
Utilizando o Schema XML, é possível definir quais atributos o documento poderá receber, em qual ordem os elementos devem estar, quais os tipos de dados serão permitidos, dentre outros. Dessa forma, é mais fácil verificar, por exemplo, se o conteúdo de um determinado campo está de acordo com o padrão predefinido ou se o tipo de dado está correto.
O objetivo da utilização da XSD é garantir a clareza e padronização dos dados, para que o entendimento do conteúdo seja mútuo entre remetente e destinatário.
Estrutura XML NF-e
O XML da NF-e segue um layout padronizado definido pela SEFAZ, composto por diversos blocos de informações, como:
- Identificação da nota (
<ide>
) – Contém dados como modelo, série, número da nota e data de emissão. - Emitente (
<emit>
) – Informações da empresa que emitiu a NF-e. - Destinatário (
<dest>
) – Dados do cliente que recebe a mercadoria ou serviço. - Produtos e serviços (
<det>
) – Lista de itens comercializados na nota. - Totais e impostos (
<total>
,<ICMS>
,<PIS>
,<COFINS>
) – Valores totais e tributos incidentes.
Para evitar erros na estrutura do XML da NF-e, é essencial garantir que todos os elementos obrigatórios estejam presentes e que os dados sigam as regras definidas pelo schema XSD da versão vigente.
Estrutura XML NFC-e
A NFC-e segue o mesmo conceito da NF-e, mas há diferenças importantes em sua estrutura e validações. Uma delas é que algumas regras de validação variam de acordo com o estado emitente.
Isso significa que empresas que utilizam a mesma aplicação para emitir NFC-e em diferentes estados podem receber retornos distintos, dependendo das exigências locais. Entre as validações mais comuns para NFC-e estão:
- Obrigatoriedade do QR Code, essencial para a consulta da nota pelo consumidor.
- Regras específicas para meios de pagamento, como a obrigatoriedade de informar detalhadamente a forma de pagamento utilizada.
- Requisitos distintos para identificação do destinatário, já que a NFC-e é usada principalmente para vendas ao consumidor final.
Por isso, é fundamental sempre conferir a legislação vigente do estado em que a NFC-e está sendo emitida e manter seu sistema atualizado conforme as mudanças no schema XML.
O que é a falha no Schema XML?
A falha no schema XML ocorre quando o arquivo XML da nota fiscal não segue as regras do schema XSD exigido pela SEFAZ. Esse schema define a estrutura correta do XML, incluindo a ordem das tags, os tipos de dados permitidos e a obrigatoriedade de certos campos. Se o XML não estiver em conformidade, a nota fiscal será rejeitada e não poderá ser autorizada.
Esse erro pode ser causado por campos ausentes, formatação incorreta, versão desatualizada do schema XSD ou problemas na estrutura do XML. Para corrigir, é essencial validar o arquivo, revisar os dados e garantir que ele atenda às exigências da SEFAZ antes do reenvio.
Motivos de falha no Schema XML da NF-e e NFC-e
A falha no schema XML pode ocorrer por diferentes motivos, geralmente relacionados à estrutura incorreta do arquivo enviado à SEFAZ. Veja as causas mais comuns e como evitá-las:
Valor informado inválido
Esse erro acontece quando um campo recebe um valor fora do padrão aceito pelo schema XSD.
Exemplo: O campo <cUF>
(código da UF do emitente) deve conter exatamente dois caracteres numéricos. Se forem enviados mais de dois caracteres, ou se o código informado não corresponder a um estado válido, a SEFAZ rejeitará a nota.
Solução: Antes do envio, valide os dados conforme as tabelas oficiais. Você pode consultar a Tabela de Códigos das UFs do IBGE para garantir que o valor informado está correto.
Campo obrigatório ausente
Ocorre quando um campo essencial não é incluído no XML da NF-e ou NFC-e.
Exemplo: O campo <nItem>
(número do item) é obrigatório dentro do grupo “Detalhamento de Produtos e Serviços”. Se ele for omitido, a nota será rejeitada.
Solução: Antes do envio, utilize um validador de schema XML para conferir se todos os elementos obrigatórios estão presentes.
Campo informado no bloco incorreto
Esse erro ocorre quando um elemento é inserido em um grupo errado dentro do XML, contrariando as regras do schema XSD.
Exemplo: No Grupo Tributação do ICMS = 00, o contribuinte incluiu o campo <modBCST>
(Modalidade de determinação da BC do ICMS ST). No entanto, esse campo não é permitido nesse grupo. Apenas os seguintes elementos são aceitos:
✅ Campos permitidos no ICMS = 00:
<orig>
(Origem da mercadoria)<CST>
(Código de Situação Tributária)<modBC>
(Modalidade de determinação da BC do ICMS)<vBC>
(Valor da BC do ICMS)<pICMS>
(Alíquota do ICMS)<vICMS>
(Valor do ICMS)<pFCP>
(Percentual do ICMS relativo ao Fundo de Combate à Pobreza – FCP)<vFCP>
(Valor do Fundo de Combate à Pobreza – FCP)
Solução: Sempre consulte o manual técnico da NF-e para verificar se o campo está sendo utilizado no grupo correto.
Uso de caracteres proibidos ou formatação incorreta
O schema XML impõe restrições sobre os caracteres permitidos e a formatação dos campos. Se houver caracteres inválidos ou um formato inesperado, o XML será rejeitado.
Exemplo 1: No campo <xNome>
(Nome/Razão Social), caracteres especiais não permitidos como “@, #, $” podem causar rejeição.
Exemplo 2: No campo <dhEmi>
(Data e Hora de Emissão), a data deve seguir o formato YYYY-MM-DDThh:mm:ssTZD (exemplo: 2024-02-06T14:30:00-03:00). Qualquer variação pode levar à falha no schema XML.
Solução: Sempre valide a formatação dos campos antes do envio, garantindo que atendam ao padrão exigido pelo XSD da SEFAZ.
Se houver um erro na estrutura do XML, como tags abertas sem fechamento correto, a SEFAZ não conseguirá interpretar o arquivo.
Exemplo:
❌ Errado (tag não fechada corretamente):
<dest>
<CPF>12345678900
<xNome>Cliente Exemplo</xNome>
</dest>
✅ Correto:
<dest>
<CPF>12345678900</CPF>
<xNome>Cliente Exemplo</xNome>
</dest>
Solução: Utilize um validador XML antes do envio para garantir que todas as tags estejam abertas e fechadas corretamente.
Tamanho do arquivo XML excedendo o limite permitido
O tamanho máximo do XML permitido pela SEFAZ varia conforme o tipo de documento e o ambiente de envio. Se o arquivo exceder esse limite, será rejeitado.
Exemplo:
- O tamanho máximo do lote de NF-e é 500 KB no ambiente de produção.
- Para NFC-e, há limites de envio para evitar sobrecarga nos servidores estaduais.
Solução: Se o arquivo estiver muito grande, reduza o volume de informações por nota ou compacte dados desnecessários, garantindo que não haja informações repetitivas ou desnecessárias.
Como identificar a falha no schema XML?
Se a NF-e ou NFC-e for rejeitada, a SEFAZ retorna uma mensagem de erro. A mais comum para esse problema é:
“Rejeição: Falha no schema XML do lote de NF-e”
Além disso, outros erros podem estar relacionados:
- “Rejeição: Falha no schema XML da NF-e”
- “Rejeição: Falha no schema XML – Elemento ausente”
Para identificar exatamente onde está o problema, siga os passos:
- Valide o XML no ambiente de homologação da SEFAZ.
- Use validadores online de XML para verificar a conformidade com o schema XSD.
- Compare seu XML com o modelo oficial da última versão disponibilizada pela SEFAZ.
Onde encontrar as regras de validação da NF-e e NFC-e?
Para identificar o padrão que a SEFAZ espera receber um arquivo XML de uma Nota Fiscal Eletrônica – NF-e (modelo 55) ou de uma Nota Fiscal do Consumidor Eletrônica – NFC-e (modelo 65), é necessário conhecer o Manual de Orientação ao Contribuinte e acompanhar as Notas Técnicas com as atualizações.
O manual do contribuinte contém uma visão geral do Sistema Nota Fiscal Eletrônica. Ele deve ser a fonte primária de consulta do contribuinte, porque é através dele que obtemos todas as informações relacionadas a validação, estrutura, fluxo, leiaute etc. Assim, torna-se possível entender como evitar a falha no schema XML.
Quando a SEFAZ deseja alterar ou criar uma nova regra, ela publica uma Nota Técnica sobre o tema e disponibiliza um novo pacote de liberação de esquemas com as informações atualizadas.
Essas documentações são encontradas no Portal da Nota Fiscal Eletrônica, na aba Documentos.
Como validar o XML?
Se você teve uma Nota Fiscal Eletrônica – NF-e (modelo 55) rejeitada por falha no Schema XML, você pode validar o XML da nota no validador da SEFAZ RS (Validador de Mensagens do Projeto NF-e) ou no Auditor Fiscal da Tecnospeed, para identificar o que originou a rejeição. Dessa forma, será possível identificar o que está incorreto com mais rapidez.
É importante citar que o validador da SEFAZ pode ser utilizado tanto para NF-e quanto para NFC-e.
Utilizaremos a seguir o mesmo XML de uma NF-e rejeitada por falha no Schema, validando-o nas duas aplicações para que consiga visualizar a diferença entre os retornos.
Auditor Fiscal da Tecnospeed
O Auditor Fiscal da Tecnospeed tem um certo cuidado ao retornar a mensagem de erro tratada, para que o usuário consiga identificar com maior facilidade a falha ocorrida no XML.
- Para utilizar, acesse em seu navegador pelo link: validador.nfe.tecnospeed.com.br
Aparecerá a seguinte tela:
- Cole o XML da nota;
- Clique na opção Validar.
Do lado direito, no Resultado, será apresentada a mensagem explicativa sobre o erro encontrado no XML, conforme o exemplo na imagem abaixo:
Validador de Mensagens do Projeto NF-e
O Validador de Mensagens do Projeto NF-e retorna os erros no idioma inglês, o que pode ser uma barreira para o entendimento do usuário. Segue o passo a passo para utilizá-lo:
- Acesse em seu navegador preferido o link: www.sefaz.rs.gov.br/nfe/NFE-VAL.aspx
Aparecerá a seguinte tela:
- Cole o XML da nota;
- Clique na opção Validar.
Logo abaixo do campo onde foi colado o XML, será retornado o Resultado da Validação do Schema e de Regras de Negócio com os erros encontrados, conforme a imagem abaixo.
Passo a passo para corrigir a falha no Schema XML
A correção depende da origem do problema. Veja algumas soluções para as falhas no schema XML mais frequentes:
1. Atualize a versão do layout da NF-e
Verifique se o XML está na versão mais recente exigida pela SEFAZ. Você pode encontrar a versão vigente no Portal da NF-e.
2. Revise os campos obrigatórios
Garanta que todas as informações exigidas no schema XSD estejam preenchidas corretamente. Alguns campos frequentemente esquecidos são:
<cMunFG>
(Código do Município de Ocorrência do Fato Gerador)<IE>
(Inscrição Estadual)<indIEDest>
(Indicador da IE do Destinatário)
3. Utilize uma ferramenta de validação XML
Ferramentas como Notepad++ com plugin XML Tools, Oxygen XML Editor ou o próprio validador da SEFAZ podem apontar o erro exato no XML.
4. Corrija erros de estrutura
Se a falha for causada por um erro de formatação, como tags abertas sem fechamento, revise o código XML manualmente ou utilize um editor que exiba a estrutura do documento.
Como corrigir os erros de falha no Schema por não informar elemento obrigatório ou informar elemento em nó incorreto?
Usaremos como exemplo o XML validado nos dois passos anteriores. Para facilitar a nossa análise, destacamos aqui os elementos citados nos retornos e vamos utilizar apenas o nó do XML abaixo para identificar onde está o erro:
<total>
<ICMSTot>
<vBC>0.00</vBC>
<vICMS>0.00</vICMS>
<vBCST>0.00</vBCST>
<vST>0.00</vST>
<vProd>5160.00</vProd>
<vFrete>0.00</vFrete>
<vSeg>0.00</vSeg>
<vDesc>0.00</vDesc>
<vII>1.00</vII>
<vIPI>0.00</vIPI>
<vPIS>32.00</vPIS>
<vOutro>0.00</vOutro>
<vNF>5200.00</vNF>
</ICMSTot>
</total>
O Auditor Fiscal retornou:
O Validador de Mensagens do Projeto NF-e retornou:
“Schema XML: The element ‘ICMSTot’ in namespace ‘http://www.portalfiscal.inf.br/nfe’ has invalid child element ‘vOutro’ in namespace ‘http://www.portalfiscal.inf.br/nfe’. List of possible elements expected: ‘vCOFINS’ in namespace ‘http://www.portalfiscal.inf.br/nfe‘. Caminho: nfeProc/NFe[1]/infNFe/total/ICMSTot/vOutro/”.
Os dois retornos, tanto o do Auditor Fiscal quanto o do Validador de Mensagens do Projeto NF-e, estão citando os elementos ICMSTot, vOutro e vCOFINS. Porém, o elemento vCOFINS não foi informado no nó ICMSTot.
Dessa forma, vamos verificar no XML se o nó ICMSTot está correto, de acordo com o Manual de Orientação ao Contribuinte:
O Manual de Orientação ao Contribuinte indica que a ordem dos elementos no XML deve ser: vPIS, vCOFINS e vOutro, conforme a imagem abaixo:
Como podemos ver, no XML não foi informado o campo vCOFINS. Então, para resolver esse problema, basta adicioná-lo. Assim, a estrutura correta ficaria da seguinte maneira:
<total>
<ICMSTot>
<vBC>0.00</vBC>
<vICMS>0.00</vICMS>
<vBCST>0.00</vBCST>
<vST>0.00</vST>
<vProd>5160.00</vProd>
<vFrete>0.00</vFrete>
<vSeg>0.00</vSeg>
<vDesc>0.00</vDesc>
<vII>1.00</vII>
<vIPI>0.00</vIPI>
<vPIS>32.00</vPIS>
<vCOFINS>0.00</vCOFINS>
<vOutro>0.00</vOutro>
<vNF>5200.00</vNF>
</ICMSTot>
</total>
Como corrigir erros de falha no schema por informar valor inválido?
Se enviarmos o mesmo XML com o <vCOFINS>0.000</vCOFINS>, a nota será rejeitada, porque esse campo recebe até 13 caracteres antes da vírgula e 2 após a vírgula (13v2). Validando o XML, obtemos os seguintes retornos:
O Auditor Fiscal retornou:
Falha de Esquema: Campo ‘vCOFINS’ possui valor inválido: ‘0.000’. O campo deve de Tipo Decimal com 15 dígitos, sendo 13 de corpo e 2 decimais separadas por ‘.’. Exemplo: ‘10.00’.
O Validador de Mensagens do Projeto NF-e retornou:
The ‘http://www.portalfiscal.inf.br/nfe:vCOFINS’ element is invalid – The value ‘0.000’ is invalid according to its datatype ‘http://www.portalfiscal.inf.br/nfe:TDec_1302’ – The Pattern constraint failed.
Caminho: nfeProc/NFe[1]/infNFe/total/ICMSTot/vCOFINS/
Para corrigir o erro, basta alterar o valor para que atenda o padrão de validação, que ficaria desta forma: <vCOFINS>0.00</vCOFINS> .
O que acontece se a falha no Schema XML não for corrigida?
Caso a sua aplicação continue enviando arquivos XML fora do padrão exigido, as notas fiscais permanecerão rejeitadas e não poderão ser utilizadas para transações comerciais. Isso pode gerar:
- Impacto na operação da empresa, pois as vendas não são registradas corretamente.
- Problemas fiscais, já que as obrigações tributárias dependem da emissão das notas.
- Erros em cascata, pois falhas na estrutura do XML podem impedir a integração com outros sistemas, como contabilidade e estoque.
Por isso, é essencial corrigir qualquer falha no schema XML imediatamente e garantir que seu sistema esteja validando o XML corretamente antes do envio à SEFAZ.
Como evitar a falha no Schema XML no futuro?
Para evitar que a falha no schema XML aconteça novamente, siga estas boas práticas:
✅ Mantenha seu sistema sempre atualizado com a versão mais recente do layout da NF-e.
✅ Automatize a validação do XML antes do envio para a SEFAZ.
✅ Faça testes constantes com notas em ambiente de homologação antes de ir para produção.
✅ Implemente logs detalhados no seu sistema para identificar rapidamente qualquer falha.
✅ Conte com soluções automatizadas para evitar erros e garantir a conformidade com a SEFAZ, reduzindo o retrabalho e aumentando a eficiência na emissão de NF-e e NFC-e.
Valide automaticamente o XML das suas notas
Realizar as verificações do schema XML manualmente pode ser trabalhoso e sujeito a falhas, especialmente quando lidamos com atualizações frequentes das regras da SEFAZ. Erros na estrutura do XML podem resultar em rejeições, impactando a operação da empresa e exigindo retrabalho para correção e reenvio das notas fiscais.
Com o PlugNotas, você automatiza esse processo, garantindo que suas NF-e e NFC-e sejam validadas corretamente antes do envio. A solução simplifica a emissão fiscal, reduzindo erros e aumentando a eficiência da sua operação.