Como identificar e corrigir falha no Schema XML da NF-e e NFC-e?

Tempo de Leitura: 9 minutos

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.

Erros no fechamento de tags XML

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:

  1. Valide o XML no ambiente de homologação da SEFAZ.
  2. Use validadores online de XML para verificar a conformidade com o schema XSD.
  3. 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. 

Print da tela do Auditor Fiscal da TecnoSpeed para identificar falhas no Schema XML

  • 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:

Print da tela do validador da SEFAZ para identificar falhas no Schema XML

  • 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.

Tabela exemplificando os resultado da validação do Schema e de regras de negócio com os falhas no Schema XML encontradas

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: 

Falha de Esquema: O elemento pai: ‘ICMSTot’ não estava esperando o elemento ‘vOutro’. O elemento esperado é: ‘vCOFINS’.”. 

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.

Redação Tecnospeed
Redação Tecnospeed
Perfil da Equipe de Redação da TecnoSpeed.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.