Implantação do ciclo financeiro da locação

Este artigo descreve as etapas e atividades necessárias para implantar o ciclo financeiro da locação.

Cadastros

Na tabela abaixo estão relacionados os cadastros que devem ser preenchidos no início da implantação.

#ObjetoDescrição
1País
2Estado
3Cidade
4Bairro
5Cep

Parametrização

Na tabela abaixo estão relacionadas as parametrizações necessárias para o ciclo financeiro.

#ParametrizaçãoDescrição
1Abertura do PeríodoRealizar a abertura do período Anual dentro do cadastro de empresas
2

3

Importação

Na tabela abaixo estão relacionadas os objetos que devem ser importados para o ciclo financeiro.

#ObjetoDescriçãoNotas
1ContaContas de locadores, locatários, fiadores e beneficiários do tipo pessoa física e jurídica.
2ContatoContatos das contas do tipo pessoa jurídica
3CondomínioCondomínios para associar Nota 2
4ImóvelImóveis referenciados pelos contratos de administração e locação
5Contrato de administração
Nota 1
6Imóvel do contrato de administração
Nota 1
7Participante do contrato de administração
Nota 1
8Beneficiário do contrato de administração
Nota 1
9Contrato de locação

10Participante do contrato de locação

11Beneficiário do contrato de locação

12Imóvel do contrato de locação

Notas

  1. O contrato de administração não é imprescindível para o ciclo financeiro.
  2. O condomínio não é imprescindível para o ciclo financeiro. As informações do condomínio são importantes para complementar a descrição do imóvel.


Inicialização do ciclo financeiro

Para inicializar as datas de lançamento, faturamento e vencimento dos contratos, siga os passos abaixo.

  1. Clique no ícone de configuração e selecione a opção "Developer console".
  2. Selecione a opção "Debug" e clique no item "Open Execute Anonymous Window".
  3. Copie o código abaixo e cole na janela "Enter Apex Code", 

    Código Apex
    Integer ano = 2019;
    Integer mes = 9;
    snap_brok.IniciarCicloFinanceiroBatch batch = new snap_brok.IniciarCicloFinanceiroBatch(ano, mes);
    Id idBatch = Database.executeBatch(batch, 100);
  4. Atualize a variável "ano" com o número do ano para o primeiro ciclo financeiro.

  5. Atualize a variável "mes" com o número do mês para o primeiro ciclo financeiro.

  6. Clique no botão "Execute".

  7. Aguarde no seu email uma mensagem informando a conclusão da operação.
  8. Consulte o relatório "" para confirmar que as datas de lançamento, faturamento e vencimento de todos os contratos foram atualizadas corretamente.

Verificação

Depois de concluída a inicialização do ciclo financeiro, verifique se as datas de lançamento, faturamento e vencimento de todos os contratos de locação ativos foram atualizadas com sucesso.


Validação

Depois de concluir a inicialização do ciclo financeiro, siga os passos abaixo para validar os dados dos contratos para o ciclo financeiro.

  1. Selecione o aplicativo "Financeiro" e clique na guia "Contratos".
  2. Clique no botão "Validar".
  3. O resultado da validação vai chegar no email do usuário que iniciou a operação.

    Nota sobre o email

    Se o campo "Enviar notificações por email" da parametrização "Ciclo financeiro" não estiver selecionado o sistema não envia a mensagem de email.

  4. Consulte o relatório "Contratos com erros de validação" para identificar os contratos que não foram validados.

Todos os contratos devem estar validados antes de prosseguir para a próxima etapa da implantação.

Verificação dos erros de validação

Erros de validação

Para consultar os contratos com erro de validação, utilize o relatório "Contratos com erro de validação" disponível na pasta "Contratos de locação (financeiro)".

Notas:

  1. O campo "Validado para faturamento" é alterado para "Falso" quando o sistema encontra algum erro de validação.
  2. O campo "Erros para faturamento" do contrato exibe a mensagem criada pelo sistema durante a validação do contrato.

Log

O serviço de validação cria os seguintes registros no log:

EventoTipoMensagemDescrição
Início da execução do serviçoValidação de contratos para faturamento

Serviço iniciado

Serviço iniciado em dd/mm/aaaa às h:mm:ss
Lote processadoValidação de contratos para faturamentoLote n concluído com sucessoContratos validados: 604, Contrato com erro: 3
Término da execução do serviçoValidação de contratos para faturamentoServiço concluídoStatus: Completed; Lotes processados: n; Lotes com erro de processamento: 0

Notas para o desenvolvedor

  1. O serviço é acionado pelo componente "validarContratosFaturamento".
  2. O serviço é implementado pela classe "ContratoValidarFaturamentoBatch".
  3. O tamanho do lote para processamento é de 1000 contratos.

Ativação dos serviços

Na tabela abaixo estão discriminados os serviços responsáveis pelo processamento do ciclo financeiro devem ser ativados.

#ServiçoCódigo para ativação
1

01. Lançamento

Database.executeBatch(new snap_brok.GeracaoLancamentosContratosBatch(), 100);

202. Faturamento

Database.executeBatch(new snap_brok.FaturaBatch(), 100);

303. Emissão de boletos

Database.executeBatch(new snap_brok.CobrancaEmitirBoletoBatch(), 100);

404. Consulta de boletos

Database.executeBatch(new snap_brok.CobrancaConsultarBoletoBatch(), 5);

505. Geração de faturas

Database.executeBatch(new snap_brok.FaturaGerarArquivoBatch(), 100);

606. Repasse

Database.executeBatch(new snap_brok.RepasseBatch(), 100);

7Contabilização de faturas

Database.executeBatch(new snap_brok.FaturaContabilizarBatch(), 100);

8Reajuste do aluguel

Database.executeBatch(new snap_brok.ReajusteAluguelBatch(), 100);

9Atualização de títulos

Database.executeBatch(new snap_brok.CobrancaAtualizarTituloBatch(), 100);

10Envio de SMS

Database.executeBatch(new snap_brok.EnviarSmsBatch(), 100);

11Atualização de cobranças

Database.executeBatch(new snap_brok.CobrancaAtualizarCobrancaBatch(), 100);

1212. Limpeza de logs

Database.executeBatch(new snap_brok.LogLimparBatch(), 100);

13Geração de pagamento

Database.executeBatch(new snap_finan.PagamentoGerarBatch(), 100);

14 Envio do Extrato do Locadorsnap_brok__.EnvioExtratoRepasseBatch  batch = new  snap_brok__.EnvioExtratoRepasseBatch();
Id batchJobId = Database.executeBatch(batch);
15

Envio do Extrato da Fatura - 

TituloRegistradoEnviarFaturaBatch   

snap_brok__.TituloRegistradoEnviarFaturaBatch batch = new snap_brok__.TituloRegistradoEnviarFaturaBatch();
Id batchJobId = Database.executeBatch(batch, 1);
16Enviar cobrança snap_brok__.CobrancaAtualizarFaturaBatch batch = new snap_brok__.CobrancaAtualizarFaturaBatch();
Id batchJobId = Database.executeBatch(batch);
17

Contabilizar Repasse - 

RepasseContabilizadoBatch

snap_brok__.RepasseContabilizadoBatch batch = new snap_brok__.RepasseContabilizadoBatch();
Id batchJobId = Database.executeBatch(batch, 1);
18ImovelAtualizarSchedulersnap_brok__.ImovelIndexarBatch batch = new snap_brok__.ImovelIndexarBatch();
snap_brok__Exportar_imovel__mdt configExportarImovel = snap_brok__.ImovelServico.configuracaoExportarImovel;
Id idBatch = Database.executeBatch(batch, Integer.valueOf(configExportarImovel.snap_brok__Lote__c));
19

Atualização da fatura e

Adicionar fatura ao processo de cobrança

CobrancaAtualizarFaturaScheduler
20

ConsultarRemessaAlteracaoBatch

snap_brok__.ConsultarRemessaAlteracaoBatch batch = new snap_brok__.ConsultarRemessaAlteracaoBatch();
Id batchJobId = Database.executeBatch(batch, 1);
21atualizar os saldos das contas contábeis

snap_brok.CalcularSaldoContabilBatch batch = new snap_brok.CalcularSaldoContabilBatch('ID do Exercício contábil do ano escolhido');
Id idBatch = Database.executeBatch(batch);