# Status do Projeto - Módulo de Relatórios

## Resumo Atual

- **Sprint atual:** Fechamento final do módulo
- **História atual:** consolidação final do módulo de `Relatórios` contra a `ESPECIFICACAO_OFICIAL.md`, com reconciliação do backlog histórico, ampliação dos universos customizados para `Financeiro Caixa` e `Financeiro Carteira`, metadados obrigatórios em `CSV/XLSX`, trilha persistida de geração/exportação e endurecimento resiliente da leitura de auditoria quando a migration `103_create_report_audit_logs.sql` ainda não estiver aplicada no ambiente.
- **Última atualização:** 2026-08-20
- **Registro operacional paralelo:** em 2026-08-18 o catálogo público recebeu fechamento técnico do fluxo de múltiplos endereços do cliente, seleção de endereço salvo no checkout autenticado, snapshot explícito do endereço de entrega em `catalog_orders.cart_payload` e exibição desse endereço no `admin`.
- **Registro operacional paralelo:** em 2026-08-19 o portal do cliente passou a exibir `Resumo comercial` e `Frete escolhido` no detalhamento do pedido com valores de produtos, frete, transportadora, logo, prazo e CEP do destino; o `admin` recebeu card profissional de rastreio para pedidos originados no catálogo, com persistência em `orders` preparada pela migration `104_add_order_catalog_tracking_fields.sql`.
- **Registro operacional paralelo:** ainda em 2026-08-19 a página de pedido do `admin` foi reorganizada para trazer `Endereço de entrega do catalogo` e `Rastreio da entrega` para a coluna principal abaixo de `Produção`, enquanto o portal do cliente recebeu refinamento visual dos blocos `Resumo comercial` e `Frete escolhido`, preservando integralmente os dados exibidos.
- **Registro operacional paralelo:** no portal do cliente, `Dados de entrega` agora reflete o snapshot real do endereço escolhido no pedido do catálogo, incluindo recebedor, endereço completo, contato e referência; o selo visual do provedor de frete foi removido para reduzir ruído.
- **Registro operacional paralelo:** em 2026-08-20 o `admin` recebeu endurecimento crítico do módulo de `Contas Bancárias`, com permissão exclusiva para `owner/admin`, ajuste auditável de saldo por lançamento em `cash_flow`, exclusão segura bloqueada por dependências e correção do reset total para limpar a malha financeira antes de apagar `bank_accounts`.
- **Registro operacional paralelo:** ainda em 2026-08-20 foi iniciada e validada a segregação operacional entre `caixa físico` e `conta bancária`, com regra central de compatibilidade por forma de liquidação, criação operacional de contas `CAIXA`, abertura de sessão do `PDV` restrita a `CAIXA`, checkout do `PDV` com conta por meio de pagamento, validação em pagamentos manuais, recebimentos e baixas de contas a pagar, além de ajuste da UI do `PDV` para separar `Caixa físico` de `Conta bancária`.
- **Validação manual recente:** browser autenticado confirmou criação real de conta temporária (`QA TEMP DELETE`), exclusão física bem-sucedida de conta sem vínculos, ajuste auditável de saldo na conta `Grafeno` de `R$ 3.206,85` para `R$ 3.216,85` e disponibilidade da `Zona de Perigo` para operador com privilégio crítico.

## Histórias concluídas

- `REL-001`
- `REL-002`
- `REL-003`
- `REL-004`
- `REL-005`
- `REL-006`
- `REL-007`
- `REL-008`
- `REL-009`
- `REL-010`
- `REL-011`
- `REL-012`

## Histórias em andamento

- Nenhuma.

## Histórias bloqueadas

- Nenhuma.

## Histórias não iniciadas

- Nenhuma pendência funcional remanescente foi identificada contra a `ESPECIFICACAO_OFICIAL.md`.

## Fechamentos complementares reconciliados

- Indicadores e tabela de `Clientes` já cobrem `Novos Clientes`, `Clientes Ativos`, `Clientes Inativos`, recorrência, ticket e ranking coerente com a base oficial, fechando funcionalmente o backlog histórico equivalente a `REL-013`, `REL-014` e `REL-015`.
- `Relatórios Personalizados` agora declaram universo explícito também para `Financeiro Caixa` e `Financeiro Carteira`, preservando a segregação e a governança funcional equivalentes a `REL-016` e `REL-017`.
- Presets, exportações e resposta analítica seguem a mesma superfície certificada do universo escolhido, cobrindo a consistência operacional esperada para `REL-018`.
- `CSV` e `XLSX` passaram a incluir metadados obrigatórios de auditoria e a consumir a mesma resposta oficial usada em tela, cobrindo o fechamento funcional equivalente a `REL-019` e `REL-020`.
- A trilha de auditoria de geração/exportação foi implementada com persistência via `report_audit_logs` e fallback resiliente quando a migration `103` ainda não estiver aplicada, cobrindo o fechamento funcional equivalente a `REL-021`.

## Próximos passos

1. Aplicar a migration `apps/admin/src/db/migrations/103_create_report_audit_logs.sql` em cada ambiente remoto ainda nao migrado para habilitar a consulta persistida dos logs de auditoria sem modo degradado.
2. Preservar a paridade entre tela e exportações a partir do mesmo `runReport()` e da mesma governança por universo.
3. Manter a leitura de auditoria resiliente para evitar falso negativo operacional em ambientes parcialmente migrados.
4. Fora do módulo de relatórios, aplicar a migration `apps/admin/src/db/migrations/105_add_bank_account_admin_controls.sql` nos ambientes ainda nao migrados para habilitar a persistência completa da auditoria de `Contas Bancárias`.
5. Fora do módulo de relatórios, implementar a transferência auditável `caixa físico -> conta bancária`, lançando saída no `CAIXA` e entrada na conta bancária destino sem perder rastreabilidade no `cash_flow`.
6. Fora do módulo de relatórios, alinhar as telas de `Contas a Receber`, `Contas a Pagar` e demais formulários financeiros para filtrar automaticamente `CAIXA` vs `Conta bancária` conforme o método escolhido, reduzindo erro operacional de usuário.
7. Fora do módulo de relatórios, validar com uma sessão sem papel `owner/admin` que os CTAs críticos de `Contas Bancárias` e `Zerar Sistema` não apareçam.
8. Fora do módulo de relatórios, executar validação manual ponta a ponta do novo fluxo de endereços no catálogo com cliente autenticado, troca de endereço salvo e conferência do snapshot no `admin`.
9. Fora do módulo de relatórios, aplicar a migration `apps/admin/src/db/migrations/104_add_order_catalog_tracking_fields.sql` nos ambientes ainda nao migrados para habilitar a gravação do rastreio manual no `admin` e a exibição futura desse rastreio no portal do cliente.
