Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Suplemento, assinatura e protocolo

xMsg em infProt: mensagem adicional e vínculo com cMsg

<xMsg>nfeProc › protNFe › infProt › xMsg

Revisão editorial em 15 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.

xMsg, em /nfeProc/protNFe/infProt/xMsg, é uma mensagem adicional da SEFAZ para o emissor. Seu código correspondente é cMsg. Ela complementa o retorno individual, mas não substitui xMotivo nem muda o resultado informado em cStat.

Como preservar o par e suas ocorrências

No PL_010f_v1.04, xMsg segue cMsg dentro de uma sequência opcional repetível até cinco vezes. Cada par deve continuar associado na ordem recebida. xMsg é uma string derivada de TString, com comprimento de 1 a 255 caracteres. A ausência de toda a sequência é permitida.

Não guarde os códigos numa lista e os textos em outra que possa ser ordenada separadamente. Isso pode apresentar a mensagem de um código ao lado de outro. Também não mantenha apenas a última ocorrência sem registrar que houve perda.

Qual limite a nota técnica posterior confirma?

A NT 2026.002 v1.11, pp. 5–6, atualiza PR13 para 0..5 ocorrências e PR15/xMsg para 1 a 255 caracteres, alinhados a esses limites do PL_010f_v1.04. A tabela de 0..1/200 da NT 2025.002 v1.52 é uma referência anterior, não uma indefinição atual para esses limites.

Preserve o texto integral recebido e valide a estrutura no pacote aplicável. Não corte uma mensagem em 200 caracteres, não crie ocorrências até atingir cinco e não presuma que todo autorizador usará a capacidade máxima. Uma falha concreta exige conferir original, versão e diagnóstico do validador.

Fragmento e dois usos distintos

Fragmento sintético parcial de xMsg, sem seu par nem protocolo. O texto abaixo é didático e não é uma mensagem real atribuída à SEFAZ:

<xMsg xmlns="http://www.portalfiscal.inf.br/nfe">Mensagem suplementar sintética</xMsg>

Num retorno de autorização com mensagem adicional, a mensagem deve ser lida como complemento ao resultado principal. Num retorno rejeitado, a existência de orientação suplementar não transforma a rejeição em autorização. Leia primeiro cStat/xMotivo e depois cada cMsg/xMsg.

Como investigar perda ou troca de mensagens

Compare o XML original com armazenamento e apresentação. Se o texto está cortado, confira limite de coluna, DTO e componente de exibição. Se a mensagem aparece sem código, examine a sequência e o mapeamento; o XSD atual exige ambos dentro de cada par. Se caracteres se alteraram, confira a codificação sem reescrever o documento assinado.

O texto deve ser apresentado como dado, sem executar HTML ou instruções que possam aparecer numa resposta desconhecida. Não deduza regra fiscal ou ação de reenvio a partir de uma frase isolada. Preserve chave e ambiente e correlacione o complemento com o resultado individual real.

Como ler o texto de um alerta junto do resultado principal

A NT 2026.002 v1.11 prevê cStat=120 para autorização com alerta, inicialmente para NFC-e. O alerta detalhado fica no par cMsg/xMsg; ele informa a inconsistência a verificar, enquanto cStat/xMotivo informa o resultado principal. Mesmo uma autorização fora de prazo, quando contém alerta, retorna 120 conforme a NT.

Somente os cinco primeiros alertas identificados são devolvidos. Regras com efeito Alerta não interrompem o processamento; uma regra com efeito Rejeição pode interrompê-lo e devolver a rejeição junto dos alertas encontrados antes dela. Por isso, encontrar xMsg não basta para concluir autorização.

Exemplo sintético: cStat indica rejeição e xMsg descreve um alerta. Trate a rejeição como resultado principal e preserve o complemento. Em uma resposta com cStat=120, preserve a autorização e analise a origem do alerta; a NT diz que não é necessário corrigir e retransmitir a nota autorizada para solucionar o alerta. Não edite o texto da resposta para fazê-lo desaparecer.

O cronograma específico dessa estrutura é teste em 01/09/2026 e produção em 05/10/2026. O adiamento de I08-180, BA02-35 e VC02-40 para 14/12/2026 não altera esse recorte.

Leituras relacionadas

Fontes oficiais

Referência técnica para integração

XPath completo
/nfeProc/protNFe/infProt/xMsg
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
inline:TString · TString
Preenchimento no catálogo
Condicional

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