Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Identificação

verProc na NF-e: versão do aplicativo e limite de 20 caracteres

<verProc>ide › verProc

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

O verProc registra a versão do aplicativo utilizado no processo de emissão da NF-e ou NFC-e. É um campo obrigatório de ide, com 1 a 20 caracteres. Seu valor vem do emissor que gerou o documento; não existe um número universal a copiar do MOC para todas as notas. MOC, B27 Schema de verProc

Versão do aplicativo que gerou o documento

A finalidade é identificar tecnicamente a versão do emissor. Em uma investigação, esse texto pode ser correlacionado com a release instalada, o momento da geração e os registros da aplicação.

Se um sistema usa uma identificação como “EmissorDemo 2.7.1”, ela pode expressar a versão adotada por aquele aplicativo. O exemplo não significa que esse seja o nome ou a versão real do Fiscal Pro. A integração deve obter a identificação do próprio emissor, mantendo-a coerente com a versão que produziu o XML.

O campo não informa número da nota, protocolo de autorização, versão tributária ou nome do responsável fiscal. Definição do B27

Formato e espaços no schema

O schema consultado restringe o tipo TString e determina:

Restrição Consequência
Mínimo de 1 caractere Valor vazio não satisfaz o tipo
Máximo de 20 caracteres A identificação inteira deve caber nesse limite
whiteSpace=preserve em TString Espaços não são automaticamente aparados pelo tipo
Primeiro e último caractere sem espaço Um espaço na ponta pode tornar o conteúdo incompatível
Espaço permitido no interior Uma identificação pode separar nome e versão, respeitando os demais limites

A expressão de TString é [!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}. Não há uma exigência de versão semântica como “1.2.3”, nem obrigação de conter apenas números. Ao mesmo tempo, não se deve pressupor que qualquer caractere Unicode esteja nesse intervalo. Tipo TString do pacote oficial consultado Restrições locais de verProc

A contagem diz respeito ao conteúdo textual, não ao tamanho em bytes do arquivo. Se o texto contiver um caractere reservado do XML, como &, ele precisa ser representado com o escape XML correspondente, &amp;; o conteúdo resultante continua sendo o caractere “&”. Não adicione uma sequência de escape ao nome da versão como se fosse texto literal do aplicativo.

Quatro versões e códigos que não se substituem

Informação Onde aparece O que representa
procEmi ide/procEmi Código do processo de emissão
verProc ide/verProc Versão do aplicativo utilizado pelo emissor
versao de infNFe Atributo infNFe/@versao Versão do leiaute, como 4.00
verAplic Mensagem de resposta do autorizador Versão da aplicação da SEFAZ no contexto da resposta

O nome do pacote de schema, por exemplo PL_010d v1.03, também é outra identificação: organiza os arquivos XSD utilizados na integração. Ele não se torna automaticamente o valor de verProc. MOC, B26/B27 MOC Visão Geral, pp.72 e 76

Um aplicativo pode manter o leiaute 4.00 e ter várias releases próprias. Também pode mudar a versão do autorizador sem que o emissor tenha sido atualizado. Por isso, comparar números sem identificar a origem de cada campo pode levar a uma conclusão errada sobre o software que gerou a nota.

Exemplo parcial

Este recorte é sintético e mostra somente a relação entre processo e versão do aplicativo:

<ide xmlns="http://www.portalfiscal.inf.br/nfe">
  <!-- Os demais campos de identificação foram omitidos. -->
  <procEmi>0</procEmi>
  <verProc>EmissorDemo 2.7.1</verProc>
</ide>

procEmi=0 indica aplicativo do contribuinte. O texto ilustrativo em verProc tem 17 caracteres, cabe no limite e não tem espaço nas pontas. O recorte não representa uma nota completa ou pronta para transmissão, nem comprova que uma aplicação real está atualizada.

Rastreabilidade e diagnóstico

Para um problema de schema, examine o elemento original: existe exatamente uma vez, está vazio, excede 20 caracteres, contém espaços nas pontas ou caracteres fora do tipo? Use a mensagem real do validador e o pacote XSD aplicável; a fonte não define uma rejeição exclusiva de verProc que possa ser atribuída a todo erro de versão. Leiaute e tipo de verProc

Para investigar comportamento do emissor, compare o verProc do XML gerado com a versão instalada na ocasião, os registros de geração e a release esperada. A versão atual exibida pelo sistema pode ser posterior àquela que produziu um documento antigo. Um texto correto em verProc não comprova, por si só, que a aplicação implementou determinada nota técnica.

Se o retorno aponta uma regra fiscal de outro campo, verProc ajuda a rastrear a implementação, mas não corrige a causa. Preserve o XML e o retorno originais, identifique a regra e sua data de implantação e confira o dado efetivamente produzido por aquela versão. Não altere verProc num XML assinado para aparentar uma release diferente. O campo não decide CFOP, CST, regime ou tributação.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/ide/verProc
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
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
20
minLength
1
pattern
[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}
whiteSpace
preserve