Table of Contents |
---|
...
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:
Se o campo “Ativo” (contrato.Ativo__c) for nulo o sistema incrementará a mensagem de erro: 'O contrato ainda não foi ativado; ';
Se o campo “Faturar” (contrato.Faturar__c) for nulo o sistema incrementará a mensagem de erro: 'O contrato não está habilitado para faturamento; ';
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; ';
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; ';
validarContratoFaturamento
Essa validação realiza a verificação dos contratos e, para cada contrato que foi selecionado, funciona da seguinte forma:
Se o campo “Ativo” (contrato.AtivoSe o campo “Empresa” (contrato.Empresa__c) for nulo o sistema incrementará a mensagem de erro: 'O A empresa administradora do contrato ainda não foi ativadodefinida; ';
Se o campo “Faturar” “Tipo de vencimento” (contrato.FaturarTipo_vencimento__c) for nulo o sistema incrementará a mensagem de erro: 'O tipo de vencimento do contrato não está habilitado para faturamentofoi definido; ';
Se o campo “Data de início de Vigência” “Periodicidade do reajuste” (contrato.DataPeridiocidade_inicio_vigenciareajuste__c) for nulo o sistema incrementará a mensagem de erro: 'Data de início de vigência A periodicidade de reajuste do valor do aluguel não foi definida; ';
Se o campo “Data da posse do locatário” “Valor do aluguel original” (contrato.DataValor_posse_locatarioaluguel__c) for nulo o sistema incrementará a mensagem de erro: 'O contrato ainda Valor do aluguel não foi ativadodefinido; ';
Se o campo “Empresa” “Valor do aluguel corrigido” (contrato.EmpresaValor_aluguel_corrigido__c) for nulo o sistema incrementará a mensagem de erro: 'A empresa administradora do contrato Valor do aluguel corrigido não foi definidadefinido; ';
Se o campo “Tipo “Taxa de vencimento”administração” (contrato.TipoTaxa_vencimentoadministracao__c) for nulo o sistema incrementará a mensagem de erro: 'O tipo Taxa de vencimento administração do contrato não foi definidodefinida; ';
Se o campo “Periodicidade do reajuste” “Taxa de intermediação para locação” (contrato.PeridiocidadeTaxa_reajusteintermediacao__c) for nulo o sistema incrementará a mensagem de erro: 'A periodicidade Taxa de reajuste intermediação do valor do aluguel contrato não foi definida; ';
Se o campo “Valor do aluguel original” “Data vencimento da próxima fatura” (contrato.Valor_aluguelData_vencimento_proxima_fatura__c) for nulo o sistema incrementará a mensagem de erro: 'Valor do aluguel Data de vencimento da próxima fatura não foi definidopreenchida; ';
Se o campo “Valor “Data do aluguel corrigido”próximo lançamento” (contrato.ValorData_proximo_aluguel_corrigido__c) for nulo o sistema incrementará a mensagem de erro: 'Valor Data do aluguel corrigido próximo lançamento não foi definidopreenchida; ';
Se o campo “Taxa de administração” “Locatário” (contrato.Taxa_administracaosnap_brok__Locatario__c) for nulo o sistema incrementará a mensagem de erro: 'Taxa de administração do contrato O locatário não foi definidapreenchida; ';
Se o campo “Taxa de intermediação para locação” “Locador” (contrato.Taxa_intermediacaosnap_brok__Locador__c) for nulo o sistema incrementará a mensagem de erro: 'Taxa de intermediação do contrato O locador não foi definidapreenchida; ';
Se o campo “Data vencimento da próxima fatura” “Carteira” (contrato.Data_vencimento_proxima_faturaEmpresa__r.snap_finan__Carteira__c) for nulo o sistema incrementará a mensagem de erro: 'Data de vencimento da próxima fatura A carteira da empresa não foi preenchida; ';
Se o campo “Data do próximo lançamento” “Gerar lançamentos para IPTU” (contrato.DataGerar_proximolancamento_alugueliptu__c) for nulo o sistema incrementará a mensagem de erro: 'Data do próximo lançamento não foi preenchida; ';Se o campo “Valor do aluguel corrigido” (contrato.Valor_aluguel_corrigido__c) for nulo o sistema incrementará a mensagem de erro: 'O valor do aluguel corrigido estiver igual a “Ativo”:
O sistema validará também:
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; ';
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; ';
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:
“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; ';
“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; ';
Se o campo “” () for nulo o sistema incrementará a mensagem de erro:
Se o campo “” () for nulo o sistema incrementará a mensagem de erro:
Se o campo “” () for nulo o sistema incrementará a mensagem de erro:
...
“Gerar lançamentos para condomínio” (contrato.Gerar_lancamento_
...
condominio__c) estiver igual
...
a “Ativo”:
O sistema validará também:
...
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; ';
...
...
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; ';
...
...
...
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:
...
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; ';
...
Se o campo “Gerar lançamentos para condomínio” (contrato.Gerar_lancamentos_coleta_lixo__c) estiver igual a “Ativo”:
O sistema validará também:
se o campo “Responsável coleta de lixo” (contrato.Responsavel_coleta_lixo__c) for igual a nulo será incrementado o seguinte erro: 'O
...
Se Gerar_lancamento_condominio__c estiver igual ativo:
O sistema validará também:
...
responsável da coleta do lixo não foi preenchido; ';
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; ';
...
...
...
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:
...
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; ';
Se o campo “Gerar lançamentos para condomínio” (contrato.Gerar_lancamentos_
...
taxa_
...
marinha__c) estiver igual
...
a “Ativo”:
O sistema validará também:
...
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; ';
...
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; ';
...
...
...
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:
...
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; ';
...
Se contrato.Gerar_lancamentos_taxa_marinha__c estiver igual ativo:
O sistema validará também:
i. se (contrato.Responsavel_taxa_marinha__c) for igual a nulo será incrementado o seguinte erro: 'O responsável da taxa marinha não foi preenchido; ';
ii. se contrato.Pagante_taxa_marinha__c for igual a nulo será incrementado o seguinte erro: 'O pagante da taxa marinha não foi preenchido; ';
iii. se tiver algum imóvel do contrato cadastrado o sistema irá percorrer os imóveis do contrato e para cada imóvel do contrato validará as seguintes informações:
a. xxxxxxx (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 ' + imovel.Imovel__r.Name + ' não foi preenchida; ';
O sistema irá percorrer os participantes do contrato e validar as seguintes informações para cada participante encontrado:
i. Se o papel do participante (part.snap_brok__Papel__c) se for igual “Locatário”
...
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”
Se o campo “Tipo de Pessoa” (part.snap_brok__Participante__r.snap_finan__tipo_pessoa__c) da conta do participante for igual “Física”
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; ';
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; ';
Se o “Tipo de pessoa” (part.snap_brok__Participante__r.snap_finan__tipo_pessoa__c)
...
da conta do participante for diferente de “Física”
...
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;';
...
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; ';
...
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; ';
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; ';
...
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; ';
...
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; ';
...
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; ';
iv.
if (part.snap_brok__Participante__r.snap_finan__Cep_cobranca__c == null){
erros+= 'O cep do endereço de cobrança do locatário ' + part.snap_brok__Participante__r.Name + ' não foi preenchido; ';
}
if (part.snap_brok__Participante__r.snap_finan__Cidade_para_cobranca_texto__c == null){
erros+= 'A cidade do endereço de cobrança do locatário ' + 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.
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”.
O campo “Contraparte” (lancamentoContrato.Contraparte__c) do lançamento está sendo preenchido com o número do seu respectivo lançamento inverso. Isto é, se for um lançamento de crédito será preenchido com o número do lançamento de débito e vice versa.
O campo “ID externo” (snap_brok__Id_Externo__c) é preenchido com um sequencia alfa numérico, começando pelo módulo que gerou o lançamento, sendo que esse valor deverá ser único, sem repetição.
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 |
Contraparte | Número do lançamento de débito gerado do mesmo valor, tipo e data. | Número do lançamento de crédito gerado do mesmo valor, tipo e data. |
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 Reajuste do aluguel .
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 Seguro contra incêndio.
gerarLancamentosTaxaAdministracao
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 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”.
O campo “Contraparte” (lancamentoContrato.Contraparte__c) do lançamento está sendo preenchido com o número do seu respectivo lançamento inverso. Isto é, se for um lançamento de crédito será preenchido com o número do lançamento de débito e vice versa.
O campo “ID externo” (snap_brok__Id_Externo__c) é preenchido com um sequencia alfa numérico, começando pelo módulo que gerou o lançamento, sendo que esse valor deverá ser único, sem repetição.
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 |
Contraparte | Número do lançamento de débito gerado do mesmo valor, tipo e data. | Número do lançamento de crédito gerado do mesmo valor, tipo e data. |
gerarLancamentosIptuContrato
Este método recebe como parâmetro a “Contrato” (Contrato__c contrato), “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 campo “Gerar Lançamentos para IPTU” do contrato de locação (contrato.Gerar_lancamento_iptu__c) estiver como “Ativo” o sistema faz as seguintes verificações:
O sistema gera um lançamento de IPTU para cada imóvel do contrato.
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 e rateioIptu calculados anteriormente;
Se o campo “Responsável pelo IPTU” (contrato.Responsavel_iptu__c) for igual a “Locatário” e o “Pagante IPTU” (contrato.Pagante_iptu__c) for igual a “Locatário”
O sistema não criará nenhum lançamento.
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) vezes o “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”.
O campo “Contraparte” (lancamentoContrato.Contraparte__c) do lançamento está sendo preenchido com o número do seu respectivo lançamento inverso. Isto é, se for um lançamento de crédito será preenchido com o número do lançamento de débito e vice versa.
O campo “ID externo” (snap_brok__Id_Externo__c) é preenchido com um sequencia alfa numérico, começando pelo módulo que gerou o lançamento, sendo que esse valor deverá ser único, sem repetiçã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 | “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 |
Contraparte | Número do lançamento de débito gerado do mesmo valor, tipo e data. | Número do lançamento de crédito gerado do mesmo valor, tipo e data. |
Após a criação do lançamento de IPTU 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 IPTU" (contrato.Pagante_iptu__c) for igual a "Administradora", o sistema realiza as seguintes atividades para gerar um lançamento de taxa de serviço para IPTU.
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 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”;
O campo “Contraparte” (lancamentoContrato.Contraparte__c) do lançamento está sendo preenchido com o número do seu respectivo lançamento inverso. Isto é, se for um lançamento de crédito será preenchido com o número do lançamento de débito e vice versa.
O campo “ID externo” (snap_brok__Id_Externo__c) é preenchido com um sequencia alfa numérico, começando pelo módulo que gerou o lançamento, sendo que esse valor deverá ser único, sem repetiçã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 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 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 serviço de IPTU calculado | - Valor da taxa de serviço de IPTU calculado |
Contraparte | Número do lançamento de débito gerado do mesmo valor, tipo e data. | Número do lançamento de crédito gerado do mesmo valor, tipo e data. |
gerarLancamentosCondominioContrato
Este método recebe como parâmetro a “Contrato” (Contrato__c contrato), “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 campo “Gerar Lançamentos para Condomínio” do contrato de locação (contrato.Gerar_lancamento_condominio__c) estiver como “Ativo” o sistema faz as seguintes verificações:
O sistema gera um lançamento de condomínio para cada imóvel do contrato.
Os valores são calculados da seguinte forma:
O campo valorCondominio = “Valor do condomínio” do imóvel (imovel.Imovel__r.Valor_condominio__c).
O campo historico = “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;
Se o campo “Responsável Condomínio” (contrato.Responsavel_condominio_c)for igual a “Locatário” e o “Pagante Condomínio” (contrato.Pagante_condominio__c)for igual a “Locatário”
O sistema não criará nenhum lançamento.
Senão o sistema irá criar o lançamento de condomínio 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: “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;
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.Responsavel_condominio__c) ou “Pagante Condomínio” (contrato.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 = “Condomínio”;
O campo “Valor do lançamento” (lancamentoContrato.Valor_lancamento__c) do lançamento = valorCondominio. Esse valor poderá ser negativo para o “Responsável Condomínio” ou positivo para o “Pagante Condomínio”.
O campo “Contraparte” (lancamentoContrato.Contraparte__c) do lançamento está sendo preenchido com o número do seu respectivo lançamento inverso. Isto é, se for um lançamento de crédito será preenchido com o número do lançamento de débito e vice versa.
O campo “ID externo” (snap_brok__Id_Externo__c) é preenchido com um sequencia alfa numérico, começando pelo módulo que gerou o lançamento, sendo que esse valor deverá ser único, sem repetiçã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 | “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 |
Contraparte | Número do lançamento de débito gerado do mesmo valor, tipo e data. | Número do lançamento de crédito gerado do mesmo valor, tipo e data. |
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”;
O campo “Contraparte” (lancamentoContrato.Contraparte__c) do lançamento está sendo preenchido com o número do seu respectivo lançamento inverso. Isto é, se for um lançamento de crédito será preenchido com o número do lançamento de débito e vice versa.
O campo “ID externo” (snap_brok__Id_Externo__c) é preenchido com um sequencia alfa numérico, começando pelo módulo que gerou o lançamento, sendo que esse valor deverá ser único, sem repetiçã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 |
Contraparte | Número do lançamento de débito gerado do mesmo valor, tipo e data. | Número do lançamento de crédito gerado do mesmo valor, tipo e data. |
gerarLancamentosTaxaColetaLixoContrato
Este método recebe como parâmetro a “Contrato” (Contrato__c contrato), “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 campo “Gerar Lançamentos para Coleta de Lixo” do contrato de locação (contrato.Gerar_lancamentos_coleta_lixo__c) estiver como “Ativo” o sistema faz as seguintes verificações:
O sistema gera um lançamento de taxa de coleta de lixo para cada imóvel do contrato.
Os valores são calculados da seguinte forma:
O campo valorColetaLixo = “Valor mensal de coleta de lixo” do imóvel (imovel.Imovel__r.Valor_mensal_Coleta_lixo__c).
O campo historico = “'Taxa da coleta de lixo do imóvel {0} no valor de R$ {1}'“, sendo preenchido com os campos “Imóvel” (imovel.Imovel__r.Name), valorColetaLixo recebido anteriormente;
Se o campo “Responsável Coleta de Lixo” (contrato.Responsavel_coleta_lixo__c)for igual a “Locatário” e o “Pagante Coleta de Lixo” (contrato.Pagante_coleta_lixo__c)for igual a “Locatário”
O sistema não criará nenhum lançamento.
Senão o sistema irá criar o lançamento de taxa de coleta de lixo 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 da coleta de lixo do imóvel {0} no valor de R$ {1}'“, sendo preenchido com os campos “Imóvel” (imovel.Imovel__r.Name), valorColetaLixo 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 Coleta de Lixo” (contrato.Responsavel_coleta_lixo__c) ou “Pagante Coleta de 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 Lixo”;
O campo “Valor do lançamento” (lancamentoContrato.Valor_lancamento__c) do lançamento = valorColetaLixo. Esse valor poderá ser negativo para o “Responsável Coleta de Lixo” ou positivo para o “Pagante Coleta de Lixo”.
O campo “Contraparte” (lancamentoContrato.Contraparte__c) do lançamento está sendo preenchido com o número do seu respectivo lançamento inverso. Isto é, se for um lançamento de crédito será preenchido com o número do lançamento de débito e vice versa.
O campo “ID externo” (snap_brok__Id_Externo__c) é preenchido com um sequencia alfa numérico, começando pelo módulo que gerou o lançamento, sendo que esse valor deverá ser único, sem repetiçã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 da coleta de lixo do imóvel {0} no valor de R$ {1}'“, sendo preenchido com os campos “Imóvel” (imovel.Imovel__r.Name), valorColetaLixo recebido anteriormente; | “'Taxa da coleta de lixo do imóvel {0} no valor de R$ {1}'“, sendo preenchido com os campos “Imóvel” (imovel.Imovel__r.Name), valorColetaLixo recebido anteriormente; |
Imóvel | Imóvel principal do contrato | Imóvel principal do contrato |
Tipo de registro | Pagante coleta de lixo | Responsável coleta de lixo |
Situação | Aprovado | Aprovado |
Tipo de lançamento | Taxa de Lixo | Taxa de lixo |
Valor do lançamento | Valor da taxa de coleta de lixo calculado | - Valor da taxa de coleta de lixo calculado |
Contraparte | Número do lançamento de débito gerado do mesmo valor, tipo e data. | Número do lançamento de crédito gerado do mesmo valor, tipo e data. |
Após a criação do lançamento de coleta de lixo 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 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”;
O campo “Contraparte” (lancamentoContrato.Contraparte__c) do lançamento está sendo preenchido com o número do seu respectivo lançamento inverso. Isto é, se for um lançamento de crédito será preenchido com o número do lançamento de débito e vice versa.
O campo “ID externo” (snap_brok__Id_Externo__c) é preenchido com um sequencia alfa numérico, começando pelo módulo que gerou o lançamento, sendo que esse valor deverá ser único, sem repetiçã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 |
Contraparte | Número do lançamento de débito gerado do mesmo valor, tipo e data. | Número do lançamento de crédito gerado do mesmo valor, tipo e data. |
gerarLancamentosTaxaMarinhaContrato
Este método recebe como parâmetro a “Contrato” (Contrato__c contrato), “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 campo “Gerar Lançamentos para Taxa Marinha” do contrato de locação (contrato.Gerar_lancamentos_taxa_marinha__c) estiver como “Ativo” o sistema faz as seguintes verificações:
O sistema gera um lançamento de taxa de marinha para cada imóvel do contrato.
Os valores são calculados da seguinte forma:
O campo valorTaxaMarinha = “Valor mensal de Taxa Marinha” do imóvel (imovel.Imovel__r.Valor_mensal_Taxa_Marinha__c).
O campo historico = “'Taxa marinha do imóvel {0} no valor de R$ {1}'“, sendo preenchido com os campos “Imóvel” (imovel.Imovel__r.Name), valorTaxaMarinha calculado anteriormente;
...
Se o sistema incrementou uma mensagem de erro em alguma das validações,o sistema atualizará:
a. o valor do campo “validado para faturamento” colocará como falso
b. preencherá o campo erros do faturamento com os erros incrementados
Como consequência de algum erro encontrado o contrato não seguirá no processamento para a geração de lançamentos.
...
Objeto
...
Campos
...
Descrição em caso de erro
...
Contrato
...
if (contrato.Contrato_administracao__c == null)
erros += 'Não existe um contrato de administração vinculado; ';
...
i
...
se a
...
Imóveis do Contrato
Gerar lançamentos dos contratos (serviço autônomo)
O sistema executa automaticamente o serviço para geração de lançamentos todos os dias durante a madrugada de acordo com uma seleção de contratos.
Os contratos selecionados para a execução do serviço devem atender às seguintes regras:
...
#
...
Regra
...
Descrição
...
1
...
Tipo de registro igual a "Locação"
...
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.
...
5
...
Situação do lançamento
...
O campo "Situação do lançamento" deve ser igual a "Pendente".
Campos obrigatórios necessários para a geração dos lançamentos são:
...
Campo do contrato
...
Descrição
...
Valor do aluguel corrigido
...
Esse campo deve ser diferente de zero.
...
Taxa de administração
...
Esse campo não pode estar nulo
...
Data do próximo lançamento
...
Esse campo deve estar preenchido com a data do próximo lançamento para ser selecionado pelo serviço autônomo
...
Tipo de vencimento
...
Esse campo deve estar preenchido para que o serviço entenda como calcular
...
Taxa de intermediação
...
Esse campo deve estar preenchido para o serviço conseguir xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
...
Faturar
...
A flag do campo deve estar marcada para que o sistema gere os lançamentos
...
Data da posse do locatário
...
xxxxxxxxxx
...
Ativo
...
A flag do campo deve estar marcada para que o sistema gere os lançamentos
Na geração de lançamentos do contrato de locação do serviço autônomo, o sistema realiza as seguintes operações:
Cria um registro no objeto "Lançamento do contrato" dentro do contrato de locação.
Preenche o campo “Lançamento” com um número sequencial do lançamento.
Preenche o campo "Data do lançamento" com a data de vencimento do lançamento.
Preenche o campo "Valor do lançamento" de acordo com os critérios descritos na seção pré requisitos para lançamento.
Preenche o campo "Situação" com o valor “Aprovado”.
O campo “Imóvel” é preenchido com o Imóvel que originou o lançamento.
O “Tipo de registro” varia entre 3 tipos dependendo do destinatário do lançamento:
Administradora
Locador
Locatário
O campo “Contrato de locação” recebe o número do contrato que originou o lançamento.
O campo “Contrato de administração” recebe o número do contrato de onde esse lançamento é originário.
O campo “Ciclo da Locação” recebe o número do ciclo que esse lançamento foi gerado.
O campo “Tipo de lançamento” recebe o tipo de lançamento dependendo da sua finalidade.
O campo “Histórico” é um campo do tipo texto que descreve informações do lançamento.
O campo "Fatura" é preenchido no momento em que este lançamento é adicionado a uma fatura.
O campo “Manutenção” é preenchido com o serviço de manutenção que originou esse lançamento.
O campo “Reembolso” é preenchido no momento em que este lançamento é proveniente de um reembolso.
O campo “Locador” é preenchido quando o lançamento for exclusivo para um único locador.
...
Campos
...
Descrição
...
Obrigatoriedade
...
Lançamento
...
informa o número do lançamento gerado sequencialmente.
...
Obrigatório
...
Data do lançamento
...
informa a data de vencimento do lançamento.
...
Obrigatório
...
Valor do lançamento
...
informa o valor do lançamento positivo ou negativo
...
Obrigatório
...
Situação
...
informa a situação do lançamento
...
Obrigatório
...
Imóvel
...
informa o imóvel principal do contrato de locação que originou o lançamento.
...
Obrigatório dependendo do tipo de lançamento
...
Tipo de registro
...
informa o tipo de registro dependendo do destinatário do lançamento.
...
Obrigatório
...
Contrato de locação
...
informa o número do contrato de locação que originou o lançamento.
...
Obrigatório
...
Contrato de administração
...
informa o número do contrato de administração que originou o lançamento.
...
Obrigatório
...
Ciclo de locação
...
informa o número do ciclo que gerou o lançamento
...
Obrigatório
...
Tipo de lançamento
...
informa o tipo de lançamento dependendo da sua finalidade.
...
Obrigatório
...
Histórico
...
preenche com informações pertinentes ao lançamento
...
Obrigatório
...
Fatura
...
informa o número da fatura que foi vinculado esse lançamento
...
Opcional
...
Manutenção
...
Opcional
...
Reembolso
...
informa o número do reembolso que gerou esse lançamento
...
Opcional
...
Locador
...
Quando o lançamento for exclusivo para um único locador, identifica qual é este locador. Quando o lançamento for compartilhado entre os demais locadores, este campo não é preenchido.
...
Opcional
Lançamentos gerados para um contrato pelo serviço autônomo
...
Item
...
Tipo de lançamento
...
Obrigatoriedade
...
Periodicidade
...
1
...
Lançamento de aluguel
...
Obrigatório
...
Mensal
...
2
...
Lançamento de taxa de administração
...
Obrigatório
...
Mensal
...
3
...
Lançamento de IPTU
...
Anual
...
4
...
Lançamento de condomínio
...
Mensal
...
5
...
Lançamento de lixo
...
Opcional
...
Mensal
...
6
...
Lançamento de taxa marinha
...
Opcional
...
Mensal
...
7
...
Lançamento de taxa de comissão para décimo terceiro
...
Opcional
...
Anual
...
8
...
Lançamento de retenção de IR
...
Obrigatório para contratos elegíveis de geração
...
Mensal
...
9
...
Lançamento de seguro incêndio
...
Obrigatório quando for a data da renovação do seguro incêndio.
...
Conforme contrato
...
10
...
Lançamento taxa de novembro
...
Opcional
...
Anual
...
11
...
Lançamento de Taxa de intermediação
...
xxxxx
...
12
...
Lançamento de Taxa de serviço
Lançamento de aluguel
São criados dois lançamentos, para creditar locador e debitar locatário, de acordo com a tabela abaixo.
...
Crédito
...
Débito
...
Locatário
...
Crédito
...
Locador
...
Lançamento
...
Número do lançamento originado.
...
Tipo de lançamento
...
Aluguel
...
Data do lançamento
...
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"
...
Imóvel
...
Imóvel principal do contrato
...
Valor do lançamento
...
Valor do aluguel corrigido. No débito o valor é negativo, no crédito o valor é positivo.
...
Ciclo de locação
...
Número do ciclo que originou o lançamento
...
Contrato de administração
Se o campo “Responsável Taxa Marinha” (contrato.Responsavel_taxa_marinha__c)for igual a “Locatário” e o “Pagante Taxa Marinha” (contrato.Pagante_taxa_marinha__c)for igual a “Locatário”
O sistema não criará nenhum lançamento.
Senão o sistema irá criar o lançamento de taxa marinha 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 marinha do imóvel {0} no valor de R$ {1}'“, sendo preenchido com os campos “Imóvel” (imovel.Imovel__r.Name), valorTaxaMarinha 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 Taxa Marinha” (contrato.Responsavel_taxa_marinha__c) ou “Pagante Taxa Marinha” (contrato.Pagante_taxa_marinha__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 Marinha”;
O campo “Valor do lançamento” (lancamentoContrato.Valor_lancamento__c) do lançamento = valorTaxaMarinha. Esse valor poderá ser negativo para o “Responsável Taxa Marinha” ou positivo para o “Pagante Taxa Marinha”.
O campo “Contraparte” (lancamentoContrato.Contraparte__c) do lançamento está sendo preenchido com o número do seu respectivo lançamento inverso. Isto é, se for um lançamento de crédito será preenchido com o número do lançamento de débito e vice versa.
O campo “ID externo” (snap_brok__Id_Externo__c) é preenchido com um sequencia alfa numérico, começando pelo módulo que gerou o lançamento, sendo que esse valor deverá ser único, sem repetiçã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 marinha do imóvel {0} no valor de R$ {1}'“, sendo preenchido com os campos “Imóvel” (imovel.Imovel__r.Name), valorTaxaMarinha calculado anteriormente | “'Taxa marinha do imóvel {0} no valor de R$ {1}'“, sendo preenchido com os campos “Imóvel” (imovel.Imovel__r.Name), valorTaxaMarinha calculado anteriormente |
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 |
Contraparte | Número do lançamento de débito gerado do mesmo valor, tipo e data. | Número do lançamento de crédito gerado do mesmo valor, tipo e data. |
Após a criação do lançamento de taxa marinha 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 taxa marinha" (contrato.snap_brok__Pagante_taxa_marinha__c) for igual a "Administradora", o sistema realiza as seguintes atividades para gerar um lançamento de taxa de serviço de taxa marinha.
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 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.
O campo “Valor do lançamento” (lancamentoContrato.Valor_lancamento__c) do lançamento = valorTaxaMarinha. Esse valor do lançamento é composto pela variável valorTaxaMarinha (calculado anteriormente)* “Taxa de serviço para encargo” (contrato.Taxa_de_servico_para_encargo__c) dividido por 100, isto é, (valorTaxaMarinha * contrato.Taxa_de_servico_para_encargo__c/100). Esse valor poderá ser negativo para o “Responsável Taxa Marinha” ou positivo para o “Pagante Taxa Marinha”.
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 Taxa Marinha” (contrato.snap_brok__Responsavel_taxa_marinha__c) ou “Pagante Taxa Marinha” (contrato.snap_brok__Pagante_taxa_marinha__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”;
O campo “Contraparte” (lancamentoContrato.Contraparte__c) do lançamento está sendo preenchido com o número do seu respectivo lançamento inverso. Isto é, se for um lançamento de crédito será preenchido com o número do lançamento de débito e vice versa.
O campo “ID externo” (snap_brok__Id_Externo__c) é preenchido com um sequencia alfa numérico, começando pelo módulo que gerou o lançamento, sendo que esse valor deverá ser único, sem repetiçã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 | |
Situação | Aprovado |
Observação: Quando estiver no mês e ano do reajuste do aluguel que está no campo "data do próximo reajuste" no contrato de locação, o sistema realiza a correção do aluguel de acordo com o índice cadastrado para esse contrato, informando o novo valor do aluguel corrigido.
Lançamento de taxa de administração
São criados dois lançamentos, para creditar administradora e debitar locador, de acordo com a tabela abaixo.
Débito | Locador | ||
---|---|---|---|
Crédito | Administradora | ||
Lançamento | Número do lançamento originado. | ||
Tipo de lançamento | Taxa de administração | ||
Data do lançamento | Data de vencimento da próxima fatura | ||
Histórico | Aluguel referente ao período de {0} a {1}. Sendo {0} = "Início de apuração" e {1}= "Término de apuração"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 | Valor Imóvel principal do | lançamentoValor do aluguel corrigido. No débito o valor é negativo, no crédito o valor é positivo. |
Ciclo de locação | Número do ciclo que originou o lançamento | ||
Contrato de administração | 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 | ||
Situação | Aprovado |
Lançamento de IPTU
Condições:
a. O valor do IPTU do imóvel pode ser cobrado mensalmente do locador ou do locatário.
b. O lançamento de IPTU só é gerado quando o campo "Gerar lançamentos para IPTU" do contrato de locação estiver selecionado.
c. Quando o contrato de locação possuir mais de um imóvel, o sistema gera um lançamento de IPTU para cada imóvel do contrato.
d. 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.
e. 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".
f. 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".
...
Débito
...
Responsável pelo IPTU
...
Crédito
...
Pagante do IPTU
...
Lançamento
...
Número do lançamento originado.
...
Tipo de lançamento
...
IPTU
...
Data do lançamento
...
Data de vencimento da próxima fatura
...
Situação
...
Aprovado
...
Histórico
...
IPTU do imóvel {0} no valor de R$ {1} referente ao rateio de {2}%
...
Imóvel
...
Imóvel principal do contrato
...
Valor do lançamento
...
Valor do IPTU. No débito o valor é negativo, no crédito o valor é positivo.
...
Ciclo de locação
...
Número do ciclo que originou o lançamento
...
Contrato de administração
...
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
Lançamento de condomínio
São criados dois lançamentos, para creditar locador e debitar locatário, de acordo com a tabela abaixo.
...
Débito
...
Locatário
...
Crédito
...
Locador
...
Lançamento
...
Número do lançamento originado.
...
Tipo de lançamento
...
Condomínio
...
Data do lançamento
...
Data de vencimento da próxima fatura
...
Situação
...
Aprovado
...
Histórico
...
Condomínio do imóvel {0} no valor de R$ {1}.
...
Imóvel
...
Imóvel principal do contrato
...
Valor do lançamento
...
Valor do condomínio. No débito o valor é negativo, no crédito o valor é positivo.
...
Ciclo de locação
...
Número do ciclo que originou o lançamento
...
Contrato de administração
...
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
Lançamento de Taxa de intermediação
São criados dois lançamentos, para creditar administradora e debitar locador, de acordo com a tabela abaixo.
...
Débito
...
Locador
...
Crédito
...
Administradora
...
Lançamento
...
Número do lançamento originado.
...
Tipo de lançamento
...
Taxa de intermediação
...
Data do lançamento
...
Data de vencimento da próxima fatura
...
Situação
...
Aprovado
...
Histórico
...
Parcela {0} da taxa de intermediação de {1} sobre o valor do aluguel de {2}.
...
Imóvel
...
Imóvel principal do contrato
...
Valor do lançamento
...
Valor da da taxa de intermediação. Percentual aplicado diretamente sobre o valor do aluguel. No débito o valor é negativo, no crédito o valor é positivo.
...
Ciclo de locação
...
Número do ciclo que originou o lançamento
...
Contrato de administração
...
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
Lançamento de retenção de IR
Lançamento de seguro incêndio
São criados dois lançamentos, para creditar administradora e debitar locatário, de acordo com a tabela abaixo.
Condições:
a. O campo “Tipo de contrato do seguro” e “Número parcelas seguro incêndio” devem estar preenchidos.
b. O campo “Finalidade” do contrato de locação deve estar informado.
c. A tabela de seguro incêndio deve estar cadastrada na tela “Tabelas de Seguro” com o mesmo tipo de finalidade utilizado no contrato.
d. A tabela de seguro deve comportar todas as faixas para o pagamento dos prêmios.
...
Débito
...
Locatário
...
Crédito
...
Administradora
...
Lançamento
...
Número do lançamento originado.
...
Tipo de lançamento
...
Seguro incêndio
...
Data do lançamento
...
Data de vencimento da próxima fatura
...
Situação
...
Aprovado
...
Histórico
...
Parcela {0} da apólice de seguro contra incêndio.
...
Valor do lançamento
...
Valor do seguro incêndio de acordo com o valor do aluguel. No débito o valor é negativo, no crédito o valor é positivo.
...
Ciclo de locação
...
Número do ciclo que originou o lançamento
...
Contrato de administração
...
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
Lançamento de lixo
pelo que verifiquei esse lct não gera no serviço autônomo ou não gerou nenhuma lct até agora
Lançamento de taxa marinha
pelo que verifiquei esse lct não gera no serviço autônomo ou não gerou nenhuma lct até agora
Lançamento taxa de novembro
pelo que verifiquei esse lct não gera no serviço autônomo ou não gerou nenhuma lct até agora
validarcontratodefaturmamento
determinar inicio e términio de apuração
data de vencimento
Gerar lançamentos para um contrato
Para gerar os lançamento de um contrato, o sistema realiza os seguintes passos:
...
Validar contrato para geração de lançamento.
...
...
...
Gerar lançamentos da taxa de administração.
...
Gerar lançamentos de taxa de intermediação.
...
Gerar lançamentos do IPTU.
...
Gerar lançamentos do condomínio.
...
Gerar lançamentos da lixo.
...
Gerar lançamentos da taxa marinha.
...
Gerar lançamentos para retenção do IR.
...
Gerar lançamentos de seguro incêndio.
...
Gerar lançamentos de taxa de novembro.
...
Registrar evento "Lançamentos" no contrato.
...
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 |
Contraparte | Número do lançamento de débito gerado do mesmo valor, tipo e data. | Número do lançamento de crédito gerado do mesmo valor, tipo e data. |
gerarLancamentosTaxaComissao13Contrato
Este método recebe como parâmetro a “Contrato” (Contrato__c contrato), “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.
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”.
O campo “Contraparte” (lancamentoContrato.Contraparte__c) do lançamento está sendo preenchido com o número do seu respectivo lançamento inverso. Isto é, se for um lançamento de crédito será preenchido com o número do lançamento de débito e vice versa.
O campo “ID externo” (snap_brok__Id_Externo__c) é preenchido com um sequencia alfa numérico, começando pelo módulo que gerou o lançamento, sendo que esse valor deverá ser único, sem repetiçã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 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 |
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 |
Contraparte | Número do lançamento de débito gerado do mesmo valor, tipo e data. | Número do lançamento de crédito gerado do mesmo valor, tipo e data. |
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 Geração de lançamento de retenção do imposto de renda
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”. |
Info |
---|
Todos os lançamentos de débitos gerados estão sendo vinculados ao seu respectivo lançamento de crédito. Esse vínculo está sendo informado no campo “contraparte” e pode ser verificado no repasse dependendo da configuração do sistema/contrato. |