Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 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_CTR0

IRM1

PCREQ-3780

Requisito1

PCREQ-7721

Subtarefa1

M_CTR010-

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 e permitir a simulação de valores negociados.

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 ReceberCriaçãoAtualizações -> Contas a Receber -> Simulação de Liquidação-
FINR460A - Acordos de liquidaçãoCriaçãoRelatórios -> Contas a Receber -> Acordos de Liquidação-

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 cálculo de multa:

MV_JURTIPO = L (SIGALOJA)

MV_LJMULTA = Percentual de multa

MV_LJINTFS = .T. (Usa cálculo do SIGALOJA)

MV_TXPER = Percentual de Juros

MV_LJJUROS = Percentual de Juros

 

Será possível informar uma outra taxa de multa e/ou juros, que serão aplicadas 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, quando necessário, haverá novo cálculo de juros sobre o valor negociado e este será 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 sugeridos pelo sistema, mas o usuário de cobrança poderá alterar o valor de juros, conforme a negociação 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á:

 

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.

 

Simulação

Gravar todos os passos da liquidação com uma data de validade. Sendo assim, enquanto a simulação estiver vigente (dentro do prazo de validade), o usuário poderá alterar a simulação, alterar e efetivar a simulação.

Os valores gravados ficarão disponíveis no relatório Acordos de Liquidação.

 

Detalhamento técnico.

FINA460 - Liquidação a Receber

Função genérica para montagem de tela.

 

A funcionalidade da liquidação será disponibilizada para o módulo de Telecobrança, onde serão selecionados os títulos para um atendimento/cobrança e utilizaram a rotina de liquidação nas telas dos protótipos 01 e 02.

Para isso, reestruturar a função A460Liquid, dividindo-a em:

 

  1. Seleção de dados (tela inicial);
  2. Montagem do arquivo temporário, com dados coletados da seleção de títulos;
  3. Montagem da tela de seleção de título;
  4. Montagem da tela de geração de títulos.

 

Importante: Manter todas as validações e gravações existentes.

Após a reestruturação, o módulo de telecobrança deverá chamar a função de montagem da tela de seleção de títulos.


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 botão EDITAR localizado em ações relacionadas deverá retirar o campo Juros.

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;
  • Adicionar o campo Acréscimo, iniciando com o valor do campo E1_SDACRES e retirar a soma do seu conteúdo ao campo VALOR JUROS;
  • Adicionar o campo Decréscimo, iniciando com o valor do campo E1_SDDECRE e retirar a soma do seu conteúdo ao campo VALOR DESCONTO;
  • Adicionar os campos E1_EMISSAO e E1_BAIXA.

Ordenação da tela: similar a tela de geração título descrita abaixo.

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 cálculo 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.
  • Valor a Liquidar - Saldo do título + Multa + Juros + Acréscimo - Decréscimo - Desconto - Abatimento


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.

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:


CampoAçãoObrigatórioEditável
PrefixoInformado pelo usuário, deverá ser replicado para todos os títulos geradosSimSim
NúmeroNúmero do título informado pelo usuário, deverá ser replicado para todos os títulos geradosSimSim
ParcelaParcela do título, será replicado para todos os títulos sempre incrementando 1 (MV_1DUP)SimSim
TipoTipo de título informado pelo usuário na tela de cabeçalho, deverá ser replicado para todos os títulos geradosSimNão
NaturezaNatureza do títulos, definido pelo usuário na abertura da tela, deverá ser replicado para todos os títulos geradosSimNão
Data de VencimentoData calculada, conforme condição de pagamento.SimSim
Valor da ParcelaValor calculado conforme a condição de pagamento listado pelo usuárioSimSim
% JurosPercentual de juros, será replicado com o % Juros do cabeçalho da telaNãoSim
JurosJuros calculado pela função LojxRJur(), baseado na data de vencimento e % de JurosNãoNão
AcréscimoAcréscimo do título informado pelo usuárioNãoNão
DecréscimoDecréscimo do título informado pelo usuárioNãoNão
Valor da Total Resultado do cálculo dos campos: Valor da Parcela + Juros + Acréscimo - DecréscimoSimNão
Banco do chequeBanco do cheque informado pelo usuário NãoSim
Agencia do chequeAgencia do cheque informado pelo usuárioNãoSim
Conta do ChequeNúmero da conta do cheque informado pelo usuário NãoSim
Número do ChequeNúmero do cheque informado pelo usuárioNãoSim
EmitenteCampo iniciará com o Nome reduzido do clienteNãoSim

 

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;
  • Os campos Banco cheque, Agencia cheque, Conta cheque e Número cheque, serão obrigatórios quando o tipo de título for CH.

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.

Ao alterar o valor da parcela para um valor menor, deverá ajustar a parcela seguinte, para somar o saldo retirado e recalcular seus valores de juros e total da parcela, caso altere para valor maior, deverá subtrair da próxima parcela e recalcular seus valores de juros e total da parcela.

 

Regra de Cálculo

Juros - Chamar a função LojxRJur() para calcular os juros com percentual informado pelo usuário.

Será calculado o juros desde a data de negociação (data base), até a data de vencimento da nova parcela.

 

Função FA460Can

Ao cancelar a liquidação que possua simulação, apresentar a pergunta:

Cancela a simulação:

Se sim, deverá limpar o campo FO0_NUMLIQ e alterar o campo FO0_STATUS = 3 cancelado.

Se não, deverá limpar o campo FO0_NUMLIQ.


FINA460A - Simulação de liquidação a receber


Criar uma rotina com browse baseada na tabela FO0, conforme o protótipo de dela 03, com as propriedades abaixo: 

Legenda

 

CorDescriçãoCondição
 

Simulação Bloqueada

 

FO0_STATUS = 2 - Bloqueada
 

Simulação Vigente

 

FO0_STATUS = 1 - Ativo e o campo

FO0_DTVALID >= database

 

Simulação Cancelada

FO0_STATUS = 3 - Cancelada
Simulação Vencida

FO0_STATUS = 1 - Ativo e o campo

FO0_DTVALID < database

Simulação Gerada

FO0_STATUS = 4

Simulação Encerrada

FO0_STATUS = 5


Botão Incluir

Incluir uma simulação, irá apresentar os parâmetros iniciais da rotina FINA460, para seleção dos títulos, após preenchimentos dos parâmetros será apresentada o protótipo de tela 01 e 07.

Na tela de seleção de título será alterado apenas o título para SIMULAÇÃO DE LIQUIDAÇÃO, deverá usar a mesma função do fonte FINA460, apenas com essa alteração.

Na tela de geração de títulos adicionar o campo DATA VALIDADE, que será replicado para o campo FO0_DTVALID  e o botão EFETIVAR SIMULAÇÃO que irá efetuar liquidação dos títulos selecionados e gerar os novos conforme a simulação.

Ações:

Botão SALVAR irá gravar somente a simulação.


Validações 

A data de validade 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.


Botão Alterar 

Irá abrir os protótipos de tela 01 e 07, com os dados gravados das tabelas FO0, FO1, FO2, caso o usuário altere as informações será criada uma nova versão nas tabelas envolvidas.

Validações

Não poderão sofrer alteração as simulações: 

StatusCondição

Simulação Bloqueada

 

FO0_STATUS = 2

Simulação Cancelada

FO0_STATUS = 3
Simulação Gerada

FO0_STATUS = 4

Simulação EncerradaFO0_STATUS = 5


Ações:

Ao alterar uma 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.

Se a somatória do saldos dos títulos envolvidos na liquidação for igual a zero, notificar o usuário que não pendencias de recebimentos para essa 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 07, 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 EFETIVAR SIMULAÇÃO, 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 EFETIVAR SIMULAÇÃO.


Botão Efetivar

Irá abrir os protótipos de telas 01 e 02, com os dados gravados das tabelas FO0, FO1, FO2, ao confirmar será gravada a liquidação dos títulos selecionados e gerar os novos conforme dados da simulação.

Os campos FO0_STATUS = 4 (gerada) e o campo FO0_NUMLIQ, com número da liquidação gerada.

Caso exista mais de uma versão para o mesmo processo de simulação, as demais simulações terão o campo FO0_STATUS alterado para liquidação 4 - Gerada.

Validações

Todos os campos estarão disponíveis apenas para visualização.

Ações:

Ao alterar uma 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.

Se a somatória do saldos dos títulos envolvidos na liquidação for igual a zero, notificar o usuário que não pendencias de recebimentos para essa 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.

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 EFETIVAR SIMULAÇÃO.

Botão Visualizar 

Irá apresentar o protótipo de tela 04, para conferência.

Validações

Todos os campos estarão disponíveis apenas para visualização.

Botão Bloquear

Irá apresentar o protótipo de tela 04, para conferência, se o usuário clicar na opção SALVAR, deverá alterar o campo FO0_STATUS para 2 (bloqueado).

Validações

Todos os campos estarão disponíveis apenas para visualização.

Estorno bloqueio

Irá apresentar o protótipo de tela 04, para conferência, se o usuário clicar na opção SALVAR, deverá alterar o campo FO0_STATUS para 1 (Ativo).

Validações

Todos os campos estarão disponíveis apenas para visualização.

Botão Relatório

Irá chamar o relatório FINR460A.


Funções Genéricas.

Função de Gravação.

Ao confirmar uma liquidação serão gravadas as tabelas:

 

FO0 - Cabeçalho da Liquidação

 

CampoConteúdo
FO0_FILIALFilial da Liquidação
FO0_PROCESProcesso Simulação (autonumeração)
FO0_VERSAOVersão da Simulação (autonumeração)
FO0_NUMLIQNúmero da liquidação
FO0_DATAData da Simulação
FO0_DTVALIDData de validade da simulação
FO0_CONDCondição de Pagamento
FO0_TXJURTaxa 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_TXJRGTaxa de Juros informada na tela de geração de títulos
FO0_CLIENTECódigo do cliente utilizado na geração do título
FO0_LOJALoja do cliente utilizado na geração do título
FO0_NATUREZNatureza do título
FO0_STATUS

Status da negociação que poderá ser:

1 - Ativo

2 - Bloqueado

3 - Cancelado

4 - Gerada

 

FO1 - Títulos Selecionados

 

CampoConteúdo
FO1_FILIALFilial da Liquidação
FO1_PROCESProcesso Simulação (FO0_PROCES)
FO1_VERSAOVersão da Simulação (FO0_VERSAO)
FO1_IDDOCIdentificação do título (FK7_IDDOC)
FO1_SALDOSaldo do título na data da negociação
FO1_TXJURTaxa de Juros da negociação
FO1_VLJURValor do Juros calculado
FO1_TXMULTaxa da multa da negociação
FO1_VLMULValor da multa calculada.
FO1_DESCONDesconto informado pelo usuário
FO1_ACRESCSaldo de Acréscimo do título (E1_SDACRES)
FO1_DECRESSaldo de Decréscimo do título (E1_SDDECRE) 
FO1_VLABTValor de Abatimento do título (SomaAbat())
FO1_TOTALResultado do cálculo: FO1_SALDO + FO1_VLMUL + FO1_VLJUR + FO1_ACRESC - FO1_DESCON - FO1_DECRES - FO1_VLABT

 

FO2 - Títulos Gerados


CampoConteúdo
FO2_FILIALFilial da Liquidação
FO2_PROCESProcesso Simulação (FO0_PROCES)
FO2_VERSAOVersão da Simulação (FO0_VERSAO)
FO2_IDSIMIdentificação do título gerado (FWUUIDV4())
FO2_PREFIXOPrefixo do título
FO2_NUMNúmero do título
FO2_PARCELAParcela do título
FO2_TIPOTipo do título
FO2_VENCTOVencimento do título
FO2_VALORValor calculado da Parcela
FO2_ACRESCAcréscimo do título
FO2_DECRESCDecréscimo do título
FO2_TXJURTaxa de Juros
FO2_VLJURValor do Juros calculado
FO2_BANCOBanco do cheque

FO2_AGENCI

Agencia do cheque
FO2_CONTAConta do cheque
FO2_NUMCHNúmero do cheque
FO2_EMITENTEmitente do cheque
FO2_TOTALResultado do cálculo: FO2_VALOR + FO2_VLJUR + FO2_ACRESC - FO2_DECRES

 

Gravação de Simulação.

Serão gravados as tabelas FO0, FO1, FO2 com os campos FO0_STATUS= 1 e FO0_NUMLIQ em branco.

Gravação do Versão.

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 do processo alterado, com uma versão diferente.


FINR460A - Relatório de simulação

 

Emitir o relatório baseado nas tabelas FO0, FO1, FO2, conforme protótipo de tela 06, com a estrutura abaixo em formato de paisagem.

 

FO0 X SA1 - Cabeçalho do processo

ColunaConteúdo
ProcessoFO0_PROCES
Condição de PagamentoFO0_COND
Data de NegociaçãoFO0_DATA
Data de ValidadeFO0_DTVALID
VersãoFO0_VERSAO
Número da LiquidaçãoFO0_NUMLIQ
Cliente/LojaFO0_CLIENTE+FO0_LOJA
Nome reduzidoA1_NREDUZ
NaturezaFO0_NATUREZ + ED_DESCRIC

 

FO0, FO1, FK7, SE1 - Títulos selecionados

 

ColunaConteúdo
FilialFO1_FILIAL
Prefixo/Número/Parcela/Tipo E1_PREFIXO/E1_NUMERO/E1_PARCELA/TIPO
ClienteE1_NOMCLI 
NaturezaE1_NATUREZ
VencimentoE1_VENCREA
SaldoFO1_SALDO
% MultaFO1_TXMUL
MultaFO1_VLMUL
% JurosFO1_TXJUR
JurosFO1_VLJUR
AcréscimoFO1_ACRESC
DecréscimoFO1_DECRES
DescontoFO1_DESCON
AbatimentoFO1_VLABT
Valor totalFO1_TOTAL

 

FO0, FO2 - Títulos Gerados

ColunaConteúdo
FilialFO2_FILIAL
PrefixoFO2_PREFIXO
NúmeroFO2_NUM
ParcelaFO2_PARCELA
Tipo

FO2_TIPO

VencimentoFO2_VENCTO
Valor CalculadoFO2_VALOR
% JurosFO2_TXJUR
JurosFO2_VLJUR
AcréscimoFO2_ACRESC
DecréscimoFO2_DECRES
Valor da ParcelaFO2_TOTAL

 

Relacionamento entre as Tabelas

 

TabelasChave de relacionamento
FO0 X SA1FO0_CLIENTE+FO0_LOJA  = A1_COD + A1_LOJA
FO0 X SEDFO0_NATUREZ = ED_CODIGO
FO0 X FO1FO0_PROCES + FO0_VERSAO = FO1_PROCES + FO1_VERSAO
FO0 X FO2FO0_PROCES + FO0_VERSAO = FO2_PROCES + FO2_VERSAO
FO1 X FK7FO1_IDDOC = FK7_IDDOC
FK7 X SE1

E1_FILIAL + E1_PREFIXO + E1_NUM + E1_PARCELA + E1_TIPO

E1_FORNECE + E1_LOJA = FK7_CHAVE

 

O relatório será quebrado por processo de negociação, divididos em três sessões (FO0, FO1, FO2), irá buscar dados conforme grupo de perguntas FINR460A, demonstrado no protótipo de tela 05.

 

PerguntaConteúdo
Data de Negociação deInício do range de data de negociação (FO0_DATA)
Data de Negociação atéFinal do range de data de negociação (FO0_DATA)
Data de Validade deInício do range das datas de validade (FO0_VENCTO)
Data de Validade atéFinal do range das datas de validade (FO0_VENCTO)
Cliente deInício do range de cliente utilizado para geração dos títulos negociados (FO0_CLIENTE)
Cliente atéFinal do range de cliente utilizado para geração dos títulos negociados (FO0_CLIENTE)
Loja deInício do range de loja de clientes utilizado para geração dos títulos negociados (FO0_LOJA)
Loja atéFinal do range de loja de clientes utilizado para geração dos títulos negociados (FO0_LOJA)
Considera negociações

Define se irá trazer apenas as simulações pendentes de liquidação, as já liquidadas ou ambas.

1 = Pendentes de Liquidação (FO0_STATUS = 1 Ativo)

2 = Liquidadas (FO0_STATUS = 4 Gerado e FO0_NUMLIQ preenchidas)

3 = Ambos

Seleciona Filiais

1 = Sim, 2 = Não

Usar a função AdmSelecFil , para retornar as filiais.

 

Tabelas Utilizadas

  • FK1 - Baixas a Receber
  • SE1 - Contas a Receber
  • SED - Naturezas
  • SA1 - Clientes
  • 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

 

 

Protótipo 02

 

 

Protótipo de tela 03

 Protótipo de tela 04



Protótipo de Tela 05


Protótipo de Tela 06



Protótipo de Tela 07


 



...