Skip to content

refactor(backend)!: remove emissao de NFS-e (retem dados fiscais e fee) - #324

Merged
arthuurw merged 22 commits into
homologfrom
feat/remocao-emissao-nfse
Jul 9, 2026
Merged

refactor(backend)!: remove emissao de NFS-e (retem dados fiscais e fee)#324
arthuurw merged 22 commits into
homologfrom
feat/remocao-emissao-nfse

Conversation

@arthuurw

@arthuurw arthuurw commented Jul 9, 2026

Copy link
Copy Markdown
Owner

Remoção da emissão de NFS-e (AD-006)

A emissão de NFS-e passa a ser feita por software fiscal terceiro. Toda a emissão/documento fiscal sai do sistema — elimina código morto e a superfície de cert A1/mTLS no backend, antes do go-live de produção (forzion_p nasce sem a tabela fiscal).

Removido

  • Domain: NotaFiscal, NotaFiscalStatus, TipoNotaFiscal, eventos NotaFiscal*, NotaFiscalErrors, membro enum TipoAcaoAprovacao.ReprocessamentoNotaFiscal (sem renumerar os demais).
  • Application: usecases Nfse/** + Admin/NotasFiscais/**, IEmissorNfseService, INotaFiscalRepository, ComissaoTreinadorPeriodo, query ListarComissaoPorTreinadorNoPeriodoAsync, payloads de outbox.
  • Infrastructure: EmissorNfseNacionalService, NullEmissorNfseService, NfseSettings, NfseMtlsCertificate, NotaFiscalRepository/config EF/DbSet, handlers de emissão/cancelamento/e-mail de nota + templates, registrations de DI.
  • Api: endpoints treinador/admin/internal de nota (→ 404).
  • Frontend: telas /treinador/notas-fiscais + /admin/notas-fiscais, nav, chamadas de nota em nfse.ts (split), tipos OpenAPI/e2e/README.
  • CI: workflows gerar-nfse-comissao.yml + reconciliar-nfse.yml.
  • Migration RemoverNotasFiscais: dropa notas_fiscais.

Retido (guarda contra regressão)

  • Coleta de dados fiscais do treinador: DadosFiscais/EnderecoFiscal VO, colunas dados_fiscais_*, endpoints /dados-fiscais + /cep, form/banner/validações, TipoAcaoAprovacao.DefinicaoDadosFiscaisTreinador.
  • Receita: fee ApplicationFeeAmount (Stripe destination charge) — intacto.
  • Eventos PagamentoTreinador* + fluxo de estorno/disputa (só o subscriber fiscal saiu).

Verificação

  • 19 tasks / 7 fases (tlc-spec-driven), commits atômicos.
  • Build forzion.tech.slnx 0 err/0 warn; dotnet format clean; unit não-Docker verde; frontend vitest verde.
  • Verifier independente (author≠verifier): PASS — 16/16 ACs, sensor 4/4 mutantes mortos. Relatório em .specs/features/remocao-emissao-nfse/validation.md.
  • Specs atualizadas (DoD#9a): specification-fiscal arquivada; emissão removida de db/observability/security/lgpd/frontend/infrastructure/performance/concurrency/stripe; contagens re-ancoradas.
  • Schema develop já nivelado a homolog em separado.

Deferido ao CI (Docker down local)

Endpoints de nota → 404 (WebApplicationFactory), migration apply (Testcontainers), E2E backend, e2e frontend. Validam neste PR.

arthuurw and others added 20 commits July 9, 2026 14:56
…os/erros)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…oAprovacao

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Coverage Report for frontend

Status Category Percentage Covered / Total
🔵 Lines 88.11% (🎯 95%) 3627 / 4116
🔵 Statements 86.12% (🎯 95%) 3959 / 4597
🔵 Functions 78.33% (🎯 95%) 1034 / 1320
🔵 Branches 82.74% (🎯 90%) 2321 / 2805
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
frontend/src/components/layout/NavConfig.ts 100% 100% 100% 100%
frontend/src/lib/api/nfse.ts 100% 100% 100% 100%
Generated in workflow #524 for commit 6473285 by the Vitest Coverage Report Action

@arthuurw
arthuurw merged commit 396fbb5 into homolog Jul 9, 2026
21 checks passed
@arthuurw
arthuurw deleted the feat/remocao-emissao-nfse branch July 9, 2026 21:26
arthuurw added a commit that referenced this pull request Jul 9, 2026
Restaura acesso pelo nav à página retida /treinador/dados-fiscais após a
remoção das telas de nota fiscal (#324); espelha o item que existia para
Notas fiscais.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
arthuurw added a commit that referenced this pull request Jul 9, 2026
Adiciona categoria PII de dados fiscais do treinador e a seção de retenção
fiscal (~5a, art. 7º II / art. 16 I) — a coleta é retida após a remoção da
emissão de NFS-e (#324). Emissor terceiro não é subprocessador ativo (handoff
futuro); nota registrada em specification-lgpd.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
arthuurw added a commit that referenced this pull request Aug 6, 2026
Endpoint /internal/reconciliar-nfse, /internal/gerar-nfse-comissao e os
workflows reconciliar-nfse.yml/gerar-nfse-comissao.yml foram removidos
em 396fbb5 (#324) mas o README nao foi atualizado, causando 3 issues
de falha de cron orfas (#326 #334 #335) apontando pra workflow inexistente.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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