Número do lacre na NF-e: formato e preenchimento de nLacre
<nLacre>transp › vol › lacres › nLacreRevisão editorial em 26 de set. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
nLacre recebe o identificador do lacre informado para os volumes transportados. O caminho completo é /nfeProc/NFe/infNFe/transp/vol/lacres/nLacre. Embora o nome comece por “número”, o campo é textual: pode conservar letras e zeros iniciais do código real, dentro das restrições do leiaute. Ele não informa quantos lacres existem.
O MOC 7.0, campo X34 documenta um valor de 1 a 60 caracteres e ocorrência de um a um dentro de lacres. Isso torna o identificador necessário quando o grupo lacres é criado, sem tornar universalmente obrigatório o uso do grupo. A necessidade física de lacração e a documentação exigível para a carga não são decididas pelo tipo XML.
De onde copiar o identificador
Confira a identificação do lacre aplicado e seu registro na expedição. A digitação deve permitir reconhecer o mesmo código no documento e no controle físico. Se a etiqueta apresenta LC-000123, transformar o dado em 123 elimina parte da identificação. Se a integração recebe esse código como número inteiro, o problema deve ser resolvido na captura ou no mapeamento, e não pela criação de um novo lacre no XML.
Não use o número da NF-e, o número do pedido ou uma sequência gerada pelo sistema como substituto automático. Esses dados podem identificar outros objetos, mas não comprovam o código do lacre. Quando a identificação estiver ilegível, ausente ou divergente entre registro e objeto, esclareça a informação com o responsável pela expedição antes de representá-la.
O campo nVol identifica os volumes; nLacre identifica lacres. Um volume marcado CX001 pode ter um lacre com outra identificação. Copiar o mesmo texto para os dois campos só faz sentido se os registros reais comprovarem cada dado, não porque ambos são campos de identificação.
Exemplo preservando letras e zeros
Nesta hipótese fictícia, a expedição registrou um lacre identificado como LC-000123 para o conjunto de caixas CX001 a CX003:
<vol xmlns="http://www.portalfiscal.inf.br/nfe">
<qVol>3</qVol>
<esp>CAIXAS</esp>
<nVol>CX001 A CX003</nVol>
<lacres>
<nLacre>LC-000123</nLacre>
</lacres>
</vol>
A identificação é sintética. O exemplo mostra o vínculo ao grupo de volumes e a preservação do código como texto; não cria uma regra de um lacre para três caixas. O fragmento omite o restante da nota e não serve para transmissão.
Se houver dois identificadores distintos, cada um deve ficar em um grupo lacres próprio:
<lacres xmlns="http://www.portalfiscal.inf.br/nfe">
<nLacre>LC-000123</nLacre>
</lacres>
<lacres xmlns="http://www.portalfiscal.inf.br/nfe">
<nLacre>LC-000124</nLacre>
</lacres>
Esses fragmentos irmãos pertencem ao vol correspondente. Não coloque os dois identificadores em duas tags nLacre no mesmo grupo. O grupo é que pode ser repetido até 5.000 vezes por vol, conforme a estrutura de lacres.
Quais caracteres e tamanhos são aceitos
O schema real PL_010c consultado define nLacre como uma restrição de TString, entre 1 e 60 caracteres. Não há nessa definição uma máscara exclusivamente numérica, uma quantidade fixa de dígitos nem um cálculo de dígito verificador específico do lacre. Assim, não aplique a esse campo o validador de CPF, CNPJ, placa ou quantidade de volumes.
TString preserva os espaços e limita os caracteres pelo seu padrão. Não aceita espaço na primeira ou na última posição. Espaços internos podem existir, mas precisam fazer parte do identificador confirmado, e caracteres de controle não devem ser inseridos. A regra lida não obriga letras maiúsculas; modificar a grafia ou remover separadores automaticamente pode alterar a correspondência com o registro de origem.
O serializador deve escapar caracteres reservados do XML. Se um identificador fictício fosse AB&12, seu conteúdo seria escrito como AB&12. O texto interpretado continua AB&12; a sequência de escape é a representação no arquivo. Não acrescente caracteres para completar um comprimento fixo inexistente nem corte um código maior que 60 caracteres sem esclarecer a representação correta.
Vazio, ausência e listas dentro de um valor
<nLacre/> não satisfaz o comprimento mínimo. Um lacres sem nLacre também não satisfaz a estrutura. Já a ausência do grupo lacres é uma situação estrutural distinta, que deve ser confrontada com a realidade e os requisitos aplicáveis. Não preencha 0, NAO INFORMADO ou um lacre inventado para esconder a falta do dado: mesmo quando o texto cabe no XSD, ele pode deixar de identificar qualquer lacre real.
Também não espere que LC001,LC002 seja interpretado como dois lacres. Esse conteúdo é um único texto e um único registro. Para dois códigos reais, a estrutura prevista é a repetição do grupo, como no exemplo. Se uma vírgula fizer parte do próprio código de um lacre, ela pertence ao identificador; é o registro de origem que distingue esse caso de uma lista concatenada.
Como investigar um erro ou uma troca de código
Comece pelo caminho completo apontado no XML, especialmente quando há vários grupos vol. Compare o valor com a expedição, verifique perda de zeros, truncamento e mistura de identificadores entre grupos. Para falha estrutural, confira pai, presença de exatamente um filho, comprimento, caracteres e espaços nas extremidades. Guarde o retorno real para distinguir falha de schema de uma eventual rejeição documentada; não deduza um código de rejeição para toda divergência.
A validação do formato não comprova aplicação, integridade ou unicidade física do lacre. A referência PL_010c aqui é a fonte realmente lida, confrontada com o MOC e documentos posteriores consultados até 26/09/2026; não se presume que a aceitação estrutural confirme implantação da UF ou autorize o documento completo.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/transp/vol/lacres/nLacre- 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
60- minLength
1- pattern
[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}- whiteSpace
preserve