FinancialAccount (Conta Financeira)
A FinancialAccount representa uma conta bancaria ou caixa usado para movimentacoes financeiras.
Descricao
Contas financeiras sao onde o dinheiro e armazenado e movimentado. Podem ser contas bancarias reais, carteiras digitais ou caixas internos.
Dados
Informacoes da Conta
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| name | Texto | Sim | Nome da conta |
| type | Selecao | Sim | Tipo da conta |
| initial_balance | Monetario | Nao | Saldo inicial |
| current_balance | Monetario | Calculado | Saldo atual |
| active | Booleano | Sim | Se conta esta ativa |
Dados Bancarios
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| bank_id | Referencia | Condicional | Banco |
| agency | Texto | Nao | Numero da agencia |
| account_number | Texto | Nao | Numero da conta |
| account_digit | Texto | Nao | Digito da conta |
Relacionamentos
Pertence a
| Entidade | Obrigatorio | Descricao |
|---|---|---|
| Account | Sim | Conta do petshop |
| Store | Nao | Filial especifica |
| Bank | Condicional | Banco (se conta bancaria) |
Possui
| Entidade | Descricao |
|---|---|
| FinancialTransactions | Transacoes da conta |
| BankReconciliations | Conciliacoes bancarias |
Tipos de Conta
| Tipo | Descricao |
|---|---|
| checking | Conta corrente |
| savings | Conta poupanca |
| cash | Caixa/Dinheiro |
| digital_wallet | Carteira digital |
| investment | Investimento |
Calculo de Saldo
Formula
current_balance = initial_balance + sum(transacoes.signal_value)
Atualizacao
O saldo e recalculado automaticamente quando:
- Transacao e criada
- Transacao e atualizada
- Transacao e excluida
- Transacao e paga
Metodo
calculate_balance!
- Busca todas as transacoes paid
- Soma signal_values
- Adiciona initial_balance
- Atualiza current_balance
Saldo Inicial
Criacao
Ao definir initial_balance:
- Cria FinancialTransaction com
initial_balance = true - Type = "revenue"
- Status = "paid"
- Valor = initial_balance
Restricao
- Transacao de saldo inicial nao pode ser editada
- Transacao de saldo inicial nao pode ser excluida
Conciliacao Bancaria
Processo
- Importar arquivo OFX do banco
- Sistema cria BankReconciliation
- Para cada lancamento do extrato:
- Busca transacao correspondente
- Ou cria nova transacao
- Marca transacoes como reconciliadas
Integracao
Visualizacao de Saldo
Saldo por Periodo
| Metrica | Calculo |
|---|---|
| Saldo inicial do periodo | Transacoes ate data inicial |
| Entradas no periodo | Receitas no periodo |
| Saidas no periodo | Despesas no periodo |
| Saldo final | Inicial + Entradas - Saidas |
Fluxo de Caixa
Projecao de saldo considerando transacoes futuras pendentes.
Validacoes
| Campo | Regra |
|---|---|
| name | Obrigatorio, unico por conta |
| type | Obrigatorio |
| bank | Obrigatorio se type = "checking" ou "savings" |
Regras de Negocio
- Saldo atualizado automaticamente: Nao e necessario calcular manualmente
- Nao pode excluir com transacoes: Conta com movimentacoes nao pode ser excluida
- Desativacao: Contas podem ser desativadas (nao aparecem em selecoes)
Permissoes
| Acao | Descricao |
|---|---|
| Criar | Criar nova conta |
| Editar | Alterar dados da conta |
| Desativar | Marcar como inativa |
| Conciliar | Importar e conciliar extrato |
| Ver saldo | Visualizar saldo e movimentacoes |
Integracao com Transacoes
Ao Selecionar Conta
Quando payment_account = "financial_account":
- Transacao vinculada a esta conta
- Saldo e afetado quando transacao e paga
- Pode ser conciliada com extrato