dCompet em ISSQNtot: data da prestação e formato na NF-e
<dCompet>total › ISSQNtot › dCompetRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
ISSQNtot/dCompet registra a data da prestação do serviço no grupo de totais da NF-e. O MOC descreve a data no formato AAAA-MM-DD; o campo não é um mês/ano de apuração nem recebe a data de emissão automaticamente.
Quando a data é exigida
XPath completo: /nfeProc/NFe/infNFe/total/ISSQNtot/dCompet. Se o arquivo contém apenas a raiz NFe, retire /nfeProc do início. Em consultas XPath, associe um prefixo, por exemplo n, ao namespace http://www.portalfiscal.inf.br/nfe e use esse prefixo em cada elemento. Buscar apenas pelo nome da última tag pode misturar item e total ou grupos tributários diferentes.
Este é um campo da NF-e/NFC-e, no namespace da NF-e; não é uma tag de DPS ou NFS-e municipal/nacional. A existência do grupo no schema não comprova habilitação para emitir documento conjugado nem define o tratamento do serviço. Fonte: Schemas XML NF-e/NFC-e PL 010f e MOC 7 Anexo I — leiaute e regras de validação.
ISSQNtot tem ocorrência 0–1. Dentro de um grupo informado, dCompet tem ocorrência 1–1, mesmo que outros filhos opcionais estejam ausentes. Um grupo com valores monetários mas sem dCompet não atende à sequência do XSD. O próprio campo é tipo TData. Fontes: Schemas XML NF-e/NFC-e PL 010f; MOC 7 Anexo I — leiaute e regras de validação, p.59 W22a.
Como distinguir prestação, emissão e apuração
ide/dhEmi é a data e hora de emissão da nota; ISSQNtot/dCompet é uma data de prestação. Não remova a hora de dhEmi para obter competência sem verificar o fato. O campo também não comporta somente 2026-09, nem um intervalo de prestação.
Se um conjunto de serviços envolve várias datas ou um período, a estrutura possui uma única dCompet no total. Confirme qual data representa corretamente a documentação da operação com o responsável contábil; o XSD não escolhe dia inicial, final ou data de faturamento. Registre essa origem para conferir a geração posterior.
Exemplo de uma prestação documentada
Hipótese sintética: prestação documentada em 30/09/2026, com emissão em data posterior. A dCompet permanece a data da prestação confirmada. Fragmento completo do grupo, parcial em relação à nota:
<ISSQNtot xmlns="http://www.portalfiscal.inf.br/nfe">
<dCompet>2026-09-30</dCompet>
</ISSQNtot>
O exemplo demonstra a obrigatoriedade interna da data, não que somente esse campo seja suficiente em qualquer operação. O tipo exige a forma lexical de data; não use 30/09/2026, timestamp com fuso, descrição ou valor vazio. Fonte: Tipos básicos NF-e/NFC-e, TData.
Onde posicionar dCompet e como validar
A sequência de ISSQNtot coloca dCompet depois de vCOFINS e antes de vDeducao, quando os filhos opcionais correspondentes existem. Um erro de posição pode aparecer como elemento inesperado apesar de a data estar formatada corretamente. Valide o grupo no pacote aplicável e confira a data resultante contra o documento de origem, inclusive em conversões de fuso que produzam um dia anterior ou posterior. Fonte: Schemas XML NF-e/NFC-e PL 010f.
O que corrigir quando a data diverge
Compare documento da prestação, parâmetro armazenado, mapper e XML efetivamente gerado. Se a divergência vem de um valor padrão de emissão ou de conversão indevida para UTC, corrija essa origem mantendo a data real. Não altere dCompet apenas para contornar uma recusa de outra causa. O MOC não transforma as regras de soma W18–W22f em validação do mérito da competência; aprovação estrutural não comprova autorização ou acerto da data fiscal. Fonte: MOC 7 Anexo I — leiaute e regras de validação, pp.59 e 123.
O grupo ISSQNtot completo reúne a data com os campos monetários que a acompanham.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/total/ISSQNtot/dCompet- 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
- TData · 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
(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))- whiteSpace
preserve