xMotivo em infProt: ler a descrição do status sem perder contexto
<xMotivo>nfeProc › protNFe › infProt › xMotivoRevisão editorial em 15 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
xMotivo, em /nfeProc/protNFe/infProt/xMotivo, é a descrição literal do resultado individual devolvido pela SEFAZ para a nota. Deve ser lido com cStat, chNFe e tpAmb do mesmo infProt. Buscar uma palavra como autorizado em qualquer texto do retorno não é uma forma confiável de classificar o documento.
Qual código acompanha o motivo?
Dentro de infProt, cStat informa o resultado individual e xMotivo o descreve. O XSD PL_010f_v1.04 admite cStat com 3 ou 4 algarismos, e xMotivo é obrigatório, do tipo TMotivo, de 1 a 255 caracteres. A ampliação de códigos na NT 2025.002 não transforma o motivo em código livre.
O retorno do lote também pode conter cStat e xMotivo em outro nível. Lote processado, por exemplo 104, não significa que todas as notas estão autorizadas. A leitura precisa alcançar o infProt da chave correspondente. Da mesma forma, um evento pode ter código e motivo próprios em estrutura diferente.
Exemplo de formato e cenários de interpretação
Fragmento sintético parcial, sem associação a um código ou resultado fiscal real. O texto é didático, não uma mensagem oficial atribuída à SEFAZ:
<xMotivo xmlns="http://www.portalfiscal.inf.br/nfe">Descrição sintética do resultado</xMotivo>
Cenário A: o lote terminou o processamento, mas a resposta de uma nota contém rejeição. A conclusão deve seguir o código individual, mantendo seu motivo. Cenário B: há uma autorização histórica e depois um evento de cancelamento. O xMotivo da autorização continua descrevendo aquele resultado histórico, enquanto a situação atual exige considerar o evento posterior.
cStat=100 informa autorização; 150 informa autorização fora de prazo; 120 informa autorização com alerta, inicialmente para NFC-e conforme a NT 2026.002. A mensagem deve ser preservada como recebida, sem transformá-la num resumo que apague condições.
xMotivo não é xMsg
xMsg é texto suplementar ligado a cMsg; pode existir além do resultado principal. Não substitua xMotivo pela primeira mensagem adicional encontrada, nem use cMsg como se fosse cStat. Se a interface só tem um campo de mensagem, revise o mapeamento para distinguir resultado e complemento.
O texto de xMotivo também não é campo de correção do emitente. Editá-lo não muda o status da SEFAZ e altera a resposta, possivelmente assinada.
Diagnóstico com a resposta original
Registre código, motivo integral, chave, ambiente, instante e serviço. Confirme se o texto exibido veio do XML original ou de um resumo local. Para uma rejeição, identifique a regra no contexto do serviço e seus campos, sem inferir pelo nome isolado. Para retorno incerto, consulte a situação antes de nova transmissão.
Se código e descrição parecerem incompatíveis, preserve a evidência e investigue origem, nível da resposta e transformação da integração. Não reescreva o motivo para fazê-lo combinar com uma classificação local. XSD válido não comprova autenticidade, autorização ou situação atual.
Como ler xMotivo na autorização com alerta
A NT 2026.002 v1.11 cria cStat=120, autorização com alerta, inicialmente somente para NFC-e. O xMotivo deve ser preservado como descrição do resultado principal; cMsg/xMsg detalha o alerta. Uma classificação que aceita somente 100/150 como autorização precisa considerar esse resultado documentado. Quando a autorização fora de prazo contém alerta, a NT prevê também o código 120.
Alertas são não fatais e permitem continuar o processamento, com retorno dos cinco primeiros identificados. Uma regra fatal pode depois rejeitar a nota; o retorno terá o código de rejeição e poderá conter alertas já encontrados. Não conclua autorização pela palavra alerta em qualquer mensagem.
Num resultado 120, a nota foi autorizada e armazenada. A NT esclarece que não é necessário corrigir e retransmitir a nota autorizada para solucionar a origem do alerta. Confirme e trate os dados que explicam a inconsistência sem editar o retorno ou fabricar nova emissão. Para situação atual, continue considerando os eventos oficiais.
O cronograma específico da estrutura com alertas registra teste em 01/09/2026 e produção em 05/10/2026. O adiamento para 14/12/2026 de I08-180, BA02-35 e VC02-40 não alcança essa estrutura.
Leituras relacionadas
Fontes oficiais
- Leiaute NF-e/NFC-e — PL_010f_v1.04: TProtNFe, linhas 6686–6770.
- Tipos básicos NF-e/NFC-e — PL_010f_v1.04: TChNFe, TProt, TStat, TAmb, TVerAplic, TMotivo e TDateTimeUTC.
- NT 2025.002 RTC — 1.52: seção 5.1, p. 11; PR03–PR90, p. 13.
- MOC 7.0 Anexo I — 7.00: A03-10 p. 74; B02-10, B02-20, B03-10 e B06-10 p. 75.
- NT 2026.002 — autorização com alerta e DANFE Simplificado Tipo 2 — 1.11, setembro de 2026: cronograma p. 3; autorização/alertas pp. 4–5; protocolo pp. 5–6.
Referência técnica para integração
- XPath completo
/nfeProc/protNFe/infProt/xMotivo- Namespace
http://www.portalfiscal.inf.br/nfe- Leiaute
- 4.00 · PL_010e_v1.02
- Ocorrências no XSD
- 1–1 no contexto do elemento pai
- Tipo
- TMotivo · TString
- Preenchimento no catálogo
- Obrigatório
A ocorrência vale dentro da estrutura XML: um campo obrigatório em um grupo opcional não torna esse grupo obrigatório. A aplicação fiscal depende da operação e da versão da regra.
- maxLength
255- minLength
1- pattern
[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}- whiteSpace
preserve