====== Especificação funcional: Gestão de contratos ====== ===== Resumo ===== A ferramenta de gestão de contratos permite a gestão e o acompanhamento da execução do contrato. ===== Descrição ===== A ferramenta de gestão de contratos permite que o gestor controle e acompanhe a execução do contrato através de dados extraídos do sistema e de um conjunto de ferramentas que permitem o gerenciamento do contrato durante a sua vigência. ==== Dados do contrato ==== O sistema deve exibir, na tela de gestão de contratos, as informações básicas do contrato: seu número, o objeto do contrato, o nome do contratante/contratado, se houver, e a descrição do contrato. Esses dados são extraídos diretamente do cadastro de contratos. O sistema deve permitir ainda que o usuário possa alterar os dados básicos do contrato sem a necessidade de sair da gestão de contratos. ==== Valor do contrato ==== O valor do contrato é o valor global do contrato informado durante o seu cadastro. Esse valor permanecerá constante durante toda a execução do contrato, ao menos que o usuário o modifique manualmente no cadastro do contrato. ==== Saldo financeiro ==== O saldo financeiro representa o valor do contrato que ainda não foi executado. Seu cálculo está diretamente ligado à categoria do contrato, às contas que movimentam o saldo do contrato e às movimentações financeiras vinculadas ao mesmo. O cálculo do saldo do contrato deverá ser realizado dinâmicamente pelo sistema, com base nas seguintes regras: - Se o gestor for o //contratante//, o saldo do contrato será composto pelo valor global do contrato + a soma das receitas vinculadas - a soma das despesas vinculadas; - Se o gestor for o //contratado//, o saldo do contrato será composto pelo valor global do contrato + a soma das despesas vinculadas - a soma das receitas vinculadas; - Se o saldo for composto pelos títulos vinculados ao contrato todos os títulos vinculados serão utilizados para o cálculo do saldo; - Se o saldo for composto pelos títulos baixados apenas os títulos vinculados que já foram pagos/recebidos serão utilizados para o cálculo do saldo; - Se o saldo for composto por títulos a partir de um estado específico, irão compor o saldo os títulos vinculados, baixados ou não, que estiverem em um estado igual ou superior ao definido na categoria do contrato. **Observações:**\\ * O valor das receitas e despesas sempre irá corresponder ao valor definido para as contas que movimentam o saldo financeiro do contrato e não ao valor total dos títulos. * Os valores utilizados para o cálculo do saldo são sempre os valores previstos das movimentações, mesmo que os títulos tenham sido baixados com valores diferentes dos originais. ==== Execução ==== A execução do contrato representa a porcentagem do contrato que já foi cumprida. O cálculo da execução deverá ser realizado dinâmicamente pelo sistema, com base nas seguintes regras: - Se o contrle da execução do contrato for pela data de vigência, a porcentagem de execução será calculada em função da data de início e término do contrato; - Se o controle da execução do contrato for pelo saldo financeiro, a porcentagem de execução será inversamente proporcional ao saldo financeiro do contrato; - Se o controle da execução do contrato for pelo saldo de itens, a porcentagem de execução será calculada em função da soma das quantidades dos itens dos títulos vinculados ao contrato em relação à soma das quantidades dos itens que compõem o objeto do contrato. **Observações:**\\ * O saldo dos itens segue as mesmas regras de composição do saldo financeiro, definidas na categoria do contrato. ==== Vigência==== A vigência do contrato apenas exibe as datas inicial e final do contrato, definidas no cadastro do mesmo. ===== Movimentações do contrato ===== As movimentações de um contrato, tanto financeiras quanto de itens, são realizadas através do lançamento e vínculo de títulos ao contrato. O vínculo de um título a um contrato pode ser realizado através do cadastro de títulos, durante a inclusão/alteração de um título (de acordo com as configurações do sistema), ou através das ferramentas disponibilizadas na gestão de contratos: * //Inclusão de tíutlos//: O sistema deve permitir que o usuário inclua títulos através da gestão de contratos. Quando a inclusão de um título for realizada através da gestão de contratos, o sistema deve trazer os campos //Pessoa// e //Contrato// do novo título preenchidos. * //Inclusão de múltiplos tíutlos//: Ao incluir um título parcelado, se este estiver vinculado a um contrato, todos os títulos gerados estarão automaticamente vinculados ao mesmo contrato; * //Duplicação de títulos//: O sistema deve permitir que o usuário duplique um título vinculado a um contrato. Assim como na inclusão parcelada, ao duplicar um título o novo título já estará automaticamente vinculado ao contrato; * //Exclusão de títulos//: O sistema deve permitir ao usuário excluir um título da lista de títulos vinculados ao contrato. Ao usar essa opção o usuário estará excluindo o título permanentemente e não apenas desvinculando esse título do contrato. Antes de realizar a operação, o sistema deve perguntar ao usuário se ele realmente deseja excluir o título; * //Alteração de títulos//: O sistema deve permitir a alteração de um título vinvulado ao contrato. O usuário poderá alterar todos os dados, inclusive mudar ou excluir o vínculo do título com o contrato que está sendo gerenciado; * //Visualização de títulos//: O sistema deve permitir a visualização de um título vinculado ao contrato; * //Mudança de estado de títulos//: O sistema deve permitir, quando a categoria do contrato controlar o estado dos títulos, a alteração do estado dos títulos. Para isso, o sistema deverá carregar a lista de estados predefinidos na categoria do contrato para que o usuário selecione o novo estado do título. Além dos estados, o sistema deve disponibilizara opção de remover o estado do título. **Observações:** * Embora o sistema traga os campos //Pessoa// e //Contrato// preenchidos, o usuário poderá alterar os dados livremente; * O sistema não deve restringir o cadastro ou o vínculo de títulos de pessoas diferentes que a definida como contratante/contratada no contrato; * As regras de validação das ações com títulos realizadas através da gestão de contratos são as mesmas aplicadas às ações quando realizadas através do cadastro de títulos; * As mesmas ações citadas acima podem ser realizadas diretamente através do cadastro de títulos, exceto quando a opção //Permitir o vínculo de títulos à contratos através do módulo de títulos// estiver desativada nas configurações do sistema; * Ao incluir/alterar um título a partir da gestão de contratos, o campo //Contrato// sempre será exibido no cadastro de títulos, mesmo que a opção //Permitir o vínculo de títulos à contratos através do módulo de títulos// estiver desativada nas configurações do sistema; * Ao mudar o estado de um título, o sistema deverá exibir a lista com todos os estados, inclusive aqueles vinculados a eventos automáticos (vínculo e baixa de títulos); * Um título só pode estar vinculado a um contrato de cada vez. Por isso, ao vincular o título a um contrato, o vinculo anterior (se houver) será desfeito automaticamente; ==== Eventos das movimentações ==== Ao criar a lista de estados dos títulos é possível definir um evento automático para atribuir tal estado ao título que disparou esse evento. Os eventos passíveis de automação atualmente são: * Vínculo de um título a um contrato: ao vincular um título a um contrato o sistema deverá procurar, na categoria do contrato, se existe algum estado associado à esse evento e, caso exista, atribuir o estado ao título que foi vinculado. Caso não exista nenhum estado associado ao vínculo do título, o mesmo deverá permanecer sem estado na gestão de contratos; * Baixa de um título vinculado: o mesmo procedimento será realizado após a baixa de um título vinculado a um contrato, com a diferença de que se não houver estado vinculado à baixa de títulos, o estado anterior do título deve ser mantido. ===== Pontos de verificação ===== ==== Dados do contrato ==== * O sistema deve permitir alterar os dados básicos do contrato (cadastro); * O saldo financeiro deve ser recalculado sempre que houver alteração no contrato ou na lista de movimentações; * A porcentagem de execução deve ser recalculada sempre que houver alteração no contrato ou na lista de movimentações; * A data de vigência deve ser atualizada sempre que houver alteração no contrato; ==== Movimentações financeiras ==== * O sistema deve exibir todos os títulos vinculados ao contratos; * O sistema deve permitir a inclusão de títulos (a pagar/a receber) através das movimentações financeiras; * O sistema deve permitir a exclusão de títulos através das movimentações financeiras; * O sistema deve permitir a alteração de títulos através das movimentações financeiras; * O sistema deve permitir a visualização de títulos (a pagar/a receber) através das movimentações financeiras; * O sistema deve permitir a alteração do estado dos títulos vinculados ao contrato (apenas se a categoria do contrato controlar o estado dos títulos); * Se houver um estado definido para ser aplicado ao vincular o título, esse deve ser atribuído automaticamente pelo sistema logo após o título ser vinculado; * Se não houver um estado definido para ser aplicado ao vincular o título, o estado do título deve permanecer em branco; * Se houver um estado definido para ser aplicado ao baixar o título, esse deve ser atribuído automaticamente pelo sistema logo após o título ser baixado; * Se não houver um estado definido para ser aplicado ao baixar o título, o estado do título deve permanecer inalterado; * Ao cancelar a baixa de um título o estado do título deve permanecer inalterado; * Ao realizar qualquer operação nas movimentações financeiras (exceto a visualização de títulos) o saldo do contrato e a porcentagem de execução devem ser atualizados; ==== Movimentações de itens ==== * O sistema deve exibir a lista com todos os itens e a quantidade contratada de cada um deles, mesmo que não haja movimentações para o produto/serviço contratado; * As movimentações de itens devem estar na mesma unidade de medida em que foram cadastradas no contrato; ===== Observações ===== Nenhuma. ~~DISCUSSION|Sugira mudanças, aponte falhas ou contribua de alguma forma aqui:~~