Table of Contents |
---|
Operações de sistema
O serviço autônomo responsável por gerar lançamento é o GeracaoLancamentosContratosBatch que é executado uma vez ao dia, de acordo com o agendamento da classe GeracaoLancamentosContratosScheduler.
Seleção dos contratos
Este batch seleciona todos os contratos que cumpram os seguintes critérios:
...
#
...
Campo
...
Descrição
...
1
...
Tipo de registro
...
O campo "Tipo de registro" do contrato deve ser igual a "Locação".
...
2
...
Contrato ativo
...
O campo "Ativo" deve ser igual a "Verdadeiro".
...
3
...
Contrato para faturar
...
O campo "Faturar" deve ser igual a "Verdadeiro".
...
4
...
Data do próximo lançamento
...
O campo "Data do próximo lançamento" deve ser igual à data da execução do serviço.
Observação: Os contratos que tiverem o campo “Situação do lançamento” igual a “Pendente” e as condições acima listadas cumpridas (com exceção do campo “Data do próximo lançamento”) também serão inclusos no processamento.
Após selecionar os contratos será executado o método gerarLancamentosContratoLocacao da classe ContratoServico.
gerarLancamentosContratoLocacao
Ao iniciar esse método, o processamento passará por uma validação de contratos que será executada pelo método validarContratoFaturamento da classe ContratoServico.
validarContratoFaturamento
Essa validação realiza a verificação dos contratos e, para cada contrato que foi selecionado, funciona da seguinte forma:
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; ';
Se o campo “Empresa” (contrato.Empresa__c) for nulo o sistema incrementará a mensagem de erro: 'A empresa administradora do contrato não foi definida; ';
Se o campo “Tipo de vencimento” (contrato.Tipo_vencimento__c) for nulo o sistema incrementará a mensagem de erro: 'O tipo de vencimento do contrato não foi definido; ';
Se o campo “Periodicidade do reajuste” (contrato.Peridiocidade_reajuste__c) for nulo o sistema incrementará a mensagem de erro: 'A periodicidade de reajuste do valor do aluguel não foi definida; ';
Se o campo “Valor do aluguel original” (contrato.Valor_aluguel__c) for nulo o sistema incrementará a mensagem de erro: 'Valor do aluguel não foi definido; ';
Se o campo “Valor do aluguel corrigido” (contrato.Valor_aluguel_corrigido__c) for nulo o sistema incrementará a mensagem de erro: 'Valor do aluguel corrigido não foi definido; ';
Se o campo “Taxa de administração” (contrato.Taxa_administracao__c) for nulo o sistema incrementará a mensagem de erro: 'Taxa de administração do contrato não foi definida; ';
Se o campo “Taxa de intermediação para locação” (contrato.Taxa_intermediacao__c) for nulo o sistema incrementará a mensagem de erro: 'Taxa de intermediação do contrato não foi definida; ';
Se o campo “Data vencimento da próxima fatura” (contrato.Data_vencimento_proxima_fatura__c) for nulo o sistema incrementará a mensagem de erro: 'Data de vencimento da próxima fatura não foi preenchida; ';
Se o campo “Data do próximo lançamento” (contrato.Data_proximo_aluguel__c) for nulo o sistema incrementará a mensagem de erro: 'Data do próximo lançamento não foi preenchida; ';
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 não foi preenchido; ';
Se o campo “Locatário” (contrato.snap_brok__Locatario__c) for nulo o sistema incrementará a mensagem de erro: 'O locatário não foi preenchida; ';
Se o campo “Locador” (contrato.snap_brok__Locador__c) for nulo o sistema incrementará a mensagem de erro: 'O locador não foi preenchida; ';
Se o campo “Carteira” (contrato.Empresa__r.snap_finan__Carteira__c) for nulo o sistema incrementará a mensagem de erro: 'A carteira da empresa não foi preenchida; ';
Se o campo “Gerar lançamentos para IPTU” (contrato.Gerar_lancamento_iptu__c) 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 “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 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; ';
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” do participante (part.snap_brok__Participante__r.snap_finan__tipo_pessoa__c) for igual “Física”
Se o campo “CPF” estiver nulo (part.snap_brok__Participante__r.snap_finan__Cpf_2__pc) 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” estiver nulo (part.snap_brok__Participante__r.snap_finan__CPFF__c) 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) for diferente de “Física”
Se o campo “CNPJ” 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” estiver nulo (part.snap_brok__Participante__r.snap_finan__razao_social__c) 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” do participante (part.snap_brok__Participante__r.snap_finan__Logradouro_cobranca__c) for nulo o sistema incrementará a mensagem de erro: 'O logradouro do endereço de cobrança do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name)+ ' não foi preenchido; ';
Se o campo “Bairro para cobrança” do participante (part.snap_brok__Participante__r.snap_finan__Bairro_cobranca__c) 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” do participante (part.snap_brok__Participante__r.snap_finan__Cep_cobranca__c) 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” do participante (part.snap_brok__Participante__r.snap_finan__Cidade_para_cobranca_texto__c) 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” do participante (part.snap_brok__Participante__r.snap_finan__UF_para_cobranca__c) for nulo o sistema incrementará a mensagem de erro: 'O estado (UF) do endereço de cobrança do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchida; ';
Se o sistema incrementou uma ou mais mensagens de erro em alguma das validações acima, ele atualizará:
O valor do campo “Validado para faturamento” será colocado com “Falso”
O campo “Erros para faturamento” será preenchido com os erros incrementados durante a validação.
E, como consequência de algum erro encontrado, esse contrato em questão contrato não seguirá no processamento para a geração de lançamentos.
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
...
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"
...
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
...
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.
...
Table of Contents |
---|
Operações de sistema
O serviço autônomo responsável por gerar lançamento é o GeracaoLancamentosContratosBatch que é executado uma vez ao dia, de acordo com o agendamento da classe GeracaoLancamentosContratosScheduler.
Seleção dos contratos
Este batch seleciona todos os contratos que cumpram os seguintes critérios:
# | Campo | Descrição |
---|---|---|
1 | Tipo de registro | O campo "Tipo de registro" do contrato deve ser igual a "Locação". |
2 | Contrato ativo | O campo "Ativo" deve ser igual a "Verdadeiro". |
3 | Contrato para faturar | O campo "Faturar" deve ser igual a "Verdadeiro". |
4 | Data do próximo lançamento | O campo "Data do próximo lançamento" deve ser igual à data da execução do serviço. |
Observação: Os contratos que tiverem o campo “Situação do lançamento” igual a “Pendente” e as condições acima listadas cumpridas (com exceção do campo “Data do próximo lançamento”) também serão inclusos no processamento.
Após selecionar os contratos será executado o método gerarLancamentosContratoLocacao da classe ContratoServico.
gerarLancamentosContratoLocacao
Ao iniciar esse método, o processamento passará por uma validação de contratos que será executada pelo método validarContratoFaturamento da classe ContratoServico.
validarContratoFaturamento
Essa validação realiza a verificação dos contratos e, para cada contrato que foi selecionado, funciona da seguinte forma:
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; ';
Se o campo “Empresa” (contrato.Empresa__c) for nulo o sistema incrementará a mensagem de erro: 'A empresa administradora do contrato não foi definida; ';
Se o campo “Tipo de vencimento” (contrato.Tipo_vencimento__c) for nulo o sistema incrementará a mensagem de erro: 'O tipo de vencimento do contrato não foi definido; ';
Se o campo “Periodicidade do reajuste” (contrato.Peridiocidade_reajuste__c) for nulo o sistema incrementará a mensagem de erro: 'A periodicidade de reajuste do valor do aluguel não foi definida; ';
Se o campo “Valor do aluguel original” (contrato.Valor_aluguel__c) for nulo o sistema incrementará a mensagem de erro: 'Valor do aluguel não foi definido; ';
Se o campo “Valor do aluguel corrigido” (contrato.Valor_aluguel_corrigido__c) for nulo o sistema incrementará a mensagem de erro: 'Valor do aluguel corrigido não foi definido; ';
Se o campo “Taxa de administração” (contrato.Taxa_administracao__c) for nulo o sistema incrementará a mensagem de erro: 'Taxa de administração do contrato não foi definida; ';
Se o campo “Taxa de intermediação para locação” (contrato.Taxa_intermediacao__c) for nulo o sistema incrementará a mensagem de erro: 'Taxa de intermediação do contrato não foi definida; ';
Se o campo “Data vencimento da próxima fatura” (contrato.Data_vencimento_proxima_fatura__c) for nulo o sistema incrementará a mensagem de erro: 'Data de vencimento da próxima fatura não foi preenchida; ';
Se o campo “Data do próximo lançamento” (contrato.Data_proximo_aluguel__c) for nulo o sistema incrementará a mensagem de erro: 'Data do próximo lançamento não foi preenchida; ';
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 não foi preenchido; ';
Se o campo “Locatário” (contrato.snap_brok__Locatario__c) for nulo o sistema incrementará a mensagem de erro: 'O locatário não foi preenchida; ';
Se o campo “Locador” (contrato.snap_brok__Locador__c) for nulo o sistema incrementará a mensagem de erro: 'O locador não foi preenchida; ';
Se o campo “Carteira” (contrato.Empresa__r.snap_finan__Carteira__c) for nulo o sistema incrementará a mensagem de erro: 'A carteira da empresa não foi preenchida; ';
Se o campo “Gerar lançamentos para IPTU” (contrato.Gerar_lancamento_iptu__c) 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 “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 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; ';
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” do participante (part.snap_brok__Participante__r.snap_finan__tipo_pessoa__c) for igual “Física”
Se o campo “CPF” estiver nulo (part.snap_brok__Participante__r.snap_finan__Cpf_2__pc) 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” estiver nulo (part.snap_brok__Participante__r.snap_finan__CPFF__c) 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) for diferente de “Física”
Se o campo “CNPJ” 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” estiver nulo (part.snap_brok__Participante__r.snap_finan__razao_social__c) 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” do participante (part.snap_brok__Participante__r.snap_finan__Logradouro_cobranca__c) for nulo o sistema incrementará a mensagem de erro: 'O logradouro do endereço de cobrança do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name)+ ' não foi preenchido; ';
Se o campo “Bairro para cobrança” do participante (part.snap_brok__Participante__r.snap_finan__Bairro_cobranca__c) 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” do participante (part.snap_brok__Participante__r.snap_finan__Cep_cobranca__c) 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” do participante (part.snap_brok__Participante__r.snap_finan__Cidade_para_cobranca_texto__c) 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” do participante (part.snap_brok__Participante__r.snap_finan__UF_para_cobranca__c) for nulo o sistema incrementará a mensagem de erro: 'O estado (UF) do endereço de cobrança do locatário ' + “Nome da conta” (part.snap_brok__Participante__r.Name) + ' não foi preenchida; ';
Se o sistema incrementou uma ou mais mensagens de erro em alguma das validações acima, ele atualizará:
O valor do campo “Validado para faturamento” será colocado com “Falso”
O campo “Erros para faturamento” será preenchido com os erros incrementados durante a validação.
E, como consequência de algum erro encontrado, esse contrato em questão contrato não seguirá no processamento para a geração de lançamentos.