# 2026-04-13 - Integracao da central com finance e alertas recorrentes

## O que mudou
- Criado `src/Modules/Finance/Support/FinanceNotificationService.php` como camada central para disparos de notificacoes de pedidos, faturas, pagamentos e assinaturas.
- Integrados os fluxos transacionais de `Orders`, `Invoices`, `Payments` e `Subscriptions` para alimentar a central com eventos como `order_created`, `order_paid`, `invoice_created`, `invoice_paid`, `payment_failed`, `subscription_created`, `subscription_renewed` e `subscription_cancelled`.
- Adicionados alertas financeiros automaticos em `src/Modules/Finance/Support/FinanceAlertsService.php` para `invoice_overdue` e `subscription_expiring`, com task dedicada em `src/Cron/Tasks/FinanceAlertsCronTask.php`.
- Atualizados `src/Http/Controllers/CronController.php` e `tools/cron-runner.php` para incorporar a rotina financeira no escopo `daily` e no `CronKernel`.
- Adicionado `sql/2026-04-13-create-finance-alert-dispatches.sql` para persistir o historico de disparo e evitar repeticao de alertas financeiros.
- Atualizado `docs/cron-operacao-e-notificacoes.md` com o fluxo operacional do financeiro dentro do cron.

## Observacoes
- Os eventos transacionais de finance nao exigiram migration de schema nas tabelas principais; o unico SQL novo desta rodada e o historico de deduplicacao dos alertas automaticos.
- As faturas em atraso passam a ser normalizadas para `overdue` no job automatico quando a `due_date` ja passou e o status ainda estava em `pending` ou `authorized`.
- A deduplicacao financeira usa assinatura por entidade, usuario, data e bucket de severidade, evitando repetir o mesmo alerta em toda execucao do cron.
- Os alertas de assinatura usam a janela padrao de 7 dias, mas a task foi preparada para aceitar ajuste de janela se precisarmos refinar depois.

## Validacao
- `php -l src/Modules/Finance/Support/FinanceNotificationService.php`
- `php -l src/Modules/Finance/Support/FinanceAlertsService.php`
- `php -l src/Cron/Tasks/FinanceAlertsCronTask.php`
- `php -l src/Http/Controllers/CronController.php`
- `php -l tools/cron-runner.php`
- `php -l src/Modules/Finance/Orders/OrderService.php`
- `php -l src/Modules/Finance/Invoices/InvoiceService.php`
- `php -l src/Modules/Finance/Payments/PaymentsService.php`
- `php -l src/Modules/Finance/Subscriptions/SubscriptionService.php`
- `php -l src/Modules/Finance/Subscriptions/Http/SubscriptionsController.php`
