CashFlow

De BIS Wiki
Ir para navegação Ir para pesquisar

Módulo responsável por gerenciar o sistema fluxo financeiro do caixa da empresa.

Requisitos

Lançamentos Financeiros

Os lançamentos financeiros são usados para registrar as movimentações financeiras das empresa. Qualquer saída ou entrada de dinheiro deve ter um lançamento correspondente. Um lançamento financeiro pode representar tanto uma conta já paga/recebida quanto um lançamento futuro futura de recebimento/pagamento.


Os lançamentos devem possuir as seguintes referências:

  • Empresa: Indicando à qual empresa esse lançamento pertente. [Obrigatório]
  • NFe: Indicando o documento fiscal associado a esse lançamento, quando gerado por documento fiscal.
  • Origin Account: Quando o lançamento for um pagamento ou transferência de fundos, é obrigatório associar à uma conta para indicar de onde foi tirado o valor para pagamento/transferência.
  • Recipient Account: Quando o lançamento for um recebimento ou transferência de fundos, é obrigatório associar à uma conta para indicar para onde foi o valor recebido.
  • Categoria: Categoria de pagamentos, para sumarização dos pagamentos.
  • Beneficiário/Pagador: Associa uma Pessoa como Beneficiário ou Pagador (dependendo do Tipo de Lançamento definido) ao lançamento. Não deve ser obrigatório, mas permitir a associação para facilitar a busca dos pagamentos/recebimentos por cliente, fornecedor, funcionário, etc. (PersonVO)
  • Documento(s) de Origem: Permite a associação de documentos que geraram o lançamento, como NFe, Guias de Impostos, Contas de Consumo, etc. Pode ser uma maneira de arquivar a guia (como arquivo, ou como referência para o cadastro da NFe no sistema). Algumas vezes um mesmo lançamento de pagamento (por exemplo mesmo boleto) pode abrange a união de várias NFes.


Os lançamentos devem ter os seguintes atributos:

  • Tipo do Lançamento: Define o tipo de lançamento: [Enum]
    • DEBIT: Uma saída, valor removido do caixa: conta a pagar como um boleto de fornecedor, pagamento de salário, etc.
    • CREDIT: Uma entrada, valor removido do caixa: conta a receber como um boleto emitido para um convênio, recebíveis de cartões de crédito e débito, etc..
    • FUNDTRANSFER: Transferência de fundos entre uma conta e outra.
  • Espécie de Lançamento: Define o tipo de conta a pagar ou receber (não usado para FUNDTRANSFER)
    • SLIPPAYMENTS: Pagamento de folha de pagamento. (Somente Débito)
    • PUBLICSERVICES: Boletos de concessionárias de serviços como telefonia, luz, gás, etc.
    • BOLETOS: Boletos de pagamentos em geral
    • DEPOSIT: Lançamento de depósitos
    • OTHER: Lançamentos manuais para outros pagamentos e recebimentos. Por exemplo, pagamentos sem nota de pequenos consertos, vales, etc.
  • Estatus do Lançamento: Define o "passo" ou estado em que o lançamento se encontra:
    • PLANNED: O pagamento está planejado (lançado no sistema) e aguardando para pagamento.
    • SENT: Estado usado para contas que são pagas por malote eletrônico, ou cobranças por geração de boleto, e indicam que já foram incluídas em um lote para enviar para o banco. Neste estado a conta já deve estar associada à uma conta bancária.
    • ERROR: Estado usado para contas que foram enviadas ao banco por malote eletrônico e retornaram com algum tipo de erro da instituição bancária.
    • PAID: Estado indicando que o lançamento já foi realizado. Isto é, o pagamento efetuado ou o recebível em caixa. Neste estado a associação da conta é obrigatória.
  • Mensagem do Malote Eletrônico: Mensagem(ns) recebida do sistema bancário ao tentar pagar uma conta, enviar um pagamento de salário, gerar um boleto, etc.. Por malote eletrônico.
  • Data de Lançamento: Registra a data em que o registro foi criado. Obrigatório
  • Data de Vencimento: Data máxima para pagamento sem penalidades de multas, juros e protestos. Obrigatório
  • Data de Execução: Data em que a ação de pagamento/recebimento realmente ocorreu.
  • Data de Compensação: Data em que o valor realmente entrou no caixa. Normalmente a data é uma duplicação do valor de 'data de execução', no entanto para recebíveis de cartões, boletos, e cheques depositados essa data pode ser diferente da data de execução devido ao processo de compensação. Este campo nunca deve ser nulo. Em casos de compensação imediata, duplicar o valor de 'data de execução' para simplificar consultas do banco de dados.
  • Valor Original: Valor do lançamento. (Seguindo sempre a convenção de que todo pagamento é salvo como valor negativo no banco, e todo recebimento é salvo como valor positivo. - Nos casos de lançamentos de movimentação, sempre lançar o valor positivo)
  • Valor Efetivo: O valor pago é o valor que realmente entrou ou saiu da Conta. Esse valor pode ser diferente do original devido a multas, descontos, taxas de recebíveis, etc.
  • Nome de Exibição: Descrição 'curta' dado pelo usuário para descrever o lançamento. Este nome que será usado para exibir em telas e relatórios (como extratos das contas) que permita que o usuário identifique o pagamento.
  • Observações: Campo que permita que o usuário escreva qualquer detalhamento mais específico sobre o lançamento.


Parcelamento: Permite que o lançamento se “replique” com datas de vencimentos diferentes. Além da data de vencimento outros campos podem ser necessários como numeração dos boletos subsequentes.

Repetição: Só permite repetição quando não houver parcelamento. Define uma repetição deste pagamento, a repetição servirá para alertar o usuário de que alguma conta é esperada para um determinado vencimento e ainda não foi paga, ou mesmo para estimar o contas a pagar/receber mesmo quando a conta ainda não tiver sido lançada com seu valor correto.

Campos de Controle do Malote Eletrônico: Há campos de controle que precisam ser criados para salvar as informações relativas ao “malote eletrônico”. Como por exemplo a data de geração, ID do relatório, ID do pagamento, Código do Status, Mensagem do Status, histórico de Status ou mensagens geradas/recebidas, data dos status e ainda o CRC de controle da confirmação de pagamento. Consulta documentação para criação destes campos (Campos de controle não necessariamente precisam ser expostos ao usuário, provavelmente apenas os status de erro.)

Categorias de Lançamentos

As categorias de lançamentos são usadas para totalizar os lançamentos por grupos de interesse, de forma a mostrar relatórios de fluxo de caixa. As categorias devem ser uma estrutura hierárquica, de forma que o usuário possa criar sua árvore da maneira como achar conveniente ter os totais e subtotais. As categorias devem ter os seguintes campos: Nome: Nome da categoria dada pelo usuário. Categoria Pai: A categoria pai define onde essa categoria será utilizada.

Gerenciamento de Contas Contas são usadas para lançar as entradas e saídas financeiras da empresa. Facilitando o controle dos saldos e valores financeiros da empresa. Cadastro de Contas Cada conta cadastrada deve ter os seguintes atributos: Nome: Para o usuário nomear e identificar a conta. Tipo da Conta: Conta Local: Usada para lançamento manuais de caixas locais. Conta Bancária: Usada para controle de contas bancárias como corrente ou conta investimento. Esse tipo de conta permitirá a conciliação de extrato bancário, bem como a exportação de “malote eletrônico” (CNAB?) para envio de pagamentos para o banco. Para contas bancárias temos os seguintes atributos adicionais: Banco: Número do banco (listagem já pré existente do sistema, por causa do suporte ao “malote eletrônico”). Agência: Agência da conta. Número da Conta: Número da conta corrente.

Conciliação Bancária das Contas Bancárias A conciliação bancária tem a finalidade de sincronizar as informações oferecidas pelo banco (extrato bancário), com as informações (lançamentos) disponíveis no sistema. Para isso o sistema deve executar as seguintes tarefas: Importar Extrato Bancário: O sistema deve permitir a importação de formatos comuns usados pelos bancos. Deve guardar os dados importados ignorando os trechos repetidos, e organizar de “forma continua” as informações do extrato bancário. Deve ainda ser capaz de “informar” se perceber que períodos de datas não foram importados, por exemplo o usuário esqueceu pulou algum trecho. Mapear Lançamentos: ?

Contas a Pagar A partir da NF-e Contas a Receber Gestão dos recebíveis da operadora de cartão Fluxo de Caixa