# PNTP — Planejamento e prestação de contas

> **Critérios:** 11.1–11.10 (11.11–11.19 são consórcio/estatais, N/A).
> **Fase:** [`P24`](../../implementation-phases/P24-planejamento-contas.md).
> **Essenciais:** 11.5 (RGF), 11.6 (RREO), 11.8 (PPA), 11.9 (LDO), 11.10 (LOA).
> **Estado atual:** ausente. P12 não é um repositório de documentos legais; é dataset/estatística.

## 1. Requisitos

| # | Documento | Prazo | Formato | Observação |
|---|---|---|---|---|
| 11.1 | Balanço Geral (BO, BF, BP, DVP) | último exercício / 3 anos | PDF pesquisável | publicado até abril do ano seguinte |
| 11.2 | Relatório de Gestão | último exercício / 3 anos | PDF pesquisável | completo, não fragmentado |
| 11.3 | Decisão do TC | última decisão / 3 anos | íntegra | link para o TC aceito, mas com metadados no V7 |
| 11.4 | Julgamento pelo Legislativo | último julgamento / 3 anos | ato + teor | link para o Legislativo aceito |
| 11.5 | RGF | último quadrimestre / 3 anos | RGF + anexos | até 30 dias após o quadrimestre; ≤50 mil hab. semestral |
| 11.6 | RREO | último bimestre / 3 anos | RREO + anexos | até 30 dias após o bimestre |
| 11.7 | Plano Estratégico | — | objetivos/indicadores/metas | diferente do PPA |
| 11.8 | PPA | — | íntegra + anexos | **seção própria**, não só Legislação |
| 11.9 | LDO | — | íntegra + anexos | **seção própria** |
| 11.10 | LOA | — | íntegra | **seção própria** |

## 2. Modelo de dados

| Tabela | Colunas |
|---|---|
| `planejamento_documentos` | `id`, `tipo` enum (`balanco_geral|relatorio_gestao|decisao_tc|julgamento_legislativo|rgf|rreo|plano_estrategico|ppa|ldo|loa`), `exercicio`, `periodo` (`YYYY-B1..B6|Q1..Q3|anual`), `versao`, `titulo` jsonb, `resumo` AST, `publicado_em`, `fonte_url` null, `situacao`, `arquivado_em`, timestamps |
| `planejamento_anexos` | `id`, `documento_id`, `media_id`, `titulo` jsonb, `tipo` (`anexo|demonstrativo|parecer|ata`), `position`, `pdf_pesquisavel` bool |
| `planejamento_retificacoes` | `id`, `documento_id`, `motivo`, `publicado_em`, `media_id` |

Regras:

- `UNIQUE (tipo, exercicio, periodo, versao)`; RGF/RREO têm `periodo` obrigatório.
- Documento publicado é imutável; retificação = nova versão/errata.
- `pdf_pesquisavel` é atestado no CMS + amostra; PDF escaneado não pontua.
- `fonte_url` só para 11.3/11.4 (link oficial); a página ainda mostra metadados e teor quando
  houver.
- Sem `DELETE`; arquivamento e série de 3 anos.
- Nada de ETL (ADR-042); upload manual/Media.

## 3. Portal e CMS

- Rotas:
  - `/transparencia/planejamento` (índice)
  - `/transparencia/planejamento/balanco-geral`
  - `/relatorio-gestao`, `/decisao-tc`, `/julgamento-contas`
  - `/rgf`, `/rreo`
  - `/plano-estrategico`, `/ppa`, `/ldo`, `/loa`
- Cada página: lista por exercício/período, download same-origin, `Atualizado em`, breadcrumb,
  JSON-LD `GovernmentService`/`DigitalDocument`, sitemap, busca.
- Filtros: exercício, período, tipo; CSV do índice (metadados), não do PDF.
- CMS: CRUD, upload, publicar/arquivar, permissões `planejamento.*`; validação de período e
  obrigatoriedade de anexos para RGF/RREO.
- 11.5/11.6: checklist de anexos obrigatórios; alerta quando o prazo (30 dias) vence.
- 11.8/11.9/11.10: seção própria; não basta publicar na Legislação (P10).

## 4. Evidência e testes

- [ ] 11.5/11.6 com anexos e período correto; 30 dias; 3 anos.
- [ ] 11.8/11.9/11.10 em seção própria, íntegra + anexos.
- [ ] 11.1/11.2 PDF pesquisável; 11.3/11.4 com teor/link e metadados.
- [ ] Filtro por exercício/período; CSV do índice; `Atualizado em`; sem login.
- [ ] `make check` 2× + `E2E=1`; axe; cobertura.

## 5. Riscos

| Risco | Mitigação |
|---|---|
| Documento só em link externo | metadados + PDF no V7 quando houver; link para TC/Legislativo só em 11.3/11.4 |
| RGF/RREO sem anexo | checklist obrigatório; publicação bloqueada |
| PDF escaneado | `pdf_pesquisavel` + aviso; sem OCR |
| Versão sobrescrita | imutável; retificação versionada |
| Série perdida | exercício/período + arquivamento |
