pDif do IBS estadual: percentual, base e diferimento no item
<pDif>det › imposto › IBSCBS › gIBSCBS › gIBSUF › gDif › pDifRevisã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