Skip to content

fix(danfse): integrar NT008 v1.02 na main atual com regressões visuais (#118) - #136

Merged
vitormattos merged 5 commits into
mainfrom
integrate/danfse-nt008-118-main-ready
Oct 12, 2026
Merged

vitormattos merged 5 commits into
mainfrom
integrate/danfse-nt008-118-main-ready

Conversation

@vitormattos

Copy link
Copy Markdown
Member

Integração NT008 v1.02 / Anexo I — épico #118

Substitui o PR #133, que ficou em conflito após o merge independente de #116 e outras correções de main. Esta branch foi criada sobre main já contendo essas entregas, sem reverter DpsData/XmlBuilder nem duplicar o contrato NT007.

Escopo e comprovação

Pendência jurídica objetiva: mesmo com checks verdes, a conformidade tipográfica estrita requer que o consumidor forneça fontes Arial e Microsoft Sans Serif legalmente incorporáveis e prove no PDF via pdffonts. O caminho padrão sem elas permanece fallback e não deve ser declarado plenamente conforme.

Fonte oficial: https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/rtc/nt-008-se-cgnfse-danfse-20260714-v1-02.pdf
Referências históricas: #116, #123, #125, #127, #129, #130, #133.

…118)

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
… support (#118)

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…-font tests (#118)

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…cks (#118)

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
…g isolated (#118)

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

Copy link
Copy Markdown
Member Author

Revisão integrada concluída em 12/10/2026

Código e normas. A comparação de NFSe/infNFSe, DPS, modelo de apresentação, HTML e PDF foi feita contra NT008 v1.02/Anexo I e a semântica NT007. Em especial, a NT008 2.4.5 determina para tpRetPisCofins=1 a composição de exibição vRetCSLL + vPis + vCofins, com 0,00 nas duas células de débito próprio; nos demais códigos, exibe vRetCSLL. Essa apresentação não modifica o XML autorizado nem calcula obrigações de ISS/IBS/CBS. Os dados de referência são sintéticos; não foi transmitida nenhuma nota.

Evidência final do HEAD f1686a7:

  • 10/10 checks GitHub Actions com sucesso: PHPUnit, dependências mínimas, Psalm, PHP-CS, REUSE, evidência visual e outras verificações do repositório.
  • 5 commits incrementais, todos com assinatura Git Signing MCP e DCO válido.
  • Artefato danfse-visual-evidence ID 11759872398, run 38277928235: 9 PDFs sintéticos, todos em uma página A4 retrato; inspecionados com pdfinfo, pdftotext, pdffonts e renderização gráfica. Cenários: referência, texto extenso, ausência/zero/9 de regime, imunidade zero, benefício zero, não incidência e fonte local.
  • Mecanismo de incorporação de fonte: DejaVuSans/Bold embedded=yes no PDF-prova; cache de fontes e famílias CSS isoladas evitam interferência na geração padrão subsequente.

Limite normativo, não ocultado: o PDF padrão ainda contém Helvetica; a NT008 requer Arial (rótulos) e Microsoft Sans Serif (conteúdos). A classe DanfseFonts permite que consumidor licenciado forneça essas fontes locais; a CI usa DejaVu apenas como prova da incorporação. Logo, a conformidade estrita do PDF padrão nessas fontes não está comprovada e permanece como pendência do épico #118. Nenhum arquivo de fonte proprietário foi incorporado ao repositório.

Dependências: incorpora o trabalho ainda necessário dos drafts #123/#125/#127/#129/#130, com #116 previamente integrado à main, sem sobrescrevê-lo. Sujeito à verificação final do merge em main, os PRs antigos podem ser encerrados como substituídos por esta integração, preservando seu histórico.

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