Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | Microsiga Protheus | Módulo | SIGAFIN |
Segmento Executor | Serviços & Juridico | ||
Projeto1 | M_CTR010 | IRM1 | PCREQ-XXXX |
Requisito1 | PCREQ-XXXX | Subtarefa1 | M_CTR010-XXX |
Chamado2 |
| ||
Release de Entrega Planejada | 12.1.8 | Réplica |
|
País | ( ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( x ) Outro: Todos. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Adicionar tratamento de cálculo de juros e multas variáveis na rotina de liquidação e recebimentos de títulos.
Situação Atual
Atualmente não existe esse tratamento atual.
Situação Ideal
Todos os títulos renegociados com atraso, deverão sofrer uma multa/juros por atraso.
Definição da Regra de Negócio
Liquidação de títulos a receber
No processo de liquidação de títulos, quando o usuário selecionar títulos em atraso, será aplicado um percentual fixo de multa e calculado os juros sobre o período em atraso, conforme percentual listado na inclusão do título (padrão existente no sistema).
Configuração para calculo de multa:
MV_JURTIPO = L (SIGALOJA)
MV_LJMULTA = Percentual de multa
MV_LJINTFS = .T. (Usa calculo do SIGALOJA)
MV_TXPER = Percentual de Juros
MV_LJJUROS = Percentual de Juros
Será possível informar uma outra taxa de multa e/ou juros, a ser aplicado no momento da simulação da liquidação, caso uma outra taxa seja negociada com o cliente.
Após a marcação dos títulos e seleção da condição de pagamento, caso seja aplicável, haverá novo cálculo de juros sobre o valor negociado e corrigido. Abaixo um exemplo desta negociação.
Exemplo:
Filial | Título | Cliente/Loja | Data de Vencimento | Valor | Percentual de Juros a.d |
Matriz | UNI0000001NF | T00001/01 | 01/08/2015 | R$ 5.000,00 | 0,0333 |
Matriz | UNI0000002NF | T00001/01 | 10/08/2015 | R$ 10.000,00 | 0,0333 |
Matriz | UNI0000003NF | T00001/01 | 20/08/2015 | R$ 3.000,00 | 0,0333 |
No dia 20/08/15, cliente entra em contato com a cobrança e solicita renegociação dos valores em aberto:
Título | Data de Vencimento | Data de Liquidação | Valor | Juros | Multa | Total para renegociação |
UNI0000001NF | 01/08/2015 | 20/08/15 | 5.000,00 | 31,64 | 100,00 | 5.131,64 |
UNI0000002NF | 10/08/2015 | 20/08/15 | 10.000,00 | 33,30 | 200,00 | 10.233,30 |
UNI0000003NF | 20/08/2015 | 20/08/15 | 3.000,00 | 0 | 0 | 3.000,00 |
Total Renegociado | 18.364,94 |
Cliente solicita um parcelamento dos valores em aberto em duas parcelas, a primeira a vista e a segunda para 30 dias.
Título | Data de Vencimento | Valor do Inicial | Valor de Juros | Valor da Parcela |
LIQ0000001DP | 20/08/2015 | 9.182,47 | 0 | 9.182,47 |
LIQ0000002DP | 20/09/2015 | 9.182,47 | 94,82 | 9.277,29 |
Total Renegociado | 18.459,76 |
No momento do parcelamento, os valores serão pelo sistema, mas o usuário de cobrança poderá alterar o valor de juros, conforme andamento das negociações com o cliente.
A alteração dos valores poderá ocorrer parcela a parcela da renegociação ou sobre o total renegociado, sendo este último aplicado à todos os títulos pertencentes à uma negociação.
Os títulos gerados de uma liquidação serão corrigidos, quando baixados em uma data posterior ao vencimento negociados.
Após a negociação com o cliente o usuário poderá:
Salvar a liquidação
Gravar todos os passos da liquidação, baixar os títulos selecionados e gerar novos títulos com os valores acordados.
Os valores gravados ficarão disponível no relatório Acordos de Liquidação.
Gravar Simulação
Gravar todos os passos da liquidação com uma data de validade definida, enquanto a simulação estiver vigente (dentro do prazo de validade), usuário poderá restaurar a simulação, alterar e gravar a liquidação.
Os valores gravados ficarão disponível no relatório Acordos de Liquidação.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
FINA460 - Liquidação a Receber | Alteração | Atualizações -> Contas a Receber -> Liquidação a Receber | - |
FINA460A - Simulação de liquidação a Receber | Criação | Não se aplica | - |
FINR460A - Acordos de liquidação | Criação | Relatórios -> Contas a Receber -> Acordos de Liquidação | - |
Detalhamento técnico.
FINA460 - Liquidação a Receber
Disponibilizar na tela de Browse o botão Restaurar Simulação para chamada na função de restaurar a simulação.
Tela de Seleção
Ajustar a tela de seleção de títulos, conforme protótipo de tela 01, para adicionar as informações:
No cabeçalho da tela:
- Adicionar o campo %Multa, iniciando com o percentual do parâmetro MV_LJMULTA;
- Adicionar o campo % Juros, iniciando com o percentual do parâmetro MV_TXPER/MV_LJJUROS.
Validações:
Os campos serão editáveis e quando manipulados serão replicados para os seus respectivos campos no grid da tela.
No grid da tela:
- Adicionar o campo %Multa, iniciando com o percentual do parâmetro MV_LJMULTA;
- Adicionar o campo % Juros, iniciando com o percentual do parâmetro MV_TXPER/MV_LJJUROS.
Validações:
Os campos da grid serão editáveis, sempre que alterados deverão recalcular os campos de juros/multa do título.
Os campos de juros/multa deverão iniciar com o calculo de juros/multa, com os percentuais de seus respectivos parâmetros.
Os campos Juros/Multa serão somados ao campo Valor a liquidar.
Regra de Cálculo:
Multa - Chamar a função LojxRMul() para calcular a multa conforme percentual informado pelo usuário.
Juros - Chamar a função LojxRJur() para calcular os juros com percentual informado pelo usuário.
Tela de Geração de título
Ajustar a tela de geração de títulos, conforme protótipo de tela 02, para adicionar as informações:
No cabeçalho da tela:
- Adicionar o campo % Juros, iniciando com o percentual do parâmetro MV_TXPER/MV_LJJUROS.
- Adicionar no ações relacionadas o botão Gravar Simulação.
- Adicionar ao botão Salvar a gravação das tabelas FO0, FO1, FO2.
Validações:
O campo será editável e quando manipulado será replicado para os seus respectivos campos no grid da tela.
No grid da tela, será reformulado de deverá conter os campos:
Campo | Ação | Obrigatório | Editável |
---|---|---|---|
Prefixo | Informado pelo usuário, deverá ser replicado para todos os títulos gerados | Sim | Sim |
Número | Número do título informado pelo usuário, deverá ser replicado para todos os títulos gerados | Sim | Sim |
Parcela | Parcela do título, será replicado para todos os título sempre incrementando 1 (MV_1DUP) | Sim | Não |
Tipo | Tipo de título informado pelo usuário na tela de cabeçalho, deverá ser replicado para todos os títulos gerados | Sim | Não |
Natureza | Natureza do títulos definido pelo usuário na abertura da tela, deverá ser replicado para todos os títulos gerados | Sim | Não |
Data de Vencimento | Data calculada, conforme condição de pagamento. | Sim | Sim |
Valor da Parcela | Valor calculado conforme a condição de pagamento listado pelo usuário | Sim | Não |
% Juros | Percentual de juros, será replicado com o % Juros do cabeçalho da tela | Não | Sim |
Juros | Juros calculado pela função LojxRJur(), baseado na data de vencimento e % de Juros | Não | Não |
Acréscimo | Acréscimo do título informado pelo usuário | Não | Não |
Decréscimo | Decréscimo do título informado pelo usuário | Não | Não |
Valor da Total | Resultado do calculo dos campos: Valor da Parcela + Juros + Acréscimo - Decréscimo | Sim | Não |
Banco do cheque | Banco do cheque informado pelo usuário | Não | Sim |
Agencia do cheque | Agencia do cheque informado pelo usuário | Não | Sim |
Conta do Cheque | Número da conta do cheque informado pelo usuário | Não | Sim |
Número do Cheque | Número do cheque informado pelo usuário | Não | Sim |
Emitente | Campo iniciará com o Nome reduzido do cliente | Não | Sim |
Validações:
Quando o parâmetro MV_GRSEFLQ = .T., só irá gerar cheques a receber caso o tipo de título for igual a CH, caso o usuário informe outro tipo de título, deverá apresentar uma mensagem informando que não será gerado o cheque, para essa liquidação.
Ao alterar o campo % Juros deverá recalcular os campos de Juros e Valor da Parcela.
Ao alterar os campos acréscimos, decréscimos deverá recalcular o campo valor da parcela.
Ao alterar a data de vencimento do título deverá recalcular os campos de Juros e Valor da Parcela.
Regra de Cálculo
Juros - Chamar a função LojxRJur() para calcular os juros com percentual informado pelo usuário.
Será calculado do juros desde a data de negociação (data base), até a data de vencimento da nova parcela .
FINA460A - Simulação de liquidação a receber
Função de Gravação.
Ao confirmar uma liquidação serão gravadas as tabelas:
FO0 - Cabeçalho da Liquidação
Campo | Conteúdo |
---|---|
FO0_FILIAL | Filial da Liquidação |
FO0_PROCES | Processo Simulação (autonumeração) |
FO0_VERSAO | Versão da Simulação (autonumeração) |
FO0_NUMLIQ | Número da liquidação |
FO0_DATA | Data da Simulação |
FO0_DTVALID | Data de validade da simulação |
FO0_COND | Condição de Pagamento |
FO0_TXJUR | Taxa de Juros informada na tela de negociação de títulos |
FO0_TXMUL | Taxa da Multa informada na tela de negociação de títulos |
FO0_TXJRG | Taxa de Juros informada na tela de geração de títulos |
FO0_CLIENTE | Código do cliente utilizado na geração do título |
FO0_LOJA | Loja do cliente utilizado na geração do título |
FO0_STATUS | Status da negociação que poderá ser: 1 - Ativo 2 - Versionado |
FO1 - Títulos Selecionados
Campo | Conteúdo |
---|---|
FO1_FILIAL | Filial da Liquidação |
FO1_PROCES | Processo Simulação (FO0_PROCES) |
FO1_VERSAO | Versão da Simulação (FO0_VERSAO) |
FO1_IDDOC | Identificação do título (FK7_IDDOC) |
FO1_SALDO | Saldo do título na data da negociação |
FO1_TXJUR | Taxa de Juros da negociação |
FO1_VLJUR | Valor do Juros calculado |
FO1_TXMUL | Taxa da multa da negociação |
FO1_VLMUL | Valor da multa calculada. |
FO2 - Títulos Gerados
Campo | Conteúdo |
---|---|
FO2_FILIAL | Filial da Liquidação |
FO2_PROCES | Processo Simulação (FO0_PROCES) |
FO2_VERSAO | Versão da Simulação (FO0_VERSAO) |
FO2_IDSIM | Identificação do título gerado (FWUUIDV4()) |
FO2_PREFIXO | Prefixo do título |
FO2_NUM | Número do título |
FO2_PARCELA | Parcela do título |
FO2_TIPO | Tipo do título |
FO2_CLIENTE | Cliente do título gerado |
FO2_LOJA | Loja do cliente |
FO2_NATUREZ | Natureza do título |
FO2_VENCTO | Vencimento do título |
FO2_VALOR | Valor calculo da Parcela |
FO2_ACRESC | Acréscimo do título |
FO2_DECRESC | Decréscimo do título |
FO2_TXJUR | Taxa de Juros |
FO2_VLJUR | Valor do Juros calculado |
FO2_BANCO | Banco do cheque |
FO2_AGENCI | Agencia do cheque |
FO2_CONTA | Conta do cheque |
FO2_NUMCH | Número do cheque |
FO2_EMITENT | Emitente do cheque |
Ao finalizar a gravação das tabelas FO0, FO1 e FO2, será apresentado uma mensagem se deseja ou não imprimir o relatório FINR460A.
Botão Gravar Simulação
Ao selecionar essa opção o sistema deverá apresentar uma pergunta de data de validade da simulação, conforme protótipo de tela 03:
A data digitada pelo usuário não poderá ultrapassar o limite definido no parâmetro MV_LMVLDLQ, ou seja, a data de validade não pode ser maior que a data da negociação somados o limite definido no parâmetro.
Após a confirmação da data de validade deverá chamar a gravação das tabelas FO0, FO1, FO2 e não deverá realizar alteração nos títulos envolvidos, ou seja, a rotina de liquidação será abortada.
Botão Restaurar Simulação
Ao selecionar essa opção será apresentado o grupo de perguntas FINA460A:
Pergunta | Conteúdo | Critério de Busca |
---|---|---|
Número da Simulação | Número do processo de liquidação | igual a FO0_PROCES |
Cliente da Liquidação | Código do cliente usado para geração dos títulos | igual a FO0_CLIENTE |
Loja | Loja do cliente usado para geração dos títulos | igual a FO0_LOJA |
Data de Negociação | Data da Negociação dos títulos | igual a FO0_DATA |
Data de Validade | Data da validade da negociação. | igual a FO0_DTVALID |
Validações:
Se a pergunta número da simulação estiver em branco, deverá considerar todas.
As perguntas cliente da liquidação, loja poderão ficar vazio apenas se a pergunta número da simulação estiver preenchida, caso ocorra notificar o usuário.
A pergunta data da negociação poderá ficar vazia se o número do processo e/ou data de validade estiverem preenchidos, caso ocorra notificar o usuário.
A pergunta data da validade poderá ficar vazia se o número do processo e/ou data de negociação estiverem preenchidos, caso ocorra notificar o usuário.
Será considerado apenas as simulações ativas, ou seja, FO0_STATUS = 1.1.
Caso não localize uma simulação para restaurar o usuário deverá ser notificado.
Verificar se a simulação estiver vencida, ou seja, FO0_DTVALID menor que a data base do sistema, o usuário não poderá dar continuidade a simulação, caso ocorra notificar o usuárioCaso não localize uma simulação para restaurar o usuário deverá ser notificado.
Ações:
Após a seleção da simulação sistema deverá efetuar uma varredura nos títulos selecionados e verificar se houve alteração de saldo, caso ocorra deverá notificar o usuário, informando que houve movimentação dos títulos negociados, se deseja recalcular ou abondar a simulação.
Caso não haja alterações de saldos nos títulos envolvidos ou solicitado recalculo, deverá carregar os dados das telas da liquidação conforme os protótipos 01 e 02, para conferencia e/ou manipulação do usuário:
- Caso o usuário altere e clique novamente em GRAVAR SIMULAÇÃO, sistema irá gravar uma nova versão.
- Caso o usuário altere e clique novamente em SALVAR, sistema irá gravar uma nova versão e efetuar a liquidação normalmente.
Recalculo:
Recalcular os valores de juros e multas, título a título, caso o título esteja com o saldo zero, será retirado do processo de negociação, para gravar o processo o usuário deverá selecionar a opção SALVAR ou GRAVAR SIMULAÇÃO.
Gravação do Versão:
A simulação selecionada terá o campo FO0_STATUS alterado para 2 = VERSIONADO.
Será gravado uma nova versão da simulação com dados da tela, mantendo o mesmo número de processo (FO0_PROCES) e incrementando apenas o campo FO0_VERSAO, ou seja, será realizada a gravação das tabelas FO0, FO1, FO2 com os dados em tela com o mesmo número de processo (FO0_PROCES) e incrementando apenas o campo FO0_VERSAO.
restaurado, com uma versão diferente.
Função genérica para montagem de tela.
A funcionalidade da liquidação será disponibilizada para o módulo de Telecobrança, desenvolver uma função em que será passado os dados dos títulos selecionados e e retorne a abertura da liquidação, ou seja, as telas dos protótipos 01, 02.
FINR460A - Relatório de simulação
Tabelas Utilizadas
- FK1 - Baixas a Receber
- SE1 - Contas a Receber
- FK6 - Valores acessórios
- FO0 - Cabeçalho da Liquidação
- FO1 - Títulos Negociados
- FO2 - Títulos gerados
Opcional
Protótipo de Tela
Protótipo 01
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
Protótipo 02
Protótipo de tela 03
Protótipo de tela 04
Protótipo de Tela 05
Opcional
Fluxo do Processo
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Opcional
Dicionário de Dados
Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/
Índice | Chave |
01 | <FI9_FILIAL+FI9_IDDARF+FI9_STATUS> |
02 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF> |
03 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO> |
Campo | <AAA_PERESP> |
Tipo | <N> |
Tamanho | <6> |
Valor Inicial | <Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. |
Mandatório | Sim ( ) Não ( ) |
Descrição | <Referência Mínima para Cálculo> |
Título | <Ref.Calc.> |
Picture | <@E999.99> |
Help de Campo | <Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação> |
(Opcional)
Grupo de Perguntas
<Informações utilizadas na linha Protheus>.
Nome: FINSRF2
X1_ORDEM | 01 |
X1_PERGUNT | Emissão De |
X1_TIPO | D |
X1_TAMANHO | 8 |
X1_GSC | G |
X1_VAR01 | MV_PAR01 |
X1_DEF01 | Comum |
X1_CNT01 | '01/01/08' |
X1_HELP | Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório |
(Opcional)
Consulta Padrão
<Informações utilizadas na linha Protheus>
Consulta: AMB
Descrição | Configurações de Planejamento |
Tipo | Consulta Padrão |
Tabela | “AMB” |
Índice | “Código” |
Campo | “Código”; ”Descrição” |
Retorno | AMB->AMB_CODIGO |
(Opcional)
Estrutura de Menu
<Informações utilizadas na linha Datasul>.
Procedimentos
Procedimento |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Módulo |
|
|
|
Programa base |
|
|
|
Nome Menu | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Registro padrão | Sim | Sim | Sim |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Release de Liberação |
|
|
|
Programas
Programa |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Nome Externo |
|
|
|
Nome Menu/Programa | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Nome Verbalizado[1] | (Max 254 posições) | (Max 254 posições) | (Max 254 posições) |
Procedimento |
|
|
|
Template | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) |
Tipo[2] | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Categoria[3] |
|
|
|
Executa via RPC | Sim/Não | Sim/Não | Sim/Não |
Registro padrão | Sim | Sim | Sim |
Outro Produto | Não | Não | Não |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Query on-line | Sim/Não | Sim/Não | Sim/Não |
Log Exec. | Sim/Não | Sim/Não | Sim/Não |
Rotina (EMS) |
|
|
|
Sub-Rotina (EMS) |
|
|
|
Localização dentro da Sub Rotina (EMS) |
|
|
|
Compact[4] | Sim/Não | Sim/Não | Sim/Não |
Home[5] | Sim/Não | Sim/Não | Sim/Não |
Posição do Portlet[6] | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right |
Informar os papeis com os quais o programa deve ser vinculado |
|
|
|
Cadastro de Papéis
<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.
<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.
Código Papel | (máx 3 posições) |
Descrição em Português* |
|
Descrição em Inglês* |
|
[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.
[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante
[3] Categorias são obrigatórias para os programas FLEX.
[4] Obrigatório quando o projeto for FLEX
[5] Obrigatório quando o projeto for FLEX
[6] Obrigatório quando o projeto for FLEX
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|