Esse artigo descreve o processo de cobrança gerado a partir das faturas vencidas.
Regras de negócio
O processo somente é iniciado se o campo da parametrização do SnapProperty “Ativar processo de cobrança” (snap_brok__Ativar_processo_cobranca__c”) estiver ativo ativo, caso contrário o processo não será realizado. Isso acontece pois é um processo sensível para a empresa.
Uma fatura é identificada como vencida quando a quantidade de dias estiver maior que 2.
Quando um contrato entrar em cobrança, o campo check box "Em cobrança" é marcado.
Situações possíveis de cobrança:
...
Fatura paga precisa ser retirada do processo de Cobrança
Quando uma fatura for paga e ela estiver em algum processo de cobrança ela deve ser retirada automaticamente do processo para não cobrar o usuário novamente após o pagamento. Dessa forma o sistema realiza o seguinte processo:
Quando a fatura alterar a situação para paga o process builder chama o método:
Percorre as faturas que possuí o campo de processo de cobrança igual a cobrança da fatura recebida.
...
Se existir apenas uma fatura nesse processo de cobrança:
O sistema passa para nulo campo de cobrança da fatura;
Encerra a cobrança colocando a situação da cobrança para “Encerrada;
...
Exite mais de uma fatura com o mesmo registro da cobrança:
2.1 Passar para nulo campo de cobrança da fatura
2.2. Atualizar campo de valor da cobrança deduzindo o Valor total da fatura
2.3 Remover nome da fatura no campo Faturas da cobrança
Quando uma Fatura ficar com o status de "Vencida" e tiver com o campo da cobrança nulo, no método “FaturaServico.atualizarFaturasVencidas”, E “snap_brok__Ativar_processo_cobranca__c”(parametrização) estiver selecionado, terá que verificar se existe um processo de cobrança ativo para o contrato da fatura:
6.1 Se o contrato da fatura existe uma cobrança ativa:
6.1.1 Preenche o campo da cobrança da fatura com a cobrança ativa
6.1.2 Atualiza o valor da cobrança somando o valor da fatura
6.1.3 Atualiza o campo de Faturas da cobrança com o nome da fatura
6.2 Se o contrato da fatura não existe uma cobrança ativa:
6.2.1 Se a fatura não passou para 9 dias em atraso (ver parâmetro: snap_brok__Dias_atraso_para_iniciar_cobranca__c) :
6.2.1.1 Não cria cobrança
6.2.2 Se a fatura passou para 9 dias em atraso (ver parâmetro: snap_brok__Dias_atraso_para_iniciar_cobranca__c) :
6.2.2.1 Iniciar processo de cobrança para aquela fatura.
Incluir campos do processo judicial na cobrança apenas como informação do processo.
Quando uma fatura for cancelada, e estiver em cobrança, retira da cobrança, se for a única fatura da cobrança, encerra a cobrança
Estevão, se lembra de uma das reuniões de cobrança com o Marcell ele também pediu as seguintes situações:
Enviar notificação de despejo que vai estar no processo de cobrança seleciona o modelo de email que tem para fazer manual ao invés do sistema.
para enviar apenas quando tiver um processo cadastrado.
[FEITO] situação ajuizada, dentro do processo de cobrança, ele tem que saber se o processo de cobrança. - será alterada a situação manualmente.
[FEITO] retirar a situação de negociação da cobrança
[FEITO] ter essas situações situações: encerrada, cancelada, ajuizada, nova.
ara isso pensamos da seguinte forma:
O
Encerrada, utilizada para informar que o processo de cobrança foi finalizado sendo pago as faturas.
cancelada, utilizada para informar que o processo de cobrança foi cancelado.
ajuizada, utilizada apenas como informação e será alterada para esta situação manualmente.
nova, utilizada para iniciar um processo de cobrança.
Foram incluídos campos para o processo judicial na cobrança apenas como informação do processo e nenhum outro controle será realizado.
Adicionar faturas ao processo de cobrança
O sistema verifica se campo da parametrização do SnapProperty “Ativar processo de cobrança” (snap_brok__Ativar_processo_cobranca__c”) está ativo, se sim, significa que a org irá gerar processo de cobrança.
Após, o sistema deve percorrer todas as faturas com situação (snap_brok_Situacaoc) igual a "Vencida" e com o campo "Processo de cobrança" (snap_brokCobranca_c) igual a null (método “FaturaServico.atualizarFaturasVencidas”).Estando
Existindo faturas nessas condições, o sistema vai percorrer as cobranças selecionadas e verificar se existe um processo de cobrança criado com a flag Ativo (snap_brok_
Ativoc) true para o mesmo contrato da fatura, ordenando pela data de início (snap_brokData_inicio_c).
a. Existindo uma cobrança ativa, mesmo contrato e data de início.
...
atualiza o campo "Processo de cobrança" (snap_brok_Cobranca_c) dentro fatura, informando o número do processo de cobrança (isso que faz o vinculo);
...
atualiza o valor da cobrança (snap_brok_Valor_cobranca_c) adicionando o valor da fatura adicionada ao valor existente nesse campo.
...
atualiza o campo "Faturas" (snap_brok_Faturas_c ) com o nome da fatura que está sendo inclusa.
...
Caso não exista um processo de cobrança nas condições acima:
...
Se a fatura não passou da quantidade de dias do parâmetro “Dias em atraso para iniciar cobrança” em parametrizações SnapProperty (snap_brok__Dias_atraso_para_iniciar_cobranca__c), que no caso é 9 dias.
O sistema não criará um processo de cobrança;
Mas se a fatura passou da quantidade de “dias em atraso para iniciar a cobrança” (snap_brok__Dias_atraso_para_iniciar_cobranca__c) , no caso 9 dias:
cria um processo de cobrança (utilizando o método IniciarCobrancaContratoLocacao da classe
...
CobrançaServiço),
...
incluindo as faturas,
...
atualizando os valores,
...
adicionando o nome da fatura no campo faturas
...
Cancelar cobrança
descrever o cancelamento
OBSERVAÇÃO: o cancelamento de múltiplas faturas não poderá ocorrer para quando estas faturas estão em um mesmo processo de cobrança.
...
Esse método deve realizar:
- Trocar
.
OBS: Para realizarmos os testes, decidimos retirar o alerta de email do fluxo que é enviado assim que o processo de cobrança é iniciado dessa forma o cliente possui mais tempo para verificar alguma anormalidade.
processo automno de cobrança deve iniciar a partir do dia nono dia (parâmetro)
...
Se para o contrato da fatura possuir uma cobrança ativa o sistema:
Preenche o campo “cobrança” da fatura com o número da cobrança criada;
Atualiza o “valor da cobrança” somando o valor da fatura;
Atualiza o campo “faturas da cobrança” com o nome da fatura;
Retirar faturas do processo de cobrança
Quando uma fatura for paga ou cancelada e ela estiver em algum processo de cobrança ela deve ser retirada automaticamente do processo para não cobrar o usuário novamente. Dessa forma o sistema realiza o seguinte processo:
Quando a fatura alterar a situação para paga o process builder chama o método:
Percorre as faturas que possuí o campo de processo de cobrança igual a cobrança da fatura recebida.
Se existir apenas uma fatura nesse processo de cobrança:
O sistema apaga o campo de cobrança da fatura para retirá-la do processo de cobrança;
Se a fatura for paga:
Encerra a cobrança colocando a situação da cobrança para “Encerrada;
Se a fatura for cancelada:
Encerra a cobrança colocando a situação da cobrança para “Cancela;
Se existir mais de uma fatura com no mesmo registro da cobrança:
O sistema apaga o campo de cobrança da fatura para retirá-la do processo de cobrança;
Atualiza campo “valor da cobrança” no processo de cobrança deduzindo o campo “Valor total da fatura”;
Remove o nome da fatura no campo “Faturas da cobrança”;
Cancelar cobrança
Existe um botão de cancelamento do processo de cobrança, esse botão realiza:
Troca a situação da cobrança (snap_brok_Situacao_c) para "Cancelada";
Desmarcar Desmarca o check box "Ativo" (snap_brok_Ativo_c) ;
Trocar Troca a situação (snap_brok_Situacao_c) das faturas que estão dentro do processo para "Vencida"
...
Trocar ;
Troca a situação do contrato de locação (snap_brok_Situacao_c) para "???".
Criar um botão "Cancelar" na tela de Cobrança (snap_brok_
Cobranca_c)
Realização dos testes
OBS: Para realizarmos os testes, é necessário retirar o alerta de e-mail do fluxo que é enviado assim que o processo de cobrança é iniciado, dessa forma, o cliente possui mais tempo para verificar alguma anormalidade.