Evita divergência no relatório de análise de parcelas ao impedir o
cadastro de lançamentos em períodos cujas faturas já foram quitadas.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Permite vincular arquivos (PDF, imagens) a lançamentos via upload direto
para storage compatível com S3, usando token assinado por arquivo e
validação de propriedade na leitura e remoção.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
O Companion envia hora local com 'Z' literal (nao converte para UTC),
entao o timestamp no DB ja carrega a data correta de Brasilia. Usava-se
+3h no frontend, que deslocava a virada de dia para as 21h locais e
fazia compras da tarde aparecerem como 'Ontem'.
- getItemDateKey: remove offset (data UTC ja e a data de Brasilia)
- getBrasiliaDateKey: usa UTC-3 apenas para calcular hoje/ontem
- Paraleliza insercoes no batch endpoint com Promise.allSettled
- Usa selectDistinct no fetchInboxSourceApps
- Envolve InboxCard em memo e callbacks em useCallback
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Inclui aba "Importação" após "Pré-lançamentos" no carrossel de
screenshots, com assets WebP (light/dark) e ícone RiFileDownloadLine.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Troca as setas de receita/despesa (estavam invertidas) e ajusta a
cor do card de saldo para cyan-600.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Corrige o cálculo da coluna Média para dividir apenas pelo número de
meses com valores > 0, evitando distorção causada por meses sem
movimentação. Adiciona ícone de informação com tooltip explicativo
no cabeçalho da coluna.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adiciona fluxo completo de importação de extratos bancários:
- Upload e parsing de arquivos OFX e XLS/XLSX
- Tela de revisão com virtualização (@tanstack/react-virtual)
- Detecção automática de categoria por histórico de uso
- Deduplicação por FITID (OFX) e importBatchId
- Tabela `import_category_mappings` para persistir mapeamentos
- Botão de acesso ao fluxo na tabela de transações
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>