vDevTrib do IBS municipal: valor e limite da representação
<vDevTrib>det › imposto › IBSCBS › gIBSCBS › gIBSMun › gDevTrib › vDevTribRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
vDevTrib em gIBSMun/gDevTrib é o valor monetário da devolução do IBS municipal. A tag existe no XSD, mas o grupo pai está sujeito à rejeição 1112 por UB43-10 quando informado na NF-e 55 ou NFC-e 65.
- Onde localizar esta ocorrência
- Por que a fórmula não libera o preenchimento
- O valor pertence a qual parcela
- Exemplo diagnóstico com valor zero
- Como investigar a presença indevida
Onde localizar esta ocorrência
XPath completo: /nfeProc/NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSMun/gDevTrib/vDevTrib. A informação pertence ao item det, dentro de imposto/IBSCBS/gIBSCBS. Em um XML cuja raiz é NFe, o caminho começa em /NFe, sem o invólucro nfeProc. Para consultas XPath, associe um prefixo ao namespace http://www.portalfiscal.inf.br/nfe. Preserve todos os ancestrais e o item; o nome isolado não distingue tributo, total ou grupo de referência.
Fontes: Tipos RTC — PL_010f_v1.04.
Por que a fórmula não libera o preenchimento
UB54-10 apresenta a conta municipal como base vezes alíquota, menos diferimento e devolução. Essa relação aritmética descreve como as parcelas se relacionam; não revoga a RV específica UB43-10 que veda gIBSMun/gDevTrib.
Portanto não se pode usar a fórmula como justificativa para gerar uma devolução municipal, mesmo que o resultado feche. A validação estrutural, a conta e a permissão do grupo são verificações distintas. A fórmula e a autorização de devolução da CBS na NF-e também não são transferíveis por homonímia.
Fontes: NT 2025.002 v1.52 — p. 20 UB44; p. 46 UB43-10; p. 47 UB54-10, tipos RTC — PL_010f_v1.04.
O valor pertence a qual parcela
vDevTrib é quantia em reais; pDevTrib é percentual. gIBSMun/vIBSMun é o valor municipal efetivo, não o valor devolvido. Um leitor que soma todos os campos iniciados por v pode adicionar parcela que uma fórmula já trata como subtração.
Na estrutura, vDevTrib é obrigatório quando gDevTrib existe e sucede o percentual opcional. O tipo TDec1302RTC admite até 13 dígitos inteiros e duas casas se houver parte decimal, com ponto e sem R$, sinal negativo ou separador de milhar. Aceitar 0.00 no tipo não cria exceção à vedação do grupo.
Fontes: NT 2025.002 v1.52 — p. 20 UB44; p. 46 UB43-10; p. 47 UB54-10, tipos RTC — PL_010f_v1.04.
Exemplo diagnóstico com valor zero
Fragmento parcial que demonstra somente a forma XML. Inserido no ramo municipal, ele conserva a presença vedada por UB43-10, embora contenha zero:
<gDevTrib xmlns="http://www.portalfiscal.inf.br/nfe">
<vDevTrib>0.00</vDevTrib>
</gDevTrib>
O percentual foi omitido porque é opcional no tipo compartilhado; isso não é estratégia válida para transmissão. O fragmento não representa documento completo, enquadramento ou autorização.
Fontes: NT 2025.002 v1.52 — p. 20 UB44; p. 46 UB43-10; p. 47 UB54-10, tipos RTC — PL_010f_v1.04.
Como investigar a presença indevida
Confira a mensagem real, o item e os ancestrais da tag. Procure criação automática de grupo opcional com zero, cópia de valor da CBS ou mapper que omite pDevTrib, mas mantém vDevTrib. Na rejeição 1112, trocar a quantia não resolve a presença do pai.
Corrija a origem técnica comprovadamente errada no emissor, sem transferir a quantia para desconto comercial, crédito presumido ou outro ramo. Se um fato fiscal real depender de representação não confirmada, reúna documentação, período e fundamento para definição com o responsável fiscal. Não fabrique valor nem edite XML assinado para fazer a nota passar.
Fontes: NT 2025.002 v1.52 — p. 20 UB44; p. 46 UB43-10; p. 47 UB54-10, tipos RTC — PL_010f_v1.04.
Leitura relacionada
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSMun/gDevTrib/vDevTrib- 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
- TDec1302RTC · string
- 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.
- pattern
0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?- whiteSpace
preserve