Falha no Schema XML, falta tag obrigatória
Rejeição 225: Falha no Schema XML do lote de NFe
schemainfNFeO que significa esta rejeição
Variante específica da 215. Aqui a SEFAZ apontou que uma tag obrigatória, prevista pelo schema XSD do leiaute 4.00, não veio no XML. A diferença para a 215 genérica é que a 225 aponta exatamente qual elemento está faltando, geralmente no xMotivo no formato "Elemento xxx ausente".
No mundo do produtor rural isso vira problema na hora de emitir nota com particularidades estaduais (informações de rastreabilidade de defensivos agrícolas, médico veterinário responsável, ICMS-ST específico) onde o ERP genérico não foi configurado para preencher os campos exigidos.
Causas mais comuns
- Falta do grupo
<infRespTec>(Responsável Técnico pelo software emissor), obrigatório para todos os emissores desde a NT 2018.005. - Ausência da tag
<vTotTrib>(valor aproximado dos tributos) quando a regulamentação federal exige. - Grupo
<pag>faltando, mesmo em NF-e modelo 55 com finNFe específica. - Falta de
<refNFe>em devolução ou complementar. - Campo
<xJust>(justificativa) com menos de 15 caracteres ou ausente em eventos. - Tag
<orig>ausente no grupo<ICMS>, em operação onde a origem da mercadoria é obrigatória.
Regra de validação oficial
O schema XSD declara minOccurs="1" para campos obrigatórios. Se o XML não trouxer a tag, a validação SAX da SEFAZ aborta imediatamente. O xMotivo retornado inclui o XPath ou o nome do elemento ausente.
Exemplo XML, antes (errado)
<det nItem="1">
<prod>
<cProd>SOJA-SC-60KG</cProd>
<xProd>Soja em grão, saca 60kg</xProd>
<NCM>12019000</NCM>
<CFOP>5101</CFOP>
<uCom>SC</uCom>
<qCom>100.0000</qCom>
<vUnCom>180.0000</vUnCom>
<vProd>18000.00</vProd>
</prod>
<imposto>
<ICMS>
<ICMS00>
<CST>00</CST>
</ICMS00>
</ICMS>
</imposto>
</det>Exemplo XML, depois (correto)
<det nItem="1">
<prod>
<cProd>SOJA-SC-60KG</cProd>
<xProd>Soja em grão, saca 60kg</xProd>
<NCM>12019000</NCM>
<CFOP>5101</CFOP>
<uCom>SC</uCom>
<qCom>100.0000</qCom>
<vUnCom>180.0000</vUnCom>
<vProd>18000.00</vProd>
<uTrib>SC</uTrib>
<qTrib>100.0000</qTrib>
<vUnTrib>180.0000</vUnTrib>
<indTot>1</indTot>
</prod>
<imposto>
<ICMS>
<ICMS00>
<orig>0</orig>
<CST>00</CST>
<modBC>3</modBC>
<vBC>18000.00</vBC>
<pICMS>12.00</pICMS>
<vICMS>2160.00</vICMS>
</ICMS00>
</ICMS>
</imposto>
</det>Passo a passo para corrigir
- Leia o
xMotivoda resposta. Ele cita o elemento ausente. - Localize no leiaute 4.00 o grupo em que o elemento vive e revise o gerador de XML para preenchê-lo.
- Garanta que o grupo
<infRespTec>está sempre preenchido com CNPJ, contato, email do desenvolvedor do software (no caso do FazendaNota, esses dados são automáticos). - Valide o XML local contra os XSD antes de retransmitir.
Como o FazendaNota previne
O FazendaNota mantém um validador XSD interno que é executado antes do envio. Cada campo obrigatório do leiaute 4.00 é checado, e o grupo <infRespTec> é injetado automaticamente. Notas técnicas novas são incorporadas pela equipe a cada lançamento da SEFAZ.
Rejeições relacionadas
- Rejeição 215, Falha no Schema XML
- Rejeição 450, Modelo da NF-e diferente de 55
- Rejeição 297, Assinatura difere do calculado
Referência oficial
Esta rejeição está descrita no Anexo I - Leiaute e Regra de Validação do Manual de Orientação do Contribuinte (MOC) v7.0 da NF-e, publicado pelo CONFAZ. Texto integral em https://www.confaz.fazenda.gov.br/legislacao/arquivo-manuais/moc7-visao-geral.pdf