Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Cobrança e pagamentos

indPag na NF-e: pagamento à vista ou a prazo

<indPag>pag › detPag › indPag

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

indPag, em /nfeProc/NFe/infNFe/pag/detPag/indPag, é o indicador da forma de pagamento: 0 significa à vista e 1 significa a prazo. Ele aparece opcionalmente uma vez em cada detalhe e não identifica o instrumento financeiro utilizado.

À vista não significa apenas dinheiro

indPag descreve a condição temporal documentada da operação. tPag identifica o meio, como dinheiro, cheque, cartão ou PIX. Uma opção não substitui a outra: um valor 0 em indPag não informa que o meio é dinheiro e um valor 1 não informa que houve boleto ou duplicata.

Obtenha a condição do acordo comercial e do registro de venda/pagamento da empresa. Não deduza a prazo apenas porque o banco fará o repasse em dia posterior, nem à vista apenas porque o sistema marcou o pedido como aprovado. A perspectiva temporal do contrato de venda deve ser confirmada, especialmente se os dados de pagamento do cliente e de repasse do prestador forem distintos.

Formato e diferença para campos históricos

O XSD admite somente os códigos 0 e 1, com ocorrência 0..1 em detPag. Na estrutura 4.00 estudada, o indicador está no grupo de pagamento; referências antigas a um indicador em outro local não devem ser transplantadas para esse XPath.

Como ele é opcional na estrutura, a ausência não é equivalente a um zero explícito. Preserve um valor definido no cadastro/operação e não preencha automaticamente com 0 para completar um formulário. As regras do meio, valor, troco e dados eletrônicos continuam aplicáveis com ou sem indicador.

Exemplo à vista e interpretação a prazo

Suponha uma venda registrada como à vista em dinheiro de R$ 100,00. Fragmento parcial e sintético, sem os demais grupos e sem aptidão para transmissão:

<detPag xmlns="http://www.portalfiscal.inf.br/nfe">
  <indPag>0</indPag>
  <tPag>01</tPag>
  <vPag>100.00</vPag>
</detPag>

O 0 expressa à vista, o 01 expressa dinheiro e R$ 100,00 é o valor desse detalhe. Em outro cenário, uma condição comercial confirmada a prazo seria representada por 1, mas o meio ainda precisaria ser identificado como seu código real na tabela. Não basta mudar indPag para 1 e conservar qualquer tPag por conveniência.

dup descreve parcelas da cobrança da NF-e e possui regras próprias de número, vencimento e soma. indPag=1 não cria essas parcelas nem autoriza cobr na NFC-e. dPag é data do pagamento, não prazo previsto. tPag=91 é Pagamento Posterior na tabela atual e 90 é Sem Pagamento; esses códigos não são valores válidos de indPag.

Como conferir uma classificação temporal incorreta

Compare a condição comercial da venda com o indicador enviado e o contrato do prestador. Procure enum interno convertido incorretamente, ausência transformada em zero ou reutilização da configuração de outra empresa. Separe a prorrogação/parcelamento acordado com o cliente da agenda de repasse bancário.

Se houver uma rejeição, use a regra e o campo citados no retorno: erro no tPag, na fatura ou na soma dos valores não prova erro em indPag. Corrija a origem do rascunho quando houver divergência real e revalide os dados associados. Não mude vista/prazo para forçar autorização nem refaça pagamento.

Quando a condição contratual não está clara, são necessários o acordo de venda e os registros de pagamento para sua confirmação. O indicador não determina incidência, tributação ou liquidação contábil da operação. Veja tPag e os meios e dup e parcelas da cobrança.

Fontes oficiais

Referência técnica para integração

XPath completo
/nfeProc/NFe/infNFe/pag/detPag/indPag
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:xs:string · string
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.

enumeration
0
enumeration
1
whiteSpace
preserve