Skip to content

fix(danfse): respeitar município/UF, item 99 e hierarquia do cabeçalho NT008 (#117) - #122

Merged
vitormattos merged 1 commit into
mainfrom
fix/danfse-nt008-municipality-header-117
Oct 12, 2026
Merged

vitormattos merged 1 commit into
mainfrom
fix/danfse-nt008-municipality-header-117

Conversation

@vitormattos

Copy link
Copy Markdown
Member

Escopo — #117 / NT SE-CGNFS-e 008 v1.02

Corrige apenas o cabeçalho Município/Ambiente sem tocar em cálculo tributário, emissão ou consumo Akaunting.

  • Compõe o município exclusivamente a partir de infNFSe/xLocEmi + infNFSe/emit/enderNac/UF do XML autorizado (NT008 itens 2.4.3 e 2.4.5).
  • O item nacional iniciado por 99 suprime só a identificação municipal; ambiente gerador e tipo de ambiente continuam visíveis.
  • Município: 8pt Microsoft Sans Serif (com fallback local); ambiente gerador e tipo de ambiente: 6pt.
  • Ausência de cidade/UF não produz valores inventados, e a falta de ambos suprime a linha.
  • Testes sintéticos para município/UF distintos, item 99, campos ausentes/incompletos e ambiente restrito; acrescenta apenas contrato de cabeçalho estável à documentação.

Fonte oficial: https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/rtc/nt-008-se-cgnfse-danfse-20260714-v1-02.pdf

Validação pendente

Ambiente local não possui Composer/ext-dom/ext-mbstring, nem checkout de GitHub por indisponibilidade de DNS. Não alegar conformidade de PDF/CI antes dos jobs terminarem; workflow danfse-visual deve gerar PDFs sintéticos para inspeção. Não fazer merge sem revisão final. Nenhum dado/certificado real ou POST fiscal.

Relacionado à matriz #119 e épico #118. O PR #116 (retenções sociais/país) permanece independente; nenhuma mudança feita nos trechos dele.

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>

Copy link
Copy Markdown
Member Author

Revisão pós-CI (12/10/2026) — evidência direta dos PDFs

Os sete workflows do commit 44f240a concluíram com sucesso. A alteração de xLocEmi + UF, supressão da identificação municipal para o item nacional 99 e fontes CSS 8pt/6pt corresponde à regra de conteúdo do cabeçalho da NT008 v1.02 (itens 2.4.3 e 2.4.5).

Não declarar conformidade visual ainda:

  • Artefato Actions 11750842108: pdfinfo danfse-reference.pdf = 1 página A4; pdfinfo danfse-long-description.pdf = 3 páginas A4. O segundo é comportamento preexistente no épico epic(danfse): concluir apresentação NT008 v1.02 com divergência tipográfica documentada #118; o workflow atual considera >1 páginas como sucesso, contrariamente ao item 2.2.
  • pdffonts danfse-reference.pdf identificou somente Helvetica / Helvetica-Bold, sem Arial/Microsoft Sans Serif. A regra 2.4 exige Arial para rótulos e Microsoft Sans Serif para conteúdos. A declaração de CSS sozinha não prova a família efetivamente escrita no PDF. Verificar opções de fontes locais/licenciamento; não distribuir arquivos proprietários sem licença.
  • Os testes novos verificam HTML e buildData(), mas não extraem fonte/tamanho/posições do PDF do cabeçalho para os cenários item 99, município incompleto e produção restrita. Acrescentar ou documentar evidência visual reproduzível específica antes de retirar o draft.

Fonte: https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/rtc/nt-008-se-cgnfse-danfse-20260714-v1-02.pdf , itens 2.1, 2.2 e 2.4.

Recomendação: manter este PR isolado e sem merge por enquanto; corrigir/comprovar tipografia PDF no escopo #117, deixando o controle global de 1 página para o fechamento integrado #118. Nenhum documento de produção foi utilizado.

Copy link
Copy Markdown
Member Author

Auditoria do merge #122: commit a59f5c09f8dd965244a4b716f91a1c662b4af7e6 possui assinatura GitHub verificada, porém o Signed-off-by usa 1079143+vitormattos@users.noreply.github.com, enquanto o autor do merge foi registrado como Vitor Mattos <vitor@php.rio>. A verificação estrita por Git Signing MCP retornou dco_matches_author=false. Não se deve tratar este merge como DCO estritamente validado nem reescrever o histórico protegido sem autorização própria. Os merges posteriores #128, #126 e #131 usam o e-mail real do autor e tiveram DCO/assinatura validados. A entrega funcional do cabeçalho foi integrada; conformidade tipográfica final e verificações integradas permanecem no épico #118.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant