====== Especificação funcional: Transferência de valores ====== ===== Resumo ===== Funcionalidade que permite transferir valores monetários entre os módulos do sistema. ===== Descrição ===== A transferência de valores é um recurso do sistema utilizado para gerenciar o fluxo financeiro entre seus módulos. Através dele é possível transferir valores entre contas bancárias e cheques sem a necessidade de criar títulos específicos para cada uma destas operações. Este recurso, na visão do usuário, não é um módulo específico, mas sim parte dos módulos de Cheques e Movimentações bancárias. Sempre que um usuário solicitar uma transferência, o sistema deve permitir que ele determine os seguintes dados: * Destino: destino da transferência; * Data do movimento: data em que a transferência foi iniciada; * Pré-data: data prevista para a consolidação da transferência; * Número do documento bancário: Número que identificará a transferência no extrato bancário; * Histórico: descrição da transferência; * Valor: Valor a ser transferido. ==== Transferências a partir de uma conta bancária ==== O sistema deve permitir as seguintes operações de transferência de valores a partir de uma conta bancária: * Transferência para outra conta bancária; Para solicitar uma transferência o usuário precisa estar exibindo as movimentações de uma conta bancária. Após confirmar a transferência, o sistema deve: * Criar um lançamento de débito na conta de origem com os seguintes dados: * Data do movimento: definido pelo usuário * Número do documento: definido pelo usuário * Origem: "Movimento bancário de [nome da conta de origem]" * Histórico: "Transf. para [nome da conta, número da conta e banco]" * Número do documento bancário: definido pelo usuário (o mesmo que o campo Número do documento) * Operação: débito * Valor: definido pelo usuário * Pré-data: definida pelo usuário * Criar um lançamento de crédito na conta do destino com os seguintes dados: * Data do movimento: definido pelo usuário * Número do documento: definido pelo usuário * Origem: "Movimento bancário de [nome da conta de origem]" * Histórico: definido pelo usuário * Número do documento bancário: definido pelo usuário (o mesmo que o campo Número do documento) * Operação: crédito * Valor: definido pelo usuário * Pré-data: definida pelo usuário ==== Transferências a partir dos Cheques ==== O sistema deve permitir que valores referentes a um cheque sejam transferidos para qualquer conta bancária cadastrada no sistema (desde que a conta bancária esteja ativa). Entretanto, o sistema só deve permitir que cheques não compensados sejam transferidos. Além disso, o sistema não deve permitir a transferência de valores maiores ou menores do que o valor do cheque. Ao realizar uma transferência a partir dos cheques, o sistema deve: * Compensar o cheque transferido na data de movimento informada pelo usuário * Criar um lançamento de crédito na conta do destino com os seguintes dados: * Data do movimento: data de movimento informada pelo usuário * Número do documento: número do cheque * Origem: "Cheques" * Histórico: definido pelo usuário * Número do documento bancário: número do cheque * Operação: crédito * Valor: valor do cheque * Pré-data: definida pelo usuário ==== Cancelamento de transferências ==== O cancelamento da transferência poderá ser realizado a partir de sua origem ou a partir de seu destino, bastando que o usuário selecione um dos lançamentos relacionados à transferência e solicite o cancelamento (desde que os lançamentos não tenham sido conciliados). O sistema deverá identificar automaticamente a origem e o destino da transferência e realizar as ações adequadas de acordo com o seu tipo. === Transferências entre duas contas bancárias === A transferência entre duas contas bancárias só pode ser cancelada se os lançamentos criados pela transferência não estiverem conciliados. Caso um dos lançamentos (ou ambos) estejam conciliados, será necessário remover a data de conciliação antes de realizar o cancelamento. Caso o cancelamento proceda com sucesso, o sistema deverá remover os lançamentos da conta de origem e destino gerados pela transferência. === Transferências entre cheques e contas bancárias === A transferência de um cheque para uma contas bancária só pode ser cancelada se os lançamento criado pela transferência não estiver conciliado. Caso o lançamento bancário estiver conciliado, será necessário remover a data de conciliação antes de realizar o cancelamento. Caso o cancelamento proceda com sucesso, o sistema deverá remover o lançamento bancário da conta de destino e remover a data de conciliação do cheque que foi transferido. ===== Pontos de verificação ===== ===== Observações ===== ~~DISCUSSION|Sugira mudanças, aponte falhas ou contribua de alguma forma aqui:~~