# Próxima Tarefa Autorizada

## História

- **ID:** `FIN-CASH-TRANSFER-002`
- **Título:** Implementar transferência auditável de caixa físico para conta bancária e concluir o ajuste das telas financeiras

## Objetivo

Concluir a segregação do domínio `caixa físico x conta bancária`, adicionando a transferência auditável `caixa físico -> conta bancária` com rastreabilidade completa em `cash_flow` e refinando as telas de `Contas a Receber`, `Contas a Pagar` e demais formulários financeiros para filtrar automaticamente as contas compatíveis com o método escolhido.

## Dependências

- Regra central de compatibilidade em `apps/admin/src/lib/liquidation-accounts.ts` já criada
- `PDV`, pagamento manual, recebimentos e baixa de contas a pagar já validados em `TypeScript` e `eslint`
- Contas do tipo `CAIXA` já podem ser criadas operacionalmente em `bank_accounts`
- Sessão autenticada no `admin` para validação manual ponta a ponta

## Arquivos esperados

- `apps/admin/src/app/api/bank-accounts/transfer/route.ts` ou equivalente
- `apps/admin/src/app/dashboard/financial/bank-accounts/bank-accounts-client.tsx`
- `apps/admin/src/app/dashboard/financial/receivables/page.tsx`
- `apps/admin/src/app/dashboard/financial/payables/page.tsx`
- `apps/admin/src/components/orders/payment-modal.tsx`
- `apps/admin/src/app/dashboard/pdv/page.tsx`
- `docs/relatorios/STATUS.md`
- `docs/relatorios/CHANGELOG.md`

## Critérios de aceite

- O sistema permite transferir saldo de uma conta `CAIXA` para uma conta bancária ativa sem perda de auditoria
- A transferência gera rastreabilidade bidirecional coerente em `cash_flow`, com saída no `CAIXA` e entrada na conta bancária destino
- `Contas a Receber`, `Contas a Pagar` e formulários financeiros filtram automaticamente `CAIXA` vs `Conta bancária` conforme a forma escolhida
- Não existe mais caminho operacional que aceite `dinheiro` em conta bancária nem `pix/cartão/transferência` em `CAIXA`

## Casos de teste obrigatórios

- Abrir um `CAIXA`, registrar venda em dinheiro no `PDV` e confirmar que o pagamento cai no `CAIXA`
- Registrar uma venda apenas em `pix/cartão` no `PDV` e confirmar que ela não exige sessão de caixa
- Registrar pagamento manual em dinheiro e confirmar exigência de `CAIXA`
- Registrar recebimento em `cash` e baixa de conta a pagar em `cash`, ambos exigindo `CAIXA`
- Executar transferência `CAIXA -> conta bancária` e confirmar os dois lançamentos compensatórios em `cash_flow`

## Registro Operacional Paralelo

- **Fluxo:** `PDV` já separa `Caixa físico` de `Conta bancária`, com sessão de caixa exigida apenas quando há dinheiro na venda
- **Fluxo:** pagamento manual, recebimento e baixa de conta a pagar já validam compatibilidade de conta conforme o método
- **Próxima validação manual:** executar cenário real de venda mista `dinheiro + pix/cartão` no `PDV` e confirmar a alocação financeira de cada parcela
- **Fluxo adicional:** criação, exclusão segura e ajuste auditável de `Contas Bancárias` já foram validados no browser autenticado do `admin`
- **Fluxo adicional:** o portal do cliente já exibe o detalhamento comercial do pedido e o frete escolhido do catálogo; o `admin` já exibe o card de rastreio manual apenas para pedidos originados no catálogo
