cBarraTrib na NF-e: código da unidade tributável
<cBarraTrib>det › prod › cBarraTribRevisão editorial em 26 de set. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
cBarraTrib informa um código de barras diferente do padrão GTIN da unidade tributável do produto. Fica em /nfeProc/NFe/infNFe/det/prod/cBarraTrib, depois de cEANTrib na sequência consultada. É opcional, textual e aceita 3–30 caracteres. Não substitui o GTIN tributável nem define a unidade usada na tributação.
Primeiro confirme qual unidade o código identifica
uTrib informa a unidade tributável; qTrib e vUnTrib quantificam e valorizam o produto nessa unidade. cEANTrib é o GTIN dessa apresentação quando existir. cBarraTrib permite registrar um código não GTIN associado à mesma identificação. A NT descreve cBarraTrib como o código próprio ou de terceiros da menor unidade comercializável identificada por código de barras. A leitura física deve ser associada à apresentação correta, e não apenas ao cadastro do produto. Essa referência não autoriza mudar uTrib nem converter quantidades sem base documental.
Uma empresa pode comercializar caixas com códigos próprios, enquanto a unidade individual possui outra identificação. O código da caixa pertence ao conjunto comercial e não precisa coincidir com o código tributável. Também é possível que as duas unidades e seus códigos sejam iguais; isso precisa resultar dos dados reais, não de uma cópia automática.
Exemplo com embalagem e unidade diferentes
Suponha, apenas como exercício, 2 caixas de 12 unidades por R$ 120,00 cada. A unidade tributável já confirmada é UN; portanto 24 unidades a R$ 10,00 mantêm o bruto R$ 240,00. Não há GTIN nesse cenário, mas existem códigos não GTIN distintos para caixa e unidade.
Trecho sintético e parcial, com campos obrigatórios omitidos, sem validade como documento pronto para transmissão:
<prod xmlns="http://www.portalfiscal.inf.br/nfe">
<!-- Dados iniciais omitidos -->
<cBarra>CX-015</cBarra>
<!-- Campos intermediários omitidos -->
<cEANTrib>SEM GTIN</cEANTrib>
<cBarraTrib>UN-015</cBarraTrib>
<uTrib>UN</uTrib><qTrib>24.0000</qTrib><vUnTrib>10.00</vUnTrib>
<!-- Demais dados omitidos -->
</prod>
O exemplo não instrui utilizar UN para qualquer produto. Tampouco o literal SEM GTIN constitui uma solução para rejeição quando existe GTIN real. As hipóteses só tornam visível o mapeamento entre códigos e unidades.
O que a validação consegue demonstrar
A NT 2020.005 criou cBarra/cBarraTrib sem regras próprias de validação material. O XSD ainda confere posição, presença opcional e formato textual. Passar no schema não demonstra que o código identifique a unidade efetiva, exista no cadastro do fornecedor ou seja conhecido no CCG. NT 2020.005, seções 2.1.1 e 3.1.
As regras de cEANTrib verificam GTIN; não são automaticamente regras de cBarraTrib. Se a rejeição informa GTIN inválido ou ausente, examine cEANTrib e sua origem, sem transferir um código próprio para esse campo.
Como encontrar erro de associação
Liste, para o item, as duas unidades, o fator de conversão comprovado e os identificadores de cada apresentação. Compare essa lista com o XML da emissão e com o documento/embalagem de origem. Se o sistema gravou o código da caixa em cBarraTrib, confira se o mapper usa o cadastro comercial como fallback sem distinguir a unidade.
Se o valor chega cortado, com zeros removidos ou letras descartadas, a causa pode ser uma coluna numérica ou limite incorreto. Preserve o texto e valide seus 3–30 caracteres. O tipo TString permite letras, algarismos e os hífens do exemplo; preserva espaços, mas não permite espaços no início ou no fim, tabulações ou quebras de linha. Espaços internos são distintos dos externos; compare o código original antes de corrigir a integração. Ausência real de código não GTIN permite omitir a tag; não precisa criar um identificador artificial.
Corrija o mapeamento comprovado e confira o documento gerado. A definição de unidade e parâmetros fiscais específicos depende do produto e da operação; o artigo não toma essa decisão. Não ajuste quantidades para fazer um código parecer compatível nem edite XML assinado.
Fontes oficiais
- MOC 7.0 — Anexo I — 7.00; p.19 I12–I14a.
- NT 2020.005 — Leiaute e Validações — 1.20; pp.5 e 10, cBarraTrib I12a.
- Schemas NF-e/NFC-e — PL_010c_NT2022_002v1.30; prod/cBarraTrib TString 3–30.
Leitura relacionada
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/prod/cBarraTrib- Namespace
http://www.portalfiscal.inf.br/nfe- Leiaute
- 4.00 · PL_010e_v1.02
- Ocorrências no XSD
- 0–1 no contexto do elemento pai
- Tipo
- inline:TString · TString
- Preenchimento no catálogo
- Opcional
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
30- minLength
3- pattern
[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}- whiteSpace
preserve