Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · IBS e CBS

pDif do IBS estadual: percentual, base e diferimento no item

<pDif>det › imposto › IBSCBS › gIBSCBS › gIBSUF › gDif › pDif

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

pDif, dentro de gIBSCBS/gIBSUF/gDif, informa o percentual de diferimento do IBS de competência estadual daquele item da NF-e ou NFC-e. Ele atua sobre o tributo calculado, não diretamente sobre o preço da mercadoria. O resultado monetário dessa operação aparece em vDif, no mesmo grupo.

Caminho desta ocorrência: /nfeProc/NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSUF/gDif/pDif.

Onde fica e quando o grupo é exigido

Localize det pelo atributo nItem e siga imposto/IBSCBS/gIBSCBS/gIBSUF/gDif/pDif. Há outros pDif no IBS municipal e na CBS; a tag isolada não identifica o tributo.

O grupo estadual gDif tem ocorrência estrutural 0–1, mas seus dois filhos são obrigatórios quando ele está presente. A condição de negócio é o indicador ind_gDif da tabela de CST do IBS/CBS: a UB22-10 verifica grupo informado quando o indicador veda diferimento; a UB22-20 verifica ausência quando o indicador o exige e existe gIBSCBS. As mensagens são, respectivamente, 1029 e 1030. O XML não permite concluir sozinho que a operação tem direito ao diferimento: confirme CST, classificação, operação e data com o responsável fiscal. NT 2025.002 v1.52, p. 19 e 44.

Como transformar o percentual em valor

A UB23-10 calcula vDif = vBC × (alíquota / 100) × (pDif / 100). A base é gIBSCBS/vBC do mesmo item. A alíquota é pIBSUF; se houver gIBSUF/gRed, usa-se gRed/pAliqEfet no lugar dela.

Hipótese exclusivamente aritmética, com parâmetros já confirmados: base R$ 1.000,00, alíquota estadual 0,1% e diferimento de 40%. O tributo antes do diferimento é R$ 1,00; vDif = 1.000 × 0,1/100 × 40/100 = R$ 0,40. Se a alíquota efetiva fosse 0,06%, o valor diferido seria R$ 0,24. Não seriam R$ 400,00: esse erro aplicaria 40% à base, ignorando a alíquota.

pRedAliq reduz a alíquota antes dessa conta; pDif calcula a parcela diferida do tributo resultante. Nenhum desses percentuais substitui o outro. A regra do valor aceita diferença de R$ 0,01 para mais ou para menos, sem autorizar usar a tolerância como ajuste fiscal. UB23-10, p. 44.

Representação no XML

Fragmento sintético parcial do campo; no grupo real também deve existir vDif:

<pDif xmlns="http://www.portalfiscal.inf.br/nfe">40.0000</pDif>

O literal representa 40%, não 0,4% nem R$ 40,00. O tipo TDec_0302_04RTC admite a forma zero e formas decimais com duas a quatro casas; use ponto, sem %, separador de milhar ou espaços. A capacidade de representar três dígitos inteiros no tipo não determina a faixa fiscal permitida. XSD PL 010f v1.04, TDif e tipo decimal.

Como investigar um resultado diferente

Para 1031, compare base, alíquota usada, percentual e valor do mesmo item estadual, na versão efetivamente gerada. Verifique primeiro se existe redução: calcular com pIBSUF quando o XML traz pAliqEfet pode explicar a divergência. Compare o parâmetro fiscal confirmado com o cadastro e a memória de cálculo; corrija a origem comprovadamente errada e gere novamente o documento, preservando o XML autorizado original.

Para 1029/1030, conferir só o percentual não resolve: a mensagem trata da presença do grupo diante do CST. Não troque o CST para contornar o retorno. A UB22 foi alterada na etapa 1.51, cujo cronograma da NT indica produção em 05/10/2026. O aviso ENCAT de 05/10/2026 adia as mudanças previstas para homologação naquele dia para 26/10 e produção para 16/11; não declara suspensas todas as regras anteriores de IBS/CBS. Verifique versão, ambiente e autorizadora no diagnóstico.

Para reconciliar o resultado monetário desse percentual, consulte vDif do diferimento estadual.

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/det/imposto/IBSCBS/gIBSCBS/gIBSUF/gDif/pDif
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
TDec_0302_04RTC · 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,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?
whiteSpace
preserve