Você está aqui:
InsPolicyBillingService:generateDirectBillingStatements
Use esse serviço para gerar extratos para contas contendo apólices com faturamento direto cuja data de vencimento seja igual à data de hoje mais dez (10) dias.
Não recomendamos invocar esse serviço diretamente. Ele foi criado para ser chamado pelo trabalho agendado Gerar declarações de faturamento direto do Vlocity.
Método: generateDirectBillingStatements
Como funciona
-
O serviço pega uma lista de apólices de um Trabalho agendado do Vlocity.
-
Agrupa apólices por conta e cria uma declaração para cada conta:
-
Define
RecordTypecomoBill. -
Define
AccountId__cpara o ID da conta. -
Define
DueDate__cpara aBillDueDate__cda primeira política no grupo. -
Define
StatementDate__cpara oBillDueDate__cmenos 10 dias. -
Define
StatementEndDate__cpara oBillDueDate__cmenos 10 dias. -
Define
StatementStartDate__cpara a data mais remota, especificada pelos valores deBillingFrequency__cnas apólices. -
Define
BalanceDue__ccomo a soma dos valores deAutomaticPaymentAmount__cnas apólices. -
Define
PreviousBalance__ccomo a soma dos valores dePastDue__cnas apólices
-
-
Para todas as apólices associadas a um extrato específico, recupera todas as transações associadas às apólices especificadas que têm uma
TransactionDate__cdentro da data de início e término do período do extrato.Se a transação não tiver um valor para o
StatementId__c, defina oStatementId__ccomo o ID do extrato especificado.
Informações adicionais
Cálculo de StatementStartDate__c:
Uma conta pode ter várias apólices com faturamento direto. Cada apólice pode ter uma frequência de faturamento diferente (anual, trimestral, mensal ou semestral). O StatementStartDate__c é determinado usando a data de vencimento da apólice e a frequência de faturamento para calcular a data de início para cada apólice, então escolhendo a data de início que está mais longe no tempo.
Por exemplo, uma conta tem duas apólices, ambas com datas de vencimento de faturamento de 2018-03-31. A apólice 1 tem uma frequência de faturamento mensal. A política 2 tem uma frequência de faturamento trimestral. Usando a data de vencimento da fatura e a frequência de faturamento, a data de início da apólice 1 é 2018-02-28. A data de início da apólice 2 é 2018-01-01. Como a data de início da apólice 2 está mais atrás no tempo, a StatementStartDate__c é definida para 2018-01-01.
JSON de entrada
O serviço espera que um JSON de entrada seja gerado de um Trabalho agendado do Vlocity. Esse trabalho agendado inclui a seguinte chave e seu valor:
-
records: Uma lista de apólices selecionadas pelo trabalho agendado
{
"records": [{
"Id": "02i5A000005iF1zQAE",
"AccountId": "0015A000025MuenQAC",
"AutomaticPaymentAmount__c": 10,
"BillDueDate__c": "2018-03-31",
"BillingFrequency__c": "Monthly",
"PastDue__c": 10
},
{
"Id": "02i5A000005iF20QAE",
"AccountId": "0015A000025MuenQAC",
"AutomaticPaymentAmount__c": 30,
"BillDueDate__c": "2018-03-31",
"BillingFrequency__c": "Quarterly",
"PastDue__c": 30
}
]
}
