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
...
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. |
...
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”.
...
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.
gerarLancamentosTaxaAdministracao
...
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 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.
...
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 | “Condomínio do imóvel {0} no valor de R$ {1}'“, sendo preenchido com os campos “Imóvel” (imovel.Imovel__r.Name), valorCondominio calculado anteriormente; | “Condomínio do imóvel {0} no valor de R$ {1}'“, sendo preenchido com os campos “Imóvel” (imovel.Imovel__r.Name), valorCondominio calculado anteriormente; |
Imóvel | Imóvel principal do contrato | Imóvel principal do contrato |
Tipo de registro | Pagante Condomínio | Responsável Condomínio |
Situação | Aprovado | Aprovado |
Tipo de lançamento | Condomínio | Condomínio |
Valor do lançamento | Valor do condomínio calculado | - Valor do condomínio calculado |
Após a criação do lançamento de condomínio o sistema poderá criar o lançamento da taxa de serviço.
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 Condomínio" (contrato.snap_brok__Pagante_condominio__c) for igual a "Administradora", o sistema realiza as seguintes atividades para gerar um lançamento de taxa de serviço para condomínio.
Se em parametrizações o campo “Locador paga taxa de serviço” (parametrizacao.snap_brok__Locador_paga_taxa_servico__c) estiver selecionado o débito da taxa de serviço será para o 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 Condomínio do imóvel {1} referente ao valor de R${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), “valorCondominio” 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 valorCondominio (calculado anteriormente)* “Taxa de serviço para encargo” (contrato.Taxa_de_servico_para_encargo__c) dividido por 100, isto é, (valorCondominio * contrato.Taxa_de_servico_para_encargo__c/100). Esse valor poderá ser negativo para o “Responsável Condomínio” ou positivo para o “Pagante Condomínio”.
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 Condomínio” (contrato.snap_brok__Responsavel_condominio__c) ou “Pagante Condomínio” (contrato.snap_brok__Pagante_condominio__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”;
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 Condomínio do imóvel {1} referente ao valor de R${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), “valorCondominio” calculado anteriormente,respectivamente. | “'Taxa de serviço de {0}% para pagamento do Condomínio do imóvel {1} referente ao valor de R${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), “valorCondominio” calculado anteriormente,respectivamente. |
Imóvel | Imóvel principal do contrato | Imóvel principal do contrato |
Tipo de registro | Pagante Condomínio | Responsável Condomínio |
Situação | Aprovado | Aprovado |
Tipo de lançamento | Taxa de serviço | Taxa de serviço |
Valor do lançamento | Valor da taxa de serviço de Condomínio calculada | - Valor da taxa de serviço de Condomínio calculada |
...
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 Coleta Lixo" (contrato.Pagante_coleta_lixo__c) for igual a "Administradora", o sistema realiza as seguintes atividades para gerar um lançamento de taxa de serviço de coleta de lixo.
Se em parametrizações o campo “Locador paga taxa de serviço” (parametrizacao.snap_brok__Locador_paga_taxa_servico__c) estiver selecionado o débito da taxa de serviço será para o 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 da Coleta de lixo do imóvel {1} referente ao valor de R${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), “valorColetaLixo” 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 valorColetaLixo (calculado anteriormente)* “Taxa de serviço para encargo” (contrato.Taxa_de_servico_para_encargo__c) dividido por 100, isto é, (valorColetaLixo * contrato.Taxa_de_servico_para_encargo__c/100). Esse valor poderá ser negativo para o “Responsável Coleta Lixo” ou positivo para o “Pagante Coleta Lixo”.
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 Coleta Lixo” (contrato.Responsavel_coleta_lixo__c) ou “Pagante Coleta Lixo” (contrato.Pagante_coleta_lixo__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”;
serviço”;
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 da Coleta de lixo do imóvel {1} referente ao valor de R${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), “valorColetaLixo” calculado anteriormente,respectivamente. | “Taxa de serviço de {0}% para pagamento da Coleta de lixo do imóvel {1} referente ao valor de R${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), “valorColetaLixo” calculado anteriormente,respectivamente. |
Imóvel | Imóvel principal do contrato | Imóvel principal do contrato |
Tipo de registro | Pagante coleta lixo | Responsável coleta lixo |
Situação | Aprovado | Aprovado |
Tipo de lançamento | Taxa de serviço | Taxa de serviço |
Valor do lançamento | Valor da taxa de serviço de coleta lixo calculada | - Valor da taxa de serviço de coleta lixo calculada |
...
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 da Taxa marinha do imóvel {1} referente ao valor de R${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), “valorTaxaMarinha” calculado anteriormente,respectivamente. | “'Taxa de serviço de {0}% para pagamento da Taxa marinha do imóvel {1} referente ao valor de R${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), “valorTaxaMarinha” calculado anteriormente,respectivamente. |
Imóvel | Imóvel principal do contrato | Imóvel principal do contrato |
Tipo de registro | Pagante taxa marinha | Responsável taxa marinha |
Situação | Aprovado | Aprovado |
Tipo de lançamento | Taxa marinha | Taxa marinha |
Valor do lançamento | Valor da taxa marinha calculada | - Valor da taxa marinha calculada |
gerarLancamentosTaxaComissao13Contrato
...
Por princípio o sistema não irá gerar a taxa de serviço de comissão do décimo terceiro.
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 mês da data de lançamento é igual a 10
então gerarTaxa = verdadeiro;
Se o “Tipo de vencimento” (contrato.tipo_vencimento__c) for igual a “Vencido” 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”.
Se mês da data de lançamento é igual a 11
então gerarTaxa = verdadeiro;
Se gerarTaxa igual a verdadeiro:
Se “Valor do aluguel corrigido” (contrato.Valor_aluguel_corrigido__c) diferente de nulo e “Valor do aluguel corrigido” (contrato.Valor_aluguel_corrigido__c) maior que zero e “Taxa de comissão 13o“(contrato.Taxa_administracao_Novembro__c) diferente de nulo e“Taxa de comissão 13o“(contrato.Taxa_administracao_Novembro__c) maior que zero
Os valores são calculados da seguinte forma:
O campo valorTaxaComissao13 = “Valor do aluguel corrigido” do imóvel (contrato.Valor_aluguel_corrigido__c) * “Taxa de comissão 13o“(contrato.Taxa_administracao_Novembro__c)/100, isto é, (contrato.Valor_aluguel_corrigido__c * contrato.Taxa_administracao_Novembro__c/100). Esse valor poderá ser negativo para o “Locador” ou positivo para o “Administradora”.
O campo historico = “'Taxa de novembro de {0}% sobre o aluguel de R$ {1}'“, sendo preenchido com os campos “Taxa de comissão 13o” (contrato.Taxa_administracao_Novembro__c) e “Valor do aluguel corrigido”.
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 novembro de {0}% sobre o aluguel de R$ {1}'“, sendo preenchido com os campos “Taxa de comissão 13o” (contrato.Taxa_administracao_Novembro__c) e “Valor do aluguel corrigido”.
O campo “Tipo de registro” do lançamento = “Administradora” ou “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 novembro”;
O campo “Valor do lançamento” (lancamentoContrato.Valor_lancamento__c) do lançamento = valorTaxaComissao13. Esse valor poderá ser negativo para o “Locador” ou positivo para o “Administradora”.
...
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 novembro de {0}% sobre o aluguel de R$ {1}'“, sendo preenchido com os campos “Taxa de comissão 13o” (contrato.Taxa_administracao_Novembro__c) e “Valor do aluguel corrigido”; | “'Taxa de novembro de {0}% sobre o aluguel de R$ {1}'“, sendo preenchido com os campos “Taxa de comissão 13o” (contrato.Taxa_administracao_Novembro__c) e “Valor do aluguel corrigido”; | |
Imóvel | Imóvel principal do contrato | Imóvel principal do contrato | Imóvel principal do contrato |
Tipo de registro | Administradora | Locador | |
Situação | Aprovado | Aprovado | |
Tipo de lançamento | Taxa novembro | Taxa novembro | |
Valor do lançamento | Valor da taxa novembro calculada | - Valor da taxa novembro calculadaprincipal do contrato | |
Tipo de registro | Administradora | Locador | |
Situação | Aprovado | Aprovado | |
Tipo de lançamento | Taxa novembro | Taxa novembro | |
Valor do lançamento | Valor da taxa novembro calculada | - Valor da taxa novembro calculada |
Após todas as gerações desses lançamentos, o sistema verifica se o locatário principal do contrato é pessoa jurídica, e se algum participante com papel “Locador” é pessoa Física. Caso o contrato possua essa configuração o sistema irá gerar lançamentos de imposto de renda que pode ser verificado no seguinte artigo xxxxxxxxxxx
O sistema cria um evento no contrato com o tipo de evento sendo lançamento e a data do evento sendo a data atual para cada contrato que foi gerado lançamento.
Após a realização com sucesso da geração de lançamentos o sistema atualiza os seguintes campos:
atualiza o campo “Data do próximo lançamento” adicionando um mês
atualiza o campo “Data do último lançamento” com a data atual
atualiza o campo “Lançamento” para sucesso
Note |
---|
Caso ocorra algum erro na geração de lançamento o sistema enviará emails com os erros ocorridos para os emails que estiverem no campo “emails lançamento” do metadados configuração “Ciclo Financeiro”. |