vCBSMono no gMonoPadrao legado: valor histórico da CBS monofásica
<vCBSMono>det › imposto › IBSCBS › gIBSCBSMono › gMonoPadrao › vCBSMonoRevisão editorial em 16 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
O campo vCBSMono do caminho /nfeProc/NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoPadrao/vCBSMono era o valor da CBS monofásica padrão do item na estrutura conjunta do PL_010e_v1.02. O PL_010f_v1.04 reorganiza a monofasia em ramos próprios. Essa ocorrência diretamente no grupo conjunto é histórica, embora o nome do campo continue em outros caminhos.
De onde vinha esse valor?
A NT 2025.002 v1.40, páginas 22–23 relaciona vCBSMono à multiplicação da quantidade tributada qBCMono pela alíquota ad rem adRemCBS. Quantidade e alíquota devem usar a mesma unidade legal do produto. Não se tratava de aplicar um percentual ao preço.
O grupo gMonoPadrao reunia também os dados de IBS, mas vCBSMono era exclusivamente CBS. Não era vTotCBSMonoItem, total monofásico do item, nem um total da nota. A retenção e o diferimento tinham seus próprios grupos históricos, capazes de mudar a composição do total do item.
O PL_010e_v1.02 declara vCBSMono como último dos cinco filhos obrigatórios do grupo opcional. O tipo TDec1302RTC aceita até treze dígitos inteiros e duas casas quando há parte decimal. 30.00 é compatível; vírgula decimal, sinal negativo ou três casas decimais não são. Um zero explícito não é equivalente à ausência do grupo.
Exemplo: valor padrão e total histórico diferentes
Assuma, apenas como exemplo de leitura antiga, 60 unidades fiscais e CBS ad rem de R$ 0,50 por unidade. A conta é 60 × R$ 0,50 = R$ 30,00, correspondente a vCBSMono=30.00. Suponha adicionalmente R$ 6,00 de CBS sujeita à retenção e R$ 3,00 de CBS diferida.
A expressão histórica UB105-10, página 51 da v1.40, resultaria em vTotCBSMonoItem = R$ 30,00 + R$ 6,00 − R$ 3,00 = R$ 33,00. A fonte indicava implementação futura da validação. O valor padrão continua R$ 30,00; substituí-lo por R$ 33,00 confundiria componente com total. Os parâmetros não são recomendação tributária.
Uma diferença entre R$ 30,00 no campo e R$ 33,00 num relatório pode, nesse cenário, ser explicada por objetos distintos. Isso não confirma a causa numa nota real: confira se o relatório mede CBS padrão, CBS total do item ou total da nota. Compare também item, unidade, quantidade, alíquota e parcelas efetivamente presentes. Não deduza a composição apenas pelo rótulo “CBS”.
O mesmo nome no pacote atual
A NT 2025.002 v1.52, páginas 25–26 distingue gCBSMonoAdRem/gMonoPadrao/vCBSMono e gCBSMonoAdValorem/gMonoPadrao/vCBSMono. O PL_010f_v1.04 confirma esses ancestrais. No primeiro ramo, o grupo tem quantidade e alíquota por unidade; no segundo, base em valor e percentual.
O histórico da NT registra a reformulação na versão 1.50. Não basta manter o nome vCBSMono e mover o número: é preciso identificar modalidade, base, alíquota, período e classificação pertinentes. A fórmula antiga do total não deve ser transplantada como regra atual.
Conferência técnica e limite de ação
Se o sistema atual gerar o campo no caminho conjunto antigo, compare o gerador e seu pacote XSD com o contrato atual. Se o problema for valor, siga a origem da quantidade e da alíquota de CBS e compare a memória de cálculo do mesmo item. A escolha de tratamento, unidade e alíquota exige confirmação documental do responsável contábil; a tag não decide esses parâmetros.
Limite do exemplo XML: os pares e as contas são textuais, sem fragmento para transmissão. Inserir o campo no antigo caminho de um XML atual seria incorreto. Preserve originais assinados e dados históricos, não ajuste números apenas para coincidir com um relatório e esclareça uma tentativa de resultado incerto antes de reenviar. Passar no XSD não comprova autorização fiscal.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/IBSCBS/gIBSCBSMono/gMonoPadrao/vCBSMono- 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