@marcos_feitoza/personal-finance-frontend-feature-management
v1.3.0
Published
Este pacote contém a implementação das telas para gerenciamento detalhado de transações e para o processo de conciliação na aplicação Personal Finance Frontend.
Readme
Feature: Gerenciamento (Frontend Flutter)
Este pacote contém a implementação das telas para gerenciamento detalhado de transações e para o processo de conciliação na aplicação Personal Finance Frontend.
Propósito
O objetivo deste pacote é fornecer ao usuário ferramentas para revisar, editar e deletar transações, bem como para realizar a conciliação de contas, garantindo a exatidão dos registros financeiros.
Conteúdo Principal
lib/screens/manage_transactions_screen.dart: Tela para visualizar, editar e deletar transações individuais.lib/screens/reconciliation_screen.dart: Tela dedicada ao processo de conciliação de contas.lib/screens/credit_card_statement_import_screen.dart: Tela para importar extratos de cartão de crédito via CSV (com preview, classificação e importação em lote).
Como Usar (Instalação como Dependência)
Este pacote é uma dependência local para a aplicação principal (personal-finance-frontend).
No pubspec.yaml da aplicação principal, adicione a seguinte linha em dependencies:
personal_finance_frontend_feature_management:
path: ../personal-finance-frontend-feature-managementFeatures
- Gestão de Transações: Permite ao usuário visualizar um histórico completo de transações, com opções de edição e exclusão.
- Conciliação de Contas: Oferece um fluxo guiado para conciliar transações com extratos bancários, identificando e corrigindo discrepâncias.
- Filtros Avançados: Ferramentas para filtrar transações por tipo, método de pagamento, data, etc.
Importação de Extrato (CSV) — Cartão de Crédito (MVP)
Esta feature adiciona uma tela para importar transações de cartão de crédito a partir de arquivos .csv (parse client-side), com:
- Upload e preview das linhas do CSV antes de salvar
- Excluir linhas (ex.: pagamentos do cartão)
- Classificar (category/subcategory) antes de importar
- Criar category/subcategory na hora (e salvar também em Categories Settings)
- Detecção de duplicatas por fingerprint (date + amount + type + description)
Onde acessar
- Menu → Management → Import Statement (CSV)
- (Atalho no Dashboard) Card Credit Cards → botão Import statement (abre a tela direto e já preseleciona o cartão)
Formatos suportados (inicial)
- BMO: colunas
Transaction Date(YYYYMMDD),Transaction Amount,Description - RBC: colunas
Date de l'opération(M/D/YYYY),Description 1,Description 2,CAD$
Observação (RBC): linhas com valores positivos normalmente representam pagamento do cartão / refunds. Por padrão, elas aparecem no preview mas vêm excluídas (não serão importadas) para evitar bagunçar a conciliação.
Fluxo recomendado
- Faça upload do CSV
- Clique em Exclude payments (opcional, ajuda a remover linhas como PAYMENT/THANK YOU)
- Para as linhas que serão importadas, defina Category/Subcategory
- Use Create item para criar uma category/subcategory sem sair da tela
- Use Apply to all para aplicar a mesma classificação a todas as linhas com a mesma descrição
- Clique em Import para gravar as transações no backend
Como funciona a dedupe
Ao carregar o CSV, a tela:
- calcula o range de datas do arquivo (min..max)
- busca transações existentes no backend para o mesmo cartão no mesmo período
- marca como Duplicate as linhas equivalentes e desmarca a importação dessas linhas
Isso ajuda também em casos de overlap de período (ex.: importar 01–15 e depois 14–30).
