Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Operações de sistema

O serviço autônomo responsável por gerar lançamento é o GeracaoLancamentosContratosBatch
 que é executado uma vez ao dia, de acordo com o agendamento da classe GeracaoLancamentosContratosScheduler.

Seleção dos contratos

Este batch seleciona todos os contratos que cumpram os seguintes critérios:

...

#

...

Campo

...

Descrição

...

1

...

Tipo de registro

...

O campo "Tipo de registro" do contrato deve ser igual a "Locação".

...

2

...

Contrato ativo

...

O campo "Ativo" deve ser igual a "Verdadeiro".

...

3

...

Contrato para faturar

...

O campo "Faturar" deve ser igual a "Verdadeiro".

...

4

...

Data do próximo lançamento

...

O campo "Data do próximo lançamento" deve ser igual à data da execução do serviço.

Observação: Os contratos que tiverem o campo “Situação do lançamento” igual a “Pendente” e as condições acima listadas cumpridas (com exceção do campo “Data do próximo lançamento”) também serão inclusos no processamento.

Após selecionar os contratos será executado o método gerarLancamentosContratoLocacao da classe ContratoServico.

gerarLancamentosContratoLocacao

Ao iniciar esse método, o processamento passará por uma validação de contratos que será executada pelo método validarContratoFaturamento da classe ContratoServico.

validarContratoFaturamento

Essa validação realiza a verificação dos contratos e, para cada contrato que foi selecionado, funciona da seguinte forma:

  1. Se o campo “Ativo” (contrato.Ativo__c) for nulo o sistema incrementará a mensagem de erro: 'O contrato ainda não foi ativado; ';

  2. Se o campo “Faturar” (contrato.Faturar__c) for nulo o sistema incrementará a mensagem de erro: 'O contrato não está habilitado para faturamento; ';

  3. Se o campo “Data de início de Vigência” (contrato.Data_inicio_vigencia__c) for nulo o sistema incrementará a mensagem de erro: 'Data de início de vigência não foi definida; ';

  4. Se o campo “Data da posse do locatário” (contrato.Data_posse_locatario__c) for nulo o sistema incrementará a mensagem de erro: 'O contrato ainda não foi ativado; ';

  5. Se o campo “Empresa” (contrato.Empresa__c) for nulo o sistema incrementará a mensagem de erro: 'A empresa administradora do contrato não foi definida; ';

  6. Se o campo “Tipo de vencimento” (contrato.Tipo_vencimento__c) for nulo o sistema incrementará a mensagem de erro: 'O tipo de vencimento do contrato não foi definido; ';

  7. Se o campo “Periodicidade do reajuste” (contrato.Peridiocidade_reajuste__c) for nulo o sistema incrementará a mensagem de erro: 'A periodicidade de reajuste do valor do aluguel não foi definida; ';

  8. Se o campo “Valor do aluguel original” (contrato.Valor_aluguel__c) for nulo o sistema incrementará a mensagem de erro: 'Valor do aluguel não foi definido; ';

  9. Se o campo “Valor do aluguel corrigido” (contrato.Valor_aluguel_corrigido__c) for nulo o sistema incrementará a mensagem de erro: 'Valor do aluguel corrigido não foi definido; ';

  10. Se o campo “Taxa de administração” (contrato.Taxa_administracao__c) for nulo o sistema incrementará a mensagem de erro: 'Taxa de administração do contrato não foi definida; ';

  11. Se o campo “Taxa de intermediação para locação” (contrato.Taxa_intermediacao__c) for nulo o sistema incrementará a mensagem de erro: 'Taxa de intermediação do contrato não foi definida; ';

  12. Se o campo “Data vencimento da próxima fatura” (contrato.Data_vencimento_proxima_fatura__c) for nulo o sistema incrementará a mensagem de erro: 'Data de vencimento da próxima fatura não foi preenchida; ';

  13. Se o campo “Data do próximo lançamento” (contrato.Data_proximo_aluguel__c) for nulo o sistema incrementará a mensagem de erro: 'Data do próximo lançamento não foi preenchida; ';

  14. Se o campo “Locatário” (contrato.snap_brok__Locatario__c) for nulo o sistema incrementará a mensagem de erro: 'O locatário não foi preenchida; ';

  15. Se o campo “Locador” (contrato.snap_brok__Locador__c) for nulo o sistema incrementará a mensagem de erro: 'O locador não foi preenchida; ';

  16. Se o campo “Carteira” (contrato.Empresa__r.snap_finan__Carteira__c) for nulo o sistema incrementará a mensagem de erro: 'A carteira da empresa não foi preenchida; ';

  17. Se o campo “Gerar lançamentos para IPTU” (contrato.Gerar_lancamento_iptu__c) estiver igual a “Ativo”:

    1. O sistema validará também:

      1. se o campo “Responsável pelo IPTU” (contrato.Responsavel_iptu__c) for igual a nulo será incrementado o seguinte erro: 'O responsável do IPTU não foi preenchido; ';

      2. se o campo “Pagante IPTU” (contrato.Pagante_iptu__c) for igual a nulo será incrementado o seguinte erro: 'O pagante do IPTU não foi preenchido; ';  

      3. se o contrato tiver algum imóvel cadastrado o sistema irá percorrer os imóveis e, para cada imóvel do contrato, validará as seguintes informações:

        1. “Valor mensal do IPTU” (imovel.Imovel__r.Valor_iptu__c), caso esse campo seja nulo será incrementado o seguinte erro: 'O valor do IPTU do imóvel ' + “Imóvel” (imovel.Imovel__r.Name) + ' não foi preenchida; ';

        2. “Rateio IPTU” (imovel.Imovel__r.Rateio_iptu__c), caso esse campo seja nulo será incrementado o seguinte erro: 'O valor do rateio do IPTU do imóvel ' + “Imóvel” (imovel.Imovel__r.Name) + ' não foi preenchida; ';

  18. Se o campo “Gerar lançamentos para condomínio” (contrato.Gerar_lancamento_condominio__c) estiver igual a “Ativo”:

    1. O sistema validará também:

      1. se o campo “Responsável condomínio” (contrato.Responsavel_condominio__c) for igual a nulo será incrementado o seguinte erro: 'O responsável do condomínio não foi preenchido; ';  

      2. se o campo “Pagante condomínio” (contrato.Pagante_condominio__c) for igual a nulo será incrementado o seguinte erro: 'O pagante do condomínio não foi preenchido; ';   

      3. se o contrato tiver algum imóvel cadastrado o sistema irá percorrer os imóveis e, para cada imóvel do contrato, validará as seguintes informações:

        1. se o campo “Valor do condomínio” (imovel.Valor_condominio__c), caso esse campo seja nulo será incrementado o seguinte erro: 'O valor do condomínio do imóvel ' + “Imóvel” (imovel.Imovel__r.Name) + ' não foi preenchida; ';

  19. Se o campo “Gerar lançamentos para condomínio” (contrato.Gerar_lancamentos_coleta_lixo__c) estiver igual a “Ativo”:

    1. O sistema validará também:

      1. se o campo “Responsável coleta de lixo” (contrato.Responsavel_coleta_lixo__c) for igual a nulo será incrementado o seguinte erro: 'O responsável da coleta do lixo não foi preenchido; '; 

      2. se o campo “Pagante coleta de lixo” (contrato.Pagante_coleta_lixo__c) for igual a nulo será incrementado o seguinte erro: 'O pagante da coleta do lixo não foi preenchido; '; 

      3. se o contrato tiver algum imóvel cadastrado o sistema irá percorrer os imóveis e, para cada imóvel do contrato, validará as seguintes informações:

        1. se o campo “Valor mensal de coleta de lixo” (imovel.Imovel__r.Valor_mensal_Coleta_lixo__c), caso esse campo seja nulo será incrementado o seguinte erro: 'O valor da coleta do lixo do imóvel ' + “Imóvel”  (imovel.Imovel__r.Name) + ' não foi preenchida; ';

  20. Se o campo “Gerar lançamentos para condomínio” (contrato.Gerar_lancamentos_taxa_marinha__c) estiver igual a “Ativo”:

    1. O sistema validará também:

      1. se o campo “Responsável taxa marinha” (contrato.Responsavel_taxa_marinha__c) for igual a nulo será incrementado o seguinte erro: 'O responsável da taxa marinha não foi preenchido; ';

      2. se o campo “Pagante taxa marinha” (contrato.Pagante_taxa_marinha__c) for igual a nulo será incrementado o seguinte erro: 'O pagante da taxa marinha não foi preenchido; '; 

      3. se o contrato tiver algum imóvel cadastrado o sistema irá percorrer os imóveis e, para cada imóvel do contrato, validará as seguintes informações:

        1. se o campo “Valor mensal de taxa marinha” (imovel.Imovel__r.Valor_mensal_Taxa_Marinha__c), caso esse campo seja nulo será incrementado o seguinte erro: 'O valor da taxa marinha do imóvel ' + “Imóvel”  (imovel.Imovel__r.Name)  + ' não foi preenchida; ';

Após, o sistema irá percorrer os participantes do contrato e validar as seguintes informações para cada participante encontrado:

...

Se o campo “Papel” do participante (part.snap_brok__Papel__c) se for igual “Locatário”

  1. Se o campo “Tipo de Pessoa” (part.snap_brok__Participante__r.snap_finan__tipo_pessoa__c) da conta do participante for igual “Física”

    1. Se o campo “CPF” (part.snap_brok__Participante__r.snap_finan__Cpf_2__pc) da conta do participante estiver nulo o sistema incrementará a mensagem de erro: 'O CPF do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchido; ';

    2. Se o campo “CPF - ERP” (part.snap_brok__Participante__r.snap_finan__CPFF__c) da conta do participante estiver nulo o sistema incrementará a mensagem de erro: 'O CPF (ERP) do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchido; ';

  2. Se o “Tipo de pessoa” (part.snap_brok__Participante__r.snap_finan__tipo_pessoa__c) da conta do participante for diferente de “Física”

    1. Se o campo “CNPJ” da conta do participante estiver nulo (part.snap_brok__Participante__r.snap_finan__CNPJ__c) o sistema incrementará a mensagem de erro: 'O CNPJ do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchido;';

    2. Se a campo “Razão social” (part.snap_brok__Participante__r.snap_finan__razao_social__c) da conta do participante estiver nulo, o sistema incrementará a mensagem de erro: 'A razão social do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchida; ';

...

Table of Contents

Operações de sistema

O serviço autônomo responsável por gerar lançamento é o GeracaoLancamentosContratosBatch
 que é executado uma vez ao dia, de acordo com o agendamento da classe GeracaoLancamentosContratosScheduler.

Seleção dos contratos

Este batch seleciona todos os contratos que cumpram os seguintes critérios:

#

Campo

Descrição

1

Tipo de registro

O campo "Tipo de registro" do contrato deve ser igual a "Locação".

2

Contrato ativo

O campo "Ativo" deve ser igual a "Verdadeiro".

3

Contrato para faturar

O campo "Faturar" deve ser igual a "Verdadeiro".

4

Data do próximo lançamento

O campo "Data do próximo lançamento" deve ser igual à data da execução do serviço.

Observação: Os contratos que tiverem o campo “Situação do lançamento” igual a “Pendente” e as condições acima listadas cumpridas (com exceção do campo “Data do próximo lançamento”) também serão inclusos no processamento.

Após selecionar os contratos será executado o método gerarLancamentosContratoLocacao da classe ContratoServico.

gerarLancamentosContratoLocacao

Ao iniciar esse método, o processamento passará por uma validação de contratos que será executada pelo método validarContratoFaturamento da classe ContratoServico.

validarContratoFaturamento

Essa validação realiza a verificação dos contratos e, para cada contrato que foi selecionado, funciona da seguinte forma:

  1. Se o campo “Ativo” (contrato.Ativo__c) for nulo o sistema incrementará a mensagem de erro: 'O contrato ainda não foi ativado; ';

  2. Se o campo “Faturar” (contrato.Faturar__c) for nulo o sistema incrementará a mensagem de erro: 'O contrato não está habilitado para faturamento; ';

  3. Se o campo “Data de início de Vigência” (contrato.Data_inicio_vigencia__c) for nulo o sistema incrementará a mensagem de erro: 'Data de início de vigência não foi definida; ';

  4. Se o campo “Data da posse do locatário” (contrato.Data_posse_locatario__c) for nulo o sistema incrementará a mensagem de erro: 'O contrato ainda não foi ativado; ';

  5. Se o campo “Empresa” (contrato.Empresa__c) for nulo o sistema incrementará a mensagem de erro: 'A empresa administradora do contrato não foi definida; ';

  6. Se o campo “Tipo de vencimento” (contrato.Tipo_vencimento__c) for nulo o sistema incrementará a mensagem de erro: 'O tipo de vencimento do contrato não foi definido; ';

  7. Se o campo “Periodicidade do reajuste” (contrato.Peridiocidade_reajuste__c) for nulo o sistema incrementará a mensagem de erro: 'A periodicidade de reajuste do valor do aluguel não foi definida; ';

  8. Se o campo “Valor do aluguel original” (contrato.Valor_aluguel__c) for nulo o sistema incrementará a mensagem de erro: 'Valor do aluguel não foi definido; ';

  9. Se o campo “Valor do aluguel corrigido” (contrato.Valor_aluguel_corrigido__c) for nulo o sistema incrementará a mensagem de erro: 'Valor do aluguel corrigido não foi definido; ';

  10. Se o campo “Taxa de administração” (contrato.Taxa_administracao__c) for nulo o sistema incrementará a mensagem de erro: 'Taxa de administração do contrato não foi definida; ';

  11. Se o campo “Taxa de intermediação para locação” (contrato.Taxa_intermediacao__c) for nulo o sistema incrementará a mensagem de erro: 'Taxa de intermediação do contrato não foi definida; ';

  12. Se o campo “Data vencimento da próxima fatura” (contrato.Data_vencimento_proxima_fatura__c) for nulo o sistema incrementará a mensagem de erro: 'O logradouro do endereço de cobrança do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name)+ ' não foi preenchidoData de vencimento da próxima fatura não foi preenchida; ';

  13. Se o campo “Bairro para cobrança” (part.snap_brok__Participante__r.snap_finan__Bairro_cobranca__c) da conta do participante “Data do próximo lançamento” (contrato.Data_proximo_aluguel__c) for nulo o sistema incrementará a mensagem de erro: 'O bairro do endereço de cobrança do locatário ' + “Nome da conta” (partData do próximo lançamento não foi preenchida; ';

  14. Se o campo “Locatário” (contrato.snap_brok__ParticipanteLocatario__r.Name) + ' não foi preenchidoc) for nulo o sistema incrementará a mensagem de erro: 'O locatário não foi preenchida; ';

  15. Se o campo “CEP para cobrança” “Locador” (partcontrato.snap_brok__Participante__r.snap_finanLocador__Cep_cobranca__c) da conta do participante for nulo o sistema incrementará a mensagem de erro: 'O cep do endereço de cobrança do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchidolocador não foi preenchida; ';

  16. Se o campo “Cidade para cobrança” “Carteira” (partcontrato.snap_brokEmpresa__Participante__r.snap_finan__Cidade_paraCarteira_cobranca_texto__c) da conta do participante for nulo o sistema incrementará a mensagem de erro: 'A cidade do endereço de cobrança do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' carteira da empresa não foi preenchida; ';

  17. Se o campo “UF “Gerar lançamentos para cobrança”IPTU” (partcontrato.snapGerar_broklancamento_iptu_Participante__r.snap_finan__UF_para_cobranca__c) da conta do participante for nulo o sistema incrementará a mensagem de erro: 'O estado (UF) do endereço de cobrança do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchida; ';

Se o sistema incrementou uma ou mais mensagens de erro em alguma das validações acima, ele atualizará:

...

O valor do campo “Validado para faturamento” (contrato.snap_brok__Validado_faturamento__c) será colocado com “Falso”.

...

O campo “Erros para faturamento” (contrato.snap_brok__Erros_faturamento__c) será preenchido com os erros incrementados durante a validação.

...

Note

O sistema valida o campo “Quantidade de dias para lançamentos” (parametrizacao.snap_brok__Quantidades_dias_para_lancamentos__c) do registro “Padrão” do parametrizações do SnapProperty, se o campo estiver nulo o sistema dará o seguinte erro: 'O parâmetro com a quantidade de dias para lançamentos não foi definido', abortando a geração de lançamento.

Se o sistema encontrar algum erro na validação acima descrita, incluirá os contratos com erro em uma lista para notificação por e-mail. Os contratos que foram validados com sucesso seguirão para geração de lançamento.

Período de Apuração

Existem duas modalidades de período de apuração para a geração de lançamentos “Mês aberto” e “Mês fechado” para definir qual será o tipo de apuração da org será verificado o campo “Período de apuração do faturamento” (parametrizacao.snap_brok__Periodo_apuracao_faturamento__c) do objeto de parametrizações do SnapProperty.

Glossário

Término de apuração: Término de apuração será a data limite final que o sistema se utilizará para apurar os lançamentos, por exemplo, um aluguel tem sua data de término de apuração definindo até quando será pago aquele aluguel.

Início de apuração: Início de apuração será a data inicial que o sistema se utilizará para apurar os lançamentos, por exemplo, um aluguel tem sua data de início de apuração definindo desde quando será pago aquele aluguel.

Mês Aberto

...

Se o mês da “Data do próximo lançamento” (contrato.Data_proximo_aluguel__c) do contrato for igual a 2 e “Tipo de vencimento” (contrato.tipo_vencimento__c) do contrato for igual “Vencido” e “Dia do vencimento” (contrato.Dia_vencimento__c) for maior que 28:

  • Término de apuração = dia igual 28, mês igual a mês da data de término da apuração - 1 mês, ano igual ao ano da data de término da apuração.

  • Início de apuração = data do término de apuração - 1 mês.

  • O sistema define qual é o último dia do mês do início de apuração calculado na etapa anterior.

  • Início de apuração = ano do início de apuração, mês do início de apuração e último dia encontrado na etapa anterior.

Se o sistema entrou nessa condicional, quer dizer que o dia de vencimento do contrato não está aderente com o mês de fevereiro que o lançamento compete, pois o mês de fevereiro, com exceção de anos bissextos, não possui mais que 28 dias e, portanto, a data de apuração deverá respeitar o último dia do mês de fevereiro e não o dia de vencimento estipulado no contrato no campo “Dias de vencimento” (contrato.Dia_vencimento__c).

  • Senão se o mês da “Data do próximo lançamento” (contrato.Data_proximo_aluguel__c) do contrato for igual a 2 e “Tipo de vencimento” (contrato.tipo_vencimento__c) do contrato for igual “Antecipado” e “Dia do vencimento” (contrato.Dia_vencimento__c) for maior que 28:

    • Término de apuração = dia igual 28, mês igual a mês da data do término da apuração - 1 mês, ano igual ao ano da data de término da apuração.

    • Início de apuração = data do término de apuração - 1 mês.

    • O sistema define qual é o último dia do mês do início de apuração calculado na etapa anterior.

    • Início de apuração = ano do início de apuração, mês do início de apuração e último dia encontrado na etapa anterior.

Se o sistema entrou nessa condicional, quer dizer que o dia de vencimento do contrato não está aderente com o mês de fevereiro que o lançamento compete, pois o mês de fevereiro, com exceção de anos bissextos, não possui mais que 28 dias e, portanto, a data de apuração deverá respeitar o último dia do mês de fevereiro e não o dia de vencimento estipulado no contrato no campo “Dias de vencimento” (contrato.Dia_vencimento__c).

  • Se as duas condições acima não foram atendidas:

    • Término de apuração = dia do vencimento do contrato, mês da data de término de apuração definida na etapa anterior, ano da data de término de apuração definida na etapa anterior.

    • Início de apuração = término de apuração - 1 mês - 1 dia.

Se o sistema entrou neste processamento, significa que o mês do lançamento não é fevereiro e, portanto, seguirá o processamento dos dias normalmente. Este processamento consiste em adicionar quantidade de dias para lançamento na data do próximo lançamento, sendo assim, define o término da apuração como sendo a data de vencimento da próxima fatura e o início de apuração como sendo menos um mês desta data mais um dia, para que o lançamento não cobre o valor novamente do último dia que já foi apurado no mês anterior.

...

  • Se o contrato é antecipado haverá um acréscimo de mais um mês para o término da apuração pois isso significa que a apuração deste lançamento compete ao mês seguinte de quando ele está sendo cobrado (primeiro paga depois usufrui):

    • Término de apuração = “início de apuração” (que foi definido na etapa anterior) + 1 mês - 1 dia.

Mês Fechado

Ciclo financeiro

O sistema cria um ciclo financeiro para controles dos lançamentos agrupados:

Os campos “Ano” e “Mês” que constará no ciclo financeiro será o ano e mês do “Término de apuração”.

gerarLancamentosAluguel

Este método recebe como parâmetro a “Data de início de apuração” e “Data de término de apuração” que foram calculadas na etapa anterior de período de apuração.

  • Se o “Tipo de vencimento” (contrato.tipo_vencimento__c) for igual a Antecipado e “Período de apuração” (parametrizacao.snap_brok__Periodo_apuracao_faturamento__c) do objeto de parametrizações do SnapProperty for igual a “Mês fechado

    • A “Data do lançamento” = data de término da apuração - 1 mês

  • Se o período de apuração igual Mês fechado

    • Terminar de documentar mês fechado.

  • Se o período de apuração igual Mês aberto

    • Se o mês da “Data do próximo reajuste” (contrato.Data_proximo_reajuste__c) for igual ao mês da “data de vencimento da próxima fatura” (contrato.Data_vencimento_proxima_fatura__c) e o ano da “Data do próximo reajuste” (contrato.Data_proximo_reajuste__c) do contrato for igual ao ano da “data de vencimento da próxima fatura” (contrato.Data_vencimento_proxima_fatura__c):

    • Se não houve erro para calcular o reajuste do aluguel o sistema irá criar o lançamento de aluguel da seguinte forma:

      • O campo “Contrato de administração” (lancamentoContrato.Contrato__c) do lançamento = “Contrato de administração” (contrato.Contrato_administracao__c) que está sendo gerado o lançamento;

      • O campo “Contrato de locação” (lancamentoContrato.Contrato_locacao__c) do lançamento = “Contrato de locação” (contrato.contrato.Id) que está sendo gerado o lançamento;

      • O campo “Ciclo de locação” (lancamentoContrato.Ciclo_locacao__r) do lançamento = ao ciclo financeiro criado na etapa anterior;

      • O campo “Data do lançamento” (lancamentoContrato.Data_lancamento__c) do lançamento = a datalancamento é igual a “data de lançamento” recebida como parâmetro do método;

      • O campo “Histórico” (lancamentoContrato.Historico__c) do lançamento = Histórico. Esse histórico é composto da seguinte forma: “Aluguel referente ao período de "Início de apuração" a "Término de apuração".”

      • O campo “Imóvel” (lancamentoContrato.Imovel__c) do lançamento = “Imóvel” (contrato.Imovel__c) que está sendo gerado o lançamento;

      • O campo “Tipo de registro” do lançamento = “Locatário” ou o campo “Tipo de registro” do lançamento = “Locador”;

      • O campo “Situação” (Lancamentocontrato.Situacao__c) do lançamento = “Aprovado”;

      • O campo “Tipo de lançamento” (lancamentoContrato.Tipo_lancamento_contrato__c) do lançamento = “Aluguel”;

      • O campo “Valor do lançamento” (lancamentoContrato.Valor_lancamento__c) do lançamento = valorLancamento. Se o processamento entrou na condicional de reajuste de aluguel, o valor será o valor reajustado processado pelo método de reajuste, caso contrário, será o valor corrigido do aluguel do contrato. Esse valor poderá ser negativo se for “Locatário” ou positivo se for “Locador”.

Irá criar o lançamento de aluguel da seguinte forma:

...

Crédito

...

Débito

...

Contrato de administração

...

Número do contrato de administração que originou o lançamento

...

Número do contrato de administração que originou o lançamento

...

Contrato de locação

...

Número do contrato de locação que originou o lançamento

...

Número do contrato de locação que originou o lançamento

...

Ciclo de locação

...

Número do ciclo que originou o lançamento

...

Número do ciclo que originou o lançamento

...

Data do lançamento

...

Data de vencimento da próxima fatura

...

Data de vencimento da próxima fatura

...

Histórico

...

Aluguel referente ao período de "Início de apuração" a "Término de apuração"

...

Aluguel referente ao período de "Início de apuração" a "Término de apuração"

...

Imóvel

...

Imóvel principal do contrato

...

Imóvel principal do contrato

...

Tipo de registro

...

Locador

...

Locatário

...

Situação

...

Aprovado

...

Aprovado

...

Tipo de lançamento

...

Aluguel

...

Aluguel

...

Valor do lançamento

...

Valor do aluguel corrigido

...

- Valor do aluguel corrigido

Se o sistema entrou nessa condicional, significa que está no mês e ano do reajuste do contrato e, portanto, será realizado o reajuste de acordo ao processamento do reajuste do aluguel. Para entender a lógica do reajuste consulte o artigo xxxxxxxxxxxxxxxxxxxxxxx.

O sistema também inicializará a renovação do seguro contra incêndio pois após o reajuste do contrato é necessário novos lançamentos de seguro para esse contrato. Para saber mais sobre o processamento do módulo de seguro, consulte o artigo xxxxxxxxxxxxxxxxxx.

gerarLancamentosTaxaAdministração ??

Este método recebe como parâmetro a “Data de início de apuração” e “Data de término de apuração” que foram calculadas na etapa anterior de período de apuração.

  • Se o “Tipo de vencimento” (contrato.tipo_vencimento__c) for igual a Antecipado e “Período de apuração” (parametrizacao.snap_brok__Periodo_apuracao_faturamento__c) do objeto de parametrizações do SnapProperty for igual a “Mês fechado

    • A “Data do lançamento” = data de término da apuração - 1 mês

  • Se o período de apuração igual Mês fechado

    • Terminar de documentar mês fechado.

  • Se o período de apuração igual Mês aberto

    • Se o mês da “Data do próximo reajuste” (contrato.Data_proximo_reajuste__c) for igual ao mês da “data de vencimento da próxima fatura” (contrato.Data_vencimento_proxima_fatura__c) e o ano da “Data do próximo reajuste” (contrato.Data_proximo_reajuste__c) do contrato for igual ao ano da “data de vencimento da próxima fatura” (contrato.Data_vencimento_proxima_fatura__c):

    • Se não houve erro para calcular a taxa de administração o sistema irá criar o lançamento de taxa de administração da seguinte forma:

      • O campo “Contrato de administração” (lancamentoContrato.Contrato__c) do lançamento = “Contrato de administração” (contrato.Contrato_administracao__c) que está sendo gerado o lançamento;

      • O campo “Contrato de locação” (lancamentoContrato.Contrato_locacao__c) do lançamento = “Contrato de locação” (contrato.contrato.Id) que está sendo gerado o lançamento;

      • O campo “Ciclo de locação” (lancamentoContrato.Ciclo_locacao__r) do lançamento = ao ciclo financeiro criado na etapa anterior;

      • O campo “Data do lançamento” (lancamentoContrato.Data_lancamento__c) do lançamento = a datalancamento é igual a “data de lançamento” recebida como parâmetro do método;

      • O campo “Histórico” (lancamentoContrato.Historico__c) do lançamento = Histórico. Esse histórico é composto da seguinte forma: “Taxa de administração de {0}% sobre o aluguel de R$ {1} referente ao período de {2} a {3}',” sendo os campos “Taxa de administração” (contrato.snap_brok__Taxa_administracao__c), “Valor do aluguel corrigido” (contrato.snap_brok__Valor_aluguel_corrigido__c), "Início de apuração" e "Término de apuração" respectivamente.

      • O campo “Imóvel” (lancamentoContrato.Imovel__c) do lançamento = “Imóvel” (contrato.Imovel__c) que está sendo gerado o lançamento;

      • O campo “Tipo de registro” do lançamento = “Administradora” ou o campo “Tipo de registro” do lançamento = “Locador”;

      • O campo “Situação” (Lancamentocontrato.Situacao__c) do lançamento = “Aprovado”;

      • O campo “Tipo de lançamento” (lancamentoContrato.Tipo_lancamento_contrato__c) do lançamento = “Taxa de administração”;

      • O campo “Valor do lançamento” (lancamentoContrato.Valor_lancamento__c) do lançamento = taxaAdministracao. Esse valor do lançamento é composto da seguinte forma: “Valor do aluguel corrigido” * “Taxa de administração”/100, isto é, (contrato.Valor_aluguel_corrigido__c * contrato.Taxa_administracao__c/100). Esse valor poderá ser negativo se for “Locador” ou positivo se for “Administradora”.

Irá criar o lançamento de taxa de administração da seguinte forma:

...

Crédito

...

Débito

...

Contrato de administração

...

Número do contrato de administração que originou o lançamento

...

Número do contrato de administração que originou o lançamento

...

Contrato de locação

...

Número do contrato de locação que originou o lançamento

...

Número do contrato de locação que originou o lançamento

...

Ciclo de locação

...

Número do ciclo que originou o lançamento

...

Número do ciclo que originou o lançamento

...

Data do lançamento

...

Data de vencimento da próxima fatura

...

Data de vencimento da próxima fatura

...

Histórico

...

“Taxa de administração de {0}% sobre o aluguel de R$ {1} referente ao período de {2} a {3}',” sendo os campos “Taxa de administração” (contrato.snap_brok__Taxa_administracao__c), “Valor do aluguel corrigido” (contrato.snap_brok__Valor_aluguel_corrigido__c), "Início de apuração" e "Término de apuração" respectivamente.

...

“Taxa de administração de {0}% sobre o aluguel de R$ {1} referente ao período de {2} a {3}',” sendo os campos “Taxa de administração” (contrato.snap_brok__Taxa_administracao__c), “Valor do aluguel corrigido” (contrato.snap_brok__Valor_aluguel_corrigido__c), "Início de apuração" e "Término de apuração" respectivamente.

...

Imóvel

...

Imóvel principal do contrato

...

Imóvel principal do contrato

...

Tipo de registro

...

Adminstradora

...

Locador

...

Situação

...

Aprovado

...

Aprovado

...

Tipo de lançamento

...

Taxa de administração

...

Taxa de administração

...

Valor do lançamento

...

Valor do aluguel corrigido

...

- Valor do aluguel corrigido

gerarLancamentosIptuContrato

Este método recebe como parâmetro a “Data de início de apuração” e “Data de término de apuração” que foram calculadas na etapa anterior de período de apuração além dos parâmetros “Lançamento do contrato” e “Ciclo da locação” List<Lancamento_contrato__c> lancamentos, Ciclo_locacao__c ciclo ??

                                                            Lancamento_contrato__c debito;
                                                            Lancamento_contrato__c credito;
                                                            String historico;
                                                            Decimal valorIptu;
                                                            Decimal rateioIptu;

                                                            Parametrizacao__c parametrizacao = ParametrizacaoServico.Parametrizacao;
                                                           
                                                            String regraApuracao = parametrizacao.snap_brok__Periodo_apuracao_faturamento__c;
                                                           
                                                            Date dataLancamento = inicioApuracao;

...

Se o “Tipo de vencimento” (contrato.tipo_vencimento__c) for igual a Antecipado e “Período de apuração” (parametrizacao.snap_brok__Periodo_apuracao_faturamento__c) do objeto de parametrizações do SnapProperty for igual a “Mês fechado

  • A “Data do lançamento” = data de término da apuração - 1 mês

Se o campo “Gerar Lançamentos para IPTU” do contrato de locação (contrato.Gerar_lancamento_iptu__c) estiver como Ativoo sistema faz as seguintes verificações:

...

Enquanto o contrato tiver mais de um imóvel, o sistema gera um lançamento de IPTU para cada imóvel do contrato. for (Imovel_contrato__c imovel: contrato.Imoveis_contrato__r)

  • Os valores são calculados da seguinte forma:

    • O campo rateioIptu = “Rateio para IPTU” do imóvel (imovel.Imovel__r.Rateio_iptu__c). Quando este campo não for informado, o sistema considera o valor do rateio como 100%.

    • O campo valorIptu = “Valor Mensal do IPTU” do imóvel (imovel.Imovel__r.Valor_iptu__c) * o campo “Rateio para IPTU” dividido por 100, isto é, (imovel.Imovel__r.Valor_iptu__c * rateioIptu / 100). Quando o campo “Valor mensal do IPTU” não for encontrado, o sistema considerá como zero.

    • O campo historico = “IPTU do imóvel {0} no valor de R$ {1} referente ao rateio de {2}%'“ sendo preenchido com os campos “Imóvel” (imovel.Imovel__r.Name), valorIptu calculado anteriormente e rateioIptu também calculado anteriormente ;

Se o campo “Responsável pelo IPTU” for igual a “Locatário” e o “Pagante IPTU” for igual a “Locatário” if (contrato.Responsavel_iptu__c.equalsIgnoreCase('Locatário') && contrato.Pagante_iptu__c.equalsIgnoreCase('Locatário')){

...

o locatário deve enviar o comprovante de pagamento do IPTU para a administradora.

...

  1. _c) estiver igual a “Ativo”:

    1. O sistema validará também:

      1. se o campo “Responsável pelo IPTU” (contrato.Responsavel_iptu__c) for igual a nulo será incrementado o seguinte erro: 'O responsável do IPTU não foi preenchido; ';

      2. se o campo “Pagante IPTU” (contrato.Pagante_iptu__c) for igual a nulo será incrementado o seguinte erro: 'O pagante do IPTU não foi preenchido; ';  

      3. se o contrato tiver algum imóvel cadastrado o sistema irá percorrer os imóveis e, para cada imóvel do contrato, validará as seguintes informações:

        1. “Valor mensal do IPTU” (imovel.Imovel__r.Valor_iptu__c), caso esse campo seja nulo será incrementado o seguinte erro: 'O valor do IPTU do imóvel ' + “Imóvel” (imovel.Imovel__r.Name) + ' não foi preenchida; ';

        2. “Rateio IPTU” (imovel.Imovel__r.Rateio_iptu__c), caso esse campo seja nulo será incrementado o seguinte erro: 'O valor do rateio do IPTU do imóvel ' + “Imóvel” (imovel.Imovel__r.Name) + ' não foi preenchida; ';

  2. Se o campo “Gerar lançamentos para condomínio” (contrato.Gerar_lancamento_condominio__c) estiver igual a “Ativo”:

    1. O sistema validará também:

      1. se o campo “Responsável condomínio” (contrato.Responsavel_condominio__c) for igual a nulo será incrementado o seguinte erro: 'O responsável do condomínio não foi preenchido; ';  

      2. se o campo “Pagante condomínio” (contrato.Pagante_condominio__c) for igual a nulo será incrementado o seguinte erro: 'O pagante do condomínio não foi preenchido; ';   

      3. se o contrato tiver algum imóvel cadastrado o sistema irá percorrer os imóveis e, para cada imóvel do contrato, validará as seguintes informações:

        1. se o campo “Valor do condomínio” (imovel.Valor_condominio__c), caso esse campo seja nulo será incrementado o seguinte erro: 'O valor do condomínio do imóvel ' + “Imóvel” (imovel.Imovel__r.Name) + ' não foi preenchida; ';

  3. Se o campo “Gerar lançamentos para condomínio” (contrato.Gerar_lancamentos_coleta_lixo__c) estiver igual a “Ativo”:

    1. O sistema validará também:

      1. se o campo “Responsável coleta de lixo” (contrato.Responsavel_coleta_lixo__c) for igual a nulo será incrementado o seguinte erro: 'O responsável da coleta do lixo não foi preenchido; '; 

      2. se o campo “Pagante coleta de lixo” (contrato.Pagante_coleta_lixo__c) for igual a nulo será incrementado o seguinte erro: 'O pagante da coleta do lixo não foi preenchido; '; 

      3. se o contrato tiver algum imóvel cadastrado o sistema irá percorrer os imóveis e, para cada imóvel do contrato, validará as seguintes informações:

        1. se o campo “Valor mensal de coleta de lixo” (imovel.Imovel__r.Valor_mensal_Coleta_lixo__c), caso esse campo seja nulo será incrementado o seguinte erro: 'O valor da coleta do lixo do imóvel ' + “Imóvel”  (imovel.Imovel__r.Name) + ' não foi preenchida; ';

  4. Se o campo “Gerar lançamentos para condomínio” (contrato.Gerar_lancamentos_taxa_marinha__c) estiver igual a “Ativo”:

    1. O sistema validará também:

      1. se o campo “Responsável taxa marinha” (contrato.Responsavel_taxa_marinha__c) for igual a nulo será incrementado o seguinte erro: 'O responsável da taxa marinha não foi preenchido; ';

      2. se o campo “Pagante taxa marinha” (contrato.Pagante_taxa_marinha__c) for igual a nulo será incrementado o seguinte erro: 'O pagante da taxa marinha não foi preenchido; '; 

      3. se o contrato tiver algum imóvel cadastrado o sistema irá percorrer os imóveis e, para cada imóvel do contrato, validará as seguintes informações:

        1. se o campo “Valor mensal de taxa marinha” (imovel.Imovel__r.Valor_mensal_Taxa_Marinha__c), caso esse campo seja nulo será incrementado o seguinte erro: 'O valor da taxa marinha do imóvel ' + “Imóvel”  (imovel.Imovel__r.Name)  + ' não foi preenchida; ';

Após, o sistema irá percorrer os participantes do contrato e validar as seguintes informações para cada participante encontrado:

  1. Se o campo “Papel” do participante (part.snap_brok__Papel__c) se for igual “Locatário”

    1. Se o campo “Tipo de Pessoa” (part.snap_brok__Participante__r.snap_finan__tipo_pessoa__c) da conta do participante for igual “Física”

      1. Se o campo “CPF” (part.snap_brok__Participante__r.snap_finan__Cpf_2__pc) da conta do participante estiver nulo o sistema incrementará a mensagem de erro: 'O CPF do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchido; ';

      2. Se o campo “CPF - ERP” (part.snap_brok__Participante__r.snap_finan__CPFF__c) da conta do participante estiver nulo o sistema incrementará a mensagem de erro: 'O CPF (ERP) do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchido; ';

    2. Se o “Tipo de pessoa” (part.snap_brok__Participante__r.snap_finan__tipo_pessoa__c) da conta do participante for diferente de “Física”

      1. Se o campo “CNPJ” da conta do participante estiver nulo (part.snap_brok__Participante__r.snap_finan__CNPJ__c) o sistema incrementará a mensagem de erro: 'O CNPJ do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchido;';

      2. Se a campo “Razão social” (part.snap_brok__Participante__r.snap_finan__razao_social__c) da conta do participante estiver nulo, o sistema incrementará a mensagem de erro: 'A razão social do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchida; ';

  2. Se o campo “Endereço para cobrança” (part.snap_brok__Participante__r.snap_finan__Logradouro_cobranca__c) da conta do participante for nulo o sistema incrementará a mensagem de erro: 'O logradouro do endereço de cobrança do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name)+ ' não foi preenchido; ';

  3. Se o campo “Bairro para cobrança” (part.snap_brok__Participante__r.snap_finan__Bairro_cobranca__c) da conta do participante for nulo o sistema incrementará a mensagem de erro: 'O bairro do endereço de cobrança do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchido; ';

  4. Se o campo “CEP para cobrança” (part.snap_brok__Participante__r.snap_finan__Cep_cobranca__c) da conta do participante for nulo o sistema incrementará a mensagem de erro: 'O cep do endereço de cobrança do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchido; ';

  5. Se o campo “Cidade para cobrança” (part.snap_brok__Participante__r.snap_finan__Cidade_para_cobranca_texto__c) da conta do participante for nulo o sistema incrementará a mensagem de erro: 'A cidade do endereço de cobrança do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchida; ';

  6. Se o campo “UF para cobrança” (part.snap_brok__Participante__r.snap_finan__UF_para_cobranca__c) da conta do participante for nulo o sistema incrementará a mensagem de erro: 'O estado (UF) do endereço de cobrança do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchida; ';

Se o sistema incrementou uma ou mais mensagens de erro em alguma das validações acima, ele atualizará:

  1. O valor do campo “Validado para faturamento” (contrato.snap_brok__Validado_faturamento__c) será colocado com “Falso”.

  2. O campo “Erros para faturamento” (contrato.snap_brok__Erros_faturamento__c) será preenchido com os erros incrementados durante a validação.

  3. o campo “Situação do lançamento” (contrato.snap_brok__Situacao_faturamento__c) será preenchido com“Erro”.

Note

O sistema valida o campo “Quantidade de dias para lançamentos” (parametrizacao.snap_brok__Quantidades_dias_para_lancamentos__c) do registro “Padrão” do parametrizações do SnapProperty, se o campo estiver nulo o sistema dará o seguinte erro: 'O parâmetro com a quantidade de dias para lançamentos não foi definido', abortando a geração de lançamento.

Se o sistema encontrar algum erro na validação acima descrita, incluirá os contratos com erro em uma lista para notificação por e-mail. Os contratos que foram validados com sucesso seguirão para geração de lançamento.

Período de Apuração

Existem duas modalidades de período de apuração para a geração de lançamentos “Mês aberto” e “Mês fechado” para definir qual será o tipo de apuração da org será verificado o campo “Período de apuração do faturamento” (parametrizacao.snap_brok__Periodo_apuracao_faturamento__c) do objeto de parametrizações do SnapProperty.

Glossário

Término de apuração: Término de apuração será a data limite final que o sistema se utilizará para apurar os lançamentos, por exemplo, um aluguel tem sua data de término de apuração definindo até quando será pago aquele aluguel.

Início de apuração: Início de apuração será a data inicial que o sistema se utilizará para apurar os lançamentos, por exemplo, um aluguel tem sua data de início de apuração definindo desde quando será pago aquele aluguel.

Mês Aberto

  • Término de apuração = data do “Data do próximo lançamento” (contrato.Data_proximo_aluguel__c) do contrato+ “Dias do lançamento” (parametrizacao.snap_brok__Quantidades_dias_para_lancamentos__c) do objeto parametrizações do SnapProperty.

  • Se o mês da “Data do próximo lançamento” (contrato.Data_proximo_aluguel__c) do contrato for igual a 2 e “Tipo de vencimento” (contrato.tipo_vencimento__c) do contrato for igual “Vencido” e “Dia do vencimento” (contrato.Dia_vencimento__c) for maior que 28:

    • Término de apuração = dia igual 28, mês igual a mês da data de término da apuração - 1 mês, ano igual ao ano da data de término da apuração.

    • Início de apuração = data do término de apuração - 1 mês.

    • O sistema define qual é o último dia do mês do início de apuração calculado na etapa anterior.

    • Início de apuração = ano do início de apuração, mês do início de apuração e último dia encontrado na etapa anterior.

Se o sistema entrou nessa condicional, quer dizer que o dia de vencimento do contrato não está aderente com o mês de fevereiro que o lançamento compete, pois o mês de fevereiro, com exceção de anos bissextos, não possui mais que 28 dias e, portanto, a data de apuração deverá respeitar o último dia do mês de fevereiro e não o dia de vencimento estipulado no contrato no campo “Dias de vencimento” (contrato.Dia_vencimento__c).

  • Senão se o mês da “Data do próximo lançamento” (contrato.Data_proximo_aluguel__c) do contrato for igual a 2 e “Tipo de vencimento” (contrato.tipo_vencimento__c) do contrato for igual “Antecipado” e “Dia do vencimento” (contrato.Dia_vencimento__c) for maior que 28:

    • Término de apuração = dia igual 28, mês igual a mês da data do término da apuração - 1 mês, ano igual ao ano da data de término da apuração.

    • Início de apuração = data do término de apuração - 1 mês.

    • O sistema define qual é o último dia do mês do início de apuração calculado na etapa anterior.

    • Início de apuração = ano do início de apuração, mês do início de apuração e último dia encontrado na etapa anterior.

Se o sistema entrou nessa condicional, quer dizer que o dia de vencimento do contrato não está aderente com o mês de fevereiro que o lançamento compete, pois o mês de fevereiro, com exceção de anos bissextos, não possui mais que 28 dias e, portanto, a data de apuração deverá respeitar o último dia do mês de fevereiro e não o dia de vencimento estipulado no contrato no campo “Dias de vencimento” (contrato.Dia_vencimento__c).

  • Se as duas condições acima não foram atendidas:

    • Término de apuração = dia do vencimento do contrato, mês da data de término de apuração definida na etapa anterior, ano da data de término de apuração definida na etapa anterior.

    • Início de apuração = término de apuração - 1 mês - 1 dia.

Se o sistema entrou neste processamento, significa que o mês do lançamento não é fevereiro e, portanto, seguirá o processamento dos dias normalmente. Este processamento consiste em adicionar quantidade de dias para lançamento na data do próximo lançamento, sendo assim, define o término da apuração como sendo a data de vencimento da próxima fatura e o início de apuração como sendo menos um mês desta data mais um dia, para que o lançamento não cobre o valor novamente do último dia que já foi apurado no mês anterior.

  • Se “Tipo de vencimento” (contrato.tipo_vencimento__c)igual Antecipado

    • Se o contrato é antecipado haverá um acréscimo de mais um mês para o término da apuração pois isso significa que a apuração deste lançamento compete ao mês seguinte de quando ele está sendo cobrado (primeiro paga depois usufrui):

      • Término de apuração = “início de apuração” (que foi definido na etapa anterior) + 1 mês - 1 dia.

Mês Fechado

Ciclo financeiro

O sistema cria um ciclo financeiro para controles dos lançamentos agrupados:

Os campos “Ano” e “Mês” que constará no ciclo financeiro será o ano e mês do “Término de apuração”.

gerarLancamentosAluguel

Este método recebe como parâmetro a “Data de início de apuração” e “Data de término de apuração” que foram calculadas na etapa anterior de período de apuração.

  • Se o “Tipo de vencimento” (contrato.tipo_vencimento__c) for igual a Antecipado e “Período de apuração” (parametrizacao.snap_brok__Periodo_apuracao_faturamento__c) do objeto de parametrizações do SnapProperty for igual a “Mês fechado

    • A “Data do lançamento” = data de término da apuração - 1 mês

  • Se o período de apuração igual Mês fechado

    • Terminar de documentar mês fechado.

  • Se o período de apuração igual Mês aberto

    • Se o mês da “Data do próximo reajuste” (contrato.Data_proximo_reajuste__c) for igual ao mês da “data de vencimento da próxima fatura” (contrato.Data_vencimento_proxima_fatura__c) e o ano da “Data do próximo reajuste” (contrato.Data_proximo_reajuste__c) do contrato for igual ao ano da “data de vencimento da próxima fatura” (contrato.Data_vencimento_proxima_fatura__c):

    • Se não houve erro para calcular o reajuste do aluguel o sistema irá criar o lançamento de aluguel da seguinte forma:

      • O campo “Contrato de administração” (lancamentoContrato.Contrato__c) do lançamento = “Contrato de administração” (contrato.Contrato_administracao__c) que está sendo gerado o lançamento;

      • O campo “Contrato de locação” (lancamentoContrato.Contrato_locacao__c) do lançamento = “Contrato de locação” (contrato.contrato.Id) que está sendo gerado o lançamento;

      • O campo “Ciclo de locação” (lancamentoContrato.Ciclo_locacao__r) do lançamento = ao ciclo financeiro criado na etapa anterior;

      • O campo “Data do lançamento” (lancamentoContrato.Data_lancamento__c) do lançamento = a datalancamento é igual a “data de lançamento” recebida como parâmetro do método;

      • O campo “Histórico” (lancamentoContrato.Historico__c) do lançamento = Histórico. Esse histórico é composto da seguinte forma: “Aluguel referente ao período de "Início de apuração" a "Término de apuração".”

      • O campo “Imóvel” (lancamentoContrato.Imovel__c) do lançamento = “Imóvel” (contrato.Imovel__c) que está sendo gerado o lançamento;

      • O campo “Tipo de registro” do lançamento = “Locatário” ou o campo “Tipo de registro” do lançamento = “Locador”;

      • O campo “Situação” (Lancamentocontrato.Situacao__c) do lançamento = “Aprovado”;

      • O campo “Tipo de lançamento” (lancamentoContrato.Tipo_lancamento_contrato__c) do lançamento = “Aluguel”;

      • O campo “Valor do lançamento” (lancamentoContrato.Valor_lancamento__c) do lançamento = valorLancamento. Se o processamento entrou na condicional de reajuste de aluguel, o valor será o valor reajustado processado pelo método de reajuste, caso contrário, será o valor corrigido do aluguel do contrato. Esse valor poderá ser negativo se for “Locatário” ou positivo se for “Locador”.

Irá criar o lançamento de aluguel da seguinte forma:

Crédito

Débito

Contrato de administração

Número do contrato de administração que originou o lançamento

Número do contrato de administração que originou o lançamento

Contrato de locação

Número do contrato de locação que originou o lançamento

Número do contrato de locação que originou o lançamento

Ciclo de locação

Número do ciclo que originou o lançamento

Número do ciclo que originou o lançamento

Data do lançamento

Data de vencimento da próxima fatura

Data de vencimento da próxima fatura

Histórico

Aluguel referente ao período de "Início de apuração" a "Término de apuração"

Aluguel referente ao período de "Início de apuração" a "Término de apuração"

Imóvel

Imóvel principal do contrato

Imóvel principal do contrato

Tipo de registro

Locador

Locatário

Situação

Aprovado

Aprovado

Tipo de lançamento

Aluguel

Aluguel

Valor do lançamento

Valor do aluguel corrigido

- Valor do aluguel corrigido

Se o sistema entrou nessa condicional, significa que está no mês e ano do reajuste do contrato e, portanto, será realizado o reajuste de acordo ao processamento do reajuste do aluguel. Para entender a lógica do reajuste consulte o artigo xxxxxxxxxxxxxxxxxxxxxxx.

O sistema também inicializará a renovação do seguro contra incêndio pois após o reajuste do contrato é necessário novos lançamentos de seguro para esse contrato. Para saber mais sobre o processamento do módulo de seguro, consulte o artigo xxxxxxxxxxxxxxxxxx.

gerarLancamentosTaxaAdministração ??

Este método recebe como parâmetro a “Data de início de apuração” e “Data de término de apuração” que foram calculadas na etapa anterior de período de apuração.

  • Se o “Tipo de vencimento” (contrato.tipo_vencimento__c) for igual a Antecipado e “Período de apuração” (parametrizacao.snap_brok__Periodo_apuracao_faturamento__c) do objeto de parametrizações do SnapProperty for igual a “Mês fechado

    • A “Data do lançamento” = data de término da apuração - 1 mês

  • Se o período de apuração igual Mês fechado

    • Terminar de documentar mês fechado.

  • Se o período de apuração igual Mês aberto

    • Se o mês da “Data do próximo reajuste” (contrato.Data_proximo_reajuste__c) for igual ao mês da “data de vencimento da próxima fatura” (contrato.Data_vencimento_proxima_fatura__c) e o ano da “Data do próximo reajuste” (contrato.Data_proximo_reajuste__c) do contrato for igual ao ano da “data de vencimento da próxima fatura” (contrato.Data_vencimento_proxima_fatura__c):

    • Se não houve erro para calcular a taxa de administração o sistema irá criar o lançamento de taxa de administração da seguinte forma:

      • O campo “Contrato de administração” (lancamentoContrato.Contrato__c) do lançamento = “Contrato de administração” (contrato.Contrato_administracao__c) que está sendo gerado o lançamento;

      • O campo “Contrato de locação” (lancamentoContrato.Contrato_locacao__c) do lançamento = “Contrato de locação” (contrato.contrato.Id) que está sendo gerado o lançamento;

      • O campo “Ciclo de locação” (lancamentoContrato.Ciclo_locacao__r) do lançamento = ao ciclo financeiro criado na etapa anterior;

      • O campo “Data do lançamento” (lancamentoContrato.Data_lancamento__c) do lançamento = a datalancamento é igual a “data de lançamento” recebida como parâmetro do método;

      • O campo “Histórico” (lancamentoContrato.Historico__c) do lançamento = Histórico. Esse histórico é composto da seguinte forma: “Taxa de administração de {0}% sobre o aluguel de R$ {1} referente ao período de {2} a {3}',” sendo os campos “Taxa de administração” (contrato.snap_brok__Taxa_administracao__c), “Valor do aluguel corrigido” (contrato.snap_brok__Valor_aluguel_corrigido__c), "Início de apuração" e "Término de apuração" respectivamente.

      • O campo “Imóvel” (lancamentoContrato.Imovel__c) do lançamento = “Imóvel” (contrato.Imovel__c) que está sendo gerado o lançamento;

      • O

        O campo “Tipo de registro” do lançamento =

        contrato.Responsavel_iptu__c

        “Administradora” ou o campo “Tipo de registro” do lançamento =

        “Administradora” ou o campo “Tipo de registro” do lançamento = “Locador”

        “Locador”;

      • O campo “Situação” (Lancamentocontrato.Situacao__c) do lançamento = “Aprovado”;

      • O campo “Tipo de lançamento” (lancamentoContrato.Tipo_lancamento_contrato__c) do lançamento = “Taxa de administração”;

      • O campo “Valor do lançamento” (lancamentoContrato.Valor_lancamento__c) do lançamento = taxaAdministracao. Esse valor do lançamento é composto da seguinte forma: “Valor do aluguel corrigido” * “Taxa de administração”/100, isto é, (contrato.Valor_aluguel_corrigido__c * contrato.Taxa_administracao__c/100). Esse valor poderá ser negativo se for “Locador” ou positivo se for “Administradora”.                                                           
                                                                                    RecordTypeId = Schema.SObjectType.Lancamento_contrato__c.getRecordTypeInfosByName().get(contrato.Responsavel_iptu__c).getRecordTypeId(),
                                                                                    Situacao__c = 'Aprovado',
                                                                                    Tipo_lancamento_contrato__c = TIPO_LANCAMENTO,
                                                                                    Valor_lancamento__c = -valorIptu);
                                                                                lancamentos.add(debito);
                                                                               
                                                                                credito = new Lancamento_contrato__c(
                                                                                    Contrato__c = contrato.Contrato_administracao__c,
                                                                                    Contrato_locacao__c = contrato.Id,
             

Irá criar o lançamento de taxa de administração da seguinte forma:

Crédito

Débito

Contrato de administração

Número do contrato de administração que originou o lançamento

Número do contrato de administração que originou o lançamento

Contrato de locação

Número do contrato de locação que originou o lançamento

Número do contrato de locação que originou o lançamento

Ciclo de locação

Número do ciclo que originou o lançamento

Número do ciclo que originou o lançamento

Data do lançamento

Data de vencimento da próxima fatura

Data de vencimento da próxima fatura

Histórico

“Taxa de administração de {0}% sobre o aluguel de R$ {1} referente ao período de {2} a {3}',” sendo os campos “Taxa de administração” (contrato.snap_brok__Taxa_administracao__c), “Valor do aluguel corrigido” (contrato.snap_brok__Valor_aluguel_corrigido__c), "Início de apuração" e "Término de apuração" respectivamente.

“Taxa de administração de {0}% sobre o aluguel de R$ {1} referente ao período de {2} a {3}',” sendo os campos “Taxa de administração” (contrato.snap_brok__Taxa_administracao__c), “Valor do aluguel corrigido” (contrato.snap_brok__Valor_aluguel_corrigido__c), "Início de apuração" e "Término de apuração" respectivamente.

Imóvel

Imóvel principal do contrato

Imóvel principal do contrato

Tipo de registro

Adminstradora

Locador

Situação

Aprovado

Aprovado

Tipo de lançamento

Taxa de administração

Taxa de administração

Valor do lançamento

Valor da taxa de administração calculada

- Valor da taxa de administração calculada

gerarLancamentosIptuContrato

Este método recebe como parâmetro a “Data de início de apuração” e “Data de término de apuração” que foram calculadas na etapa anterior de período de apuração além dos parâmetros “Lançamento do contrato” e “Ciclo da locação” List<Lancamento_contrato__c> lancamentos, Ciclo_locacao__c ciclo ??

                                                            

...

Parametrizacao__c parametrizacao = ParametrizacaoServico.Parametrizacao;
                                                           

...


                                                           

...

String regraApuracao = parametrizacao.snap_brok__Periodo_apuracao_faturamento__c

...

;
                                                           

...


                                                           

...

Date dataLancamento = inicioApuracao;

  • Se o “Tipo de vencimento” (contrato.tipo_vencimento__c) for igual a Antecipado e “Período de apuração” (parametrizacao.snap_brok__Periodo_apuracao_faturamento__c) do objeto de parametrizações do SnapProperty for igual a “Mês fechado

    • A “Data do lançamento” = data de término da apuração - 1 mês

  • Se o campo “Gerar Lançamentos para IPTU” do contrato de locação (contrato.Gerar_lancamento_iptu__c)

    .getRecordTypeId(),
                                                                                Situacao__c = 'Aprovado',
                                                                                Tipo_lancamento_contrato__c = TIPO_LANCAMENTO,
                                                                                Valor_lancamento__c = valorIptu);
                                                                            lancamentos.add(credito);
                                                                        }

    O lançamento de crédito do IPTU é feito de acordo com a definição do campo "Pagante do IPTU" do contrato de locação, que pode ser "Administradora", "Locador" ou "Locatário".
    O campo “Contrato de administração” (lancamentoContrato.Contrato__c) do lançamento = “Contrato de administração” (contrato.Contrato_administracao__c) que está sendo gerado o lançamento;

    • O campo “Contrato de locação” (lancamentoContrato.Contrato_locacao__c) do lançamento = “Contrato de locação” (contrato.contrato.Id) que está sendo gerado o lançamento;

    • O campo “Ciclo de locação” (lancamentoContrato.Ciclo_locacao__r) do lançamento = ao ciclo financeiro criado na etapa anterior;

    • O campo “Data do lançamento” (lancamentoContrato.Data_lancamento__c) do lançamento = a datalancamento é igual a “data de lançamento” recebida como parâmetro do método;

    • O campo “Histórico” (lancamentoContrato.Historico__c) do lançamento = Histórico. Esse histórico é composto da seguinte forma: “Taxa de administração de {0}% sobre o aluguel de R$ {1} referente ao período de {2} a {3}',” sendo os campos “Taxa de administração” (contrato.snap_brok__Taxa_administracao__c), “Valor do aluguel corrigido” (contrato.snap_brok__Valor_aluguel_corrigido__c), "Início de apuração" e "Término de apuração" respectivamente.

    • O campo “Imóvel” (lancamentoContrato.Imovel__c) do lançamento = “Imóvel” (contrato.Imovel__c) que está sendo gerado o lançamento;

    • O campo “Tipo de registro” do lançamento = “Administradora” ou o campo “Tipo de registro” do lançamento = “Locador”;

    • O campo “Situação” (Lancamentocontrato.Situacao__c) do lançamento = “Aprovado”;

    • O campo “Tipo de lançamento” (lancamentoContrato.Tipo_lancamento_contrato__c) do lançamento = “Taxa de administração”;

    • O campo “Valor do lançamento” (lancamentoContrato.Valor_lancamento__c) do lançamento = taxaAdministracao. Esse valor do lançamento é composto da seguinte forma: “Valor do aluguel corrigido” * “Taxa de administração”/100, isto é, (contrato.Valor_aluguel_corrigido__c * contrato.Taxa_administracao__c/100). Esse valor poderá ser negativo se for “Locador” ou positivo se for “Administradora”.

Irá criar o lançamento de taxa de administração da seguinte forma:

...

Crédito

...

Débito

...

Contrato de administração

...

Número do contrato de administração que originou o lançamento

...

Número do contrato de administração que originou o lançamento

...

Contrato de locação

...

Número do contrato de locação que originou o lançamento

...

Número do contrato de locação que originou o lançamento

...

Ciclo de locação

...

Número do ciclo que originou o lançamento

...

Número do ciclo que originou o lançamento

...

Data do lançamento

...

Data de vencimento da próxima fatura

...

Data de vencimento da próxima fatura

...

Histórico

...

“Taxa de administração de {0}% sobre o aluguel de R$ {1} referente ao período de {2} a {3}',” sendo os campos “Taxa de administração” (contrato.snap_brok__Taxa_administracao__c), “Valor do aluguel corrigido” (contrato.snap_brok__Valor_aluguel_corrigido__c), "Início de apuração" e "Término de apuração" respectivamente.

...

“Taxa de administração de {0}% sobre o aluguel de R$ {1} referente ao período de {2} a {3}',” sendo os campos “Taxa de administração” (contrato.snap_brok__Taxa_administracao__c), “Valor do aluguel corrigido” (contrato.snap_brok__Valor_aluguel_corrigido__c), "Início de apuração" e "Término de apuração" respectivamente.

...

Imóvel

...

Imóvel principal do contrato

...

Imóvel principal do contrato

...

Tipo de registro

...

Administradora

...

Locador

...

Situação

...

Aprovado

...

Aprovado

...

Tipo de lançamento

...

IPTU

...

IPTU

...

Valor do lançamento

...

Valor do aluguel corrigido

...

  • Valor do aluguel corrigido

Antes de gerar o lançamento de IPTU o sistema realiza algumas validações:

                                                           
O valor do IPTU do imóvel pode ser cobrado mensalmente do locador ou do locatário.

O lançamento de IPTU só é gerado quando o campo "Gerar lançamentos para IPTU" do contrato de locação estiver selecionado.

Quando o contrato de locação possui mais de um imóvel, o sistema gera um lançamento de IPTU para cada imóvel do contrato.

O valor do lançamento do IPTU, para cada imóvel, é calculado pela fórmula: "Valor do IPTU" * "Rateio do IPTU".

  • Quando o "Rateio do IPTU" não for informado, o sistema considera o valor do rateio como 100%.

  • Quando o "Valor do IPTU" não for informado, o sistema considera o valor como zero.

O lançamento de débito do IPTU é feito de acordo com a definição do campo "Responsável pelo IPTU" do contrato de locação, que pode "Locador" ou "Locatário".

O lançamento de crédito do IPTU é feito de acordo com a definição do campo "Pagante do IPTU" do contrato de locação, que pode ser "Administradora", "Locador" ou "Locatário".

...

  • estiver como Ativoo sistema faz as seguintes verificações:

    • Enquanto o contrato tiver mais de um imóvel, o sistema gera um lançamento de IPTU para cada imóvel do contrato. for (Imovel_contrato__c imovel: contrato.Imoveis_contrato__r)

      • Os valores são calculados da seguinte forma:

        • O campo rateioIptu = “Rateio para IPTU” do imóvel (imovel.Imovel__r.Rateio_iptu__c). Quando este campo não for informado, o sistema considera o valor do rateio como 100%.

        • O campo valorIptu = “Valor Mensal do IPTU” do imóvel (imovel.Imovel__r.Valor_iptu__c) * o campo “Rateio para IPTU” dividido por 100, isto é, (imovel.Imovel__r.Valor_iptu__c * rateioIptu / 100). Quando o campo “Valor mensal do IPTU” não for encontrado, o sistema considerá como zero.

        • O campo historico = “IPTU do imóvel {0} no valor de R$ {1} referente ao rateio de {2}%'“ sendo preenchido com os campos “Imóvel” (imovel.Imovel__r.Name), valorIptu calculado anteriormente e rateioIptu também calculado anteriormente;

    • Se o campo “Responsável pelo IPTU” for igual a “Locatário” e o “Pagante IPTU” for igual a “Locatário” if (contrato.Responsavel_iptu__c.equalsIgnoreCase('Locatário') && contrato.Pagante_iptu__c.equalsIgnoreCase('Locatário')){

      • o locatário deve enviar o comprovante de pagamento do IPTU para a administradora.

      • Senão o sistema irá criar o lançamento de IPTU da seguinte forma:

        • O campo “Contrato de administração” (lancamentoContrato.Contrato__c) do lançamento = “Contrato de administração” (contrato.Contrato_administracao__c) que está sendo gerado o lançamento;

        • O campo “Contrato de locação” (lancamentoContrato.Contrato_locacao__c) do lançamento = “Contrato de locação” (contrato.contrato.Id) que está sendo gerado o lançamento;

        • O campo “Ciclo de locação” (lancamentoContrato.Ciclo_locacao__r) do lançamento = ao ciclo financeiro criado na etapa anterior;

        • O campo “Data do lançamento” (lancamentoContrato.Data_lancamento__c) do lançamento = a datalancamento é igual a “data de lançamento” recebida como parâmetro do método;

        • O campo “Histórico” (lancamentoContrato.Historico__c) do lançamento = Histórico. Esse histórico é composto da seguinte forma: “IPTU do imóvel {0} no valor de R$ {1} referente ao rateio de {2}%'“ sendo preenchido com os campos “Imóvel” (imovel.Imovel__r.Name), valorIptu calculado anteriormente e rateioIptu também calculado anteriormente;

        • O campo “Imóvel” (lancamentoContrato.Imovel__c) do lançamento = “Imóvel” (contrato.Imovel__c) que está sendo gerado o lançamento;

        • O campo “Tipo de registro” do lançamento = “Responsável pelo IPTU” (contrato.Responsavel_iptu__c) ou “Pagante IPTU” (contrato.Pagante_iptu__c);

        • O campo “Situação” (Lancamentocontrato.Situacao__c) do lançamento = “Aprovado”;

        • O campo “Tipo de lançamento” (lancamentoContrato.Tipo_lancamento_contrato__c) do lançamento = “IPTU”;

        • O campo “Valor do lançamento” (lancamentoContrato.Valor_lancamento__c) do lançamento = valorIptu. Esse valor do lançamento é composto pela variável valorIptu anteriormente calculado da seguinte forma: “Valor Mensal do IPTU” do imóvel (imovel.Imovel__r.Valor_iptu__c) * o campo “rateioIptu” dividido por 100, isto é, (imovel.Imovel__r.Valor_iptu__c * rateioIptu / 100). Quando o campo “Valor mensal do IPTU” não for encontrado, o sistema considerá como zero. Esse valor poderá ser negativo para o “Responsável pelo IPTU” ou positivo para o “Pagante IPTU”.

Resumindo:

Crédito

Débito

Contrato de administração

Número do contrato de administração que originou o lançamento

Número do contrato de administração que originou o lançamento

Contrato de locação

Número do contrato de locação que originou o lançamento

Número do contrato de locação que originou o lançamento

Ciclo de locação

Número do ciclo que originou o lançamento

Número do ciclo que originou o lançamento

Data do lançamento

Data de vencimento da próxima fatura

Data de vencimento da próxima fatura

Histórico

“IPTU do imóvel {0} no valor de R$ {1} referente ao rateio de {2}%'

...

“ sendo preenchido com os campos “Imóvel” (imovel.Imovel__r.Name), valorIptu calculado anteriormente e rateioIptu também calculado anteriormente

“IPTU do imóvel {0} no valor de R$ {1} referente ao rateio de {2}%'“ sendo preenchido com os campos “Imóvel” (imovel.Imovel__r.Name), valorIptu calculado anteriormente e rateioIptu também calculado anteriormente

Imóvel

Imóvel principal do contrato

Imóvel principal do contrato

Tipo de registro

Pagante do IPTU

Responsável pelo IPTU

Situação

Aprovado

Aprovado

Tipo de lançamento

IPTU

IPTU

Valor do lançamento

Valor do IPTU calculado

- Valor do IPTU calculado

           
Após a criação do lançamento de IPTU o sistema poderá criar o lançamento da taxa de serviço do IPTU.

  • Se o campo "Taxa de serviço para encargo" do contrato (contrato.Taxa_de_servico_para_encargo__c

...

  • ) for diferente de nulo e o campo "Pagante do IPTU" for igual a "Administradora", o sistema realiza as seguintes atividades para gerar um lançamento de taxa de serviço para IPTU.   if (contrato.Pagante_IPTU__c == 'Administradora' && contrato.Taxa_de_servico_para_encargo__c != null){

    •                    DEscrever os itens abaixo                                          

...


    •                                                                        

...

    • System.debug('Taxa de serviço >>>');
                                                                             

...

    • System.debug('lancamentos.size() >>>' + lancamentos.size());
                                                                             

...


    •                                                                        

...

    • String responsavel = contrato.snap_brok__Responsavel_IPTU__c;
                                                                             

...

    • String pagante = contrato.snap_brok__Pagante_IPTU__c

...

    • ;

...

    •                                                                        

...


    •                                                                        

...

    • if(parametrizacao.snap_brok__Locador_paga_taxa_servico__c

...

    • ){
                                         

...

    •                                         responsavel = 'Locador';
                                         

...

    •                                    

...

    • }

    •  O campo “Histórico” (lancamentoContrato.Historico__c) do lançamento = Histórico. Esse histórico é composto da seguinte forma: “Taxa de serviço de {0}% para pagamento do IPTU do imóvel {1} referente ao rateio de {2}%'”, sendo preenchido com os campos “Taxa de serviço para encargo” (contrato.Taxa_de_servico_para_encargo__c), “Imóvel” (imovel.Imovel__r.Name), “rateioIptu” calculado anteriormente,respectivamente.

    • O campo “Valor do lançamento” (lancamentoContrato.Valor_lancamento__c) do lançamento = valorTaxa. Esse valor do lançamento é composto pela variável valorIptu (calculado anteriormente)* “Taxa de serviço para encargo” (contrato.Taxa_de_servico_para_encargo__c) dividido por 100, isto é, (valorIptu * contrato.Taxa_de_servico_para_encargo__c/100). Esse valor poderá ser negativo para o “Responsável pelo IPTU” ou positivo para o “Pagante IPTU”.

    • O campo “Contrato de administração” (lancamentoContrato.Contrato__c) do lançamento = “Contrato de administração” (contrato.Contrato_administracao__c) que está sendo gerado o lançamento;

    • O campo “Contrato de locação” (lancamentoContrato.Contrato_locacao__c) do lançamento = “Contrato de locação” (contrato.contrato.Id) que está sendo gerado o lançamento;

    • O campo “Ciclo de locação” (lancamentoContrato.Ciclo_locacao__r) do lançamento = ao ciclo financeiro criado na etapa anterior;

    • O campo “Data do lançamento” (lancamentoContrato.Data_lancamento__c) do lançamento = a datalancamento é igual a “data de lançamento” recebida como parâmetro do método;

    • O campo “Imóvel” (lancamentoContrato.Imovel__c) do lançamento = “Imóvel” (contrato.Imovel__c) que está sendo gerado o lançamento;

    • O campo “Tipo de registro” do lançamento = “Responsável pelo IPTU” (contrato.Responsavel_iptu__c) ou “Pagante IPTU” (contrato.Pagante_iptu__c);

    • O campo “Situação” (Lancamentocontrato.Situacao__c) do lançamento = “Aprovado”;

    • O campo “Tipo de lançamento” (lancamentoContrato.Tipo_lancamento_contrato__c) do lançamento = “Taxa de serviço IPTU”;
                         
        descrever abaixo isso:

                                                      RecordTypeId = Schema.SObjectType.Lancamento_contrato__c.getRecordTypeInfosByName().get(pagante).getRecordTypeId(),
             
                                                              Situacao__c = 'Aprovado',
          System.debug('lancamentos.size() >>>' + lancamentos.size());
                                                                  Tipo_lancamento_contrato__c = 'Taxa de serviço IPTU',
              }
                                                                Valor_lancamento} //Imovel_contrato__c = valorTaxa);imovel: contrato.Imoveis_contrato__r
                                                            } // contrato.Gerar_lancamento_iptu__c
                    lancamentos.add(credito);
                                    }
                                           
            catch (Exception ex){
                                                            System.debug('lancamentos.size() >>>' + lancamentos.sizethrow new ContratoException('Erro na geração dos lançamentos de iptu do contrato de locação: ' + ex.getMessage() + ' na linha ' + ex.getLineNumber());
                                                        }
                  }
                                                                  } //Imovel_contrato__c imovel: contrato.Imoveis_contrato__r
                                                            } // contrato.Gerar_lancamento_iptu__c
                                                        }
                                                        catch (Exception ex){
                                                            throw new ContratoException('Erro na geração dos lançamentos de iptu do contrato de locação: ' + ex.getMessage() + ' na linha ' + ex.getLineNumber());
                                                        }
                                                    }}

Resumindo:

Crédito

Débito

Contrato de administração

Número do contrato de administração que originou o lançamento

Número do contrato de administração que originou o lançamento

Contrato de locação

Número do contrato de locação que originou o lançamento

Número do contrato de locação que originou o lançamento

Ciclo de locação

Número do ciclo que originou o lançamento

Número do ciclo que originou o lançamento

Data do lançamento

Data de vencimento da próxima fatura

Data de vencimento da próxima fatura

Histórico

“Taxa de serviço de {0}% para pagamento do IPTU do imóvel {1} referente ao rateio de {2}%'”, sendo preenchido com os campos “Taxa de serviço para encargo” (contrato.Taxa_de_servico_para_encargo__c), “Imóvel” (imovel.Imovel__r.Name), “rateioIptu” calculado anteriormente,respectivamente.

“Taxa de serviço de {0}% para pagamento do IPTU do imóvel {1} referente ao rateio de {2}%'”, sendo preenchido com os campos “Taxa de serviço para encargo” (contrato.Taxa_de_servico_para_encargo__c), “Imóvel” (imovel.Imovel__r.Name), “rateioIptu” calculado anteriormente,respectivamente.

Imóvel

Imóvel principal do contrato

Imóvel principal do contrato

Tipo de registro

Pagante do IPTU

Responsável pelo IPTU

Situação

Aprovado

Aprovado

Tipo de lançamento

Taxa de serviço IPTU

Taxa de serviço IPTU

Valor do lançamento

Valor da taxa de IPTU calculada

- Valor da taxa de IPTU calculada