Вы находитесь здесь:
InsPolicyBillingService:generateBillingAccountStatements
Используйте эту службу для создания выписок для организаций, содержащих полисы с выставленными счетами, у которых крайний срок = сегодня.
Не рекомендуем вызывать данную службу напрямую. Он был создан для вызова запланированным заданием «Создание выписок из выписки из организации по счетам Vlocity».
Метод: generateBillingAccountStatements
Принцип работы
-
Служба принимает список организаций для выставления счета из запланированного задания Vlocity.
-
Группирует выставление счетов по организациям.
-
Извлекает политики, связанные с расчетными организациями.
-
Создает выписку для каждой организации:
-
Задает
RecordType__cStatement. -
Данный параметр определяет
AccountId__cкода организации. -
Установка
DueDate__cна значениеBillDueDate__cпервой выставленной счета организации в группе. -
Задает
StatementDate__cзначениюBillDueDate__c. -
Задает
StatementEndDate__cзначениюBillDueDate__c. -
Установка
StatementStartDate__cна самую дальнюю дату, указанную значениямиBillingFrequency__cв счетах. -
Устанавливает
BalanceDue__cсуммы значенийAutomaticPaymentAmounts__cв полисах, связанных с расчетными счетами. -
Устанавливает
PreviousBalance__cсуммы значений PastDue__c в полисах, связанных с расчетными счетами.
-
-
Для всех политик, связанных с определенным оператором, извлекает все транзакции, связанные с указанными политиками, которые имеют
TransactionDate__cв дате начала и окончания периода оператора.Если транзакция не содержит значения для
StatementId__c, задайтеStatementId__cкоду указанного оператора. -
Для каждой выставленной счета организации:
-
Устанавливает
AutomaticPaymentAmount__cсуммы значенийNextPaymentAmountDue__cв полисах, связанных с расчетной организацией. -
Данный параметр определяет новый
BillDueDate__cна основе текущихBillDueDate__cиBillingFrequency__c.
-
-
Для каждой политики, связанной с определенной расчетной организацией:
-
Задает
AutomaticPaymentAmountDue__cNextPaymentAmountDue__c. -
Данный параметр определяет
BillDueDate__cобновленногоBillDueDate__cвыставления счета.
-
Вычисление оператораStartDate__c
Организация может иметь несколько полисов с прямым выставлением счета. Каждая политика может иметь разную частоту выставления счета (год, квартал, месяц или полумесяц). StatementStartDate__c определяется посредством крайнего срока выставления счета полиса и частоты выставления счета для расчета даты начала для каждого полиса. потом выбор даты начала, наиболее удаленной в прошлое.
Например, если у организации есть две политики, обе с крайним сроком счета «2018-03-31». Политика 1 имеет частоту выставления счета «Ежемесячно», а Политика 2 имеет частоту выставления счета «Ежеквартально». С помощью крайнего срока выставления счета и частоты выставления счета дата начала политики 1 будет «2018-02-28», а дата начала политики 2 будет «2018-01-01». Поскольку дата начала политики 2 находится дальше в прошлом, StatementStartDate__c установлена на ‘2018-01-01’.
Вычисление нового BillDueDate__c
Новый BillDueDate__c рассчитывается на основе текущего BillDueDate__c и BillingFrequency__c. Ниже указаны частоты выставления счета и расчеты для нового BillDueDate__c:
-
Ежегодно
Текущий
BillDueDate__cплюс 1 год -
Ежеквартально
BillDueDate__cможет быть только 1 из 4 дат: 31 марта, 30 июня, 30 сентября или 31 декабря. УстановитеBillDueDate__cна следующую дату в последовательности. Например, если в данный момент установлено на текущее 31 марта, установите его на 30 июня. -
Ежемесячно
Текущий
BillDueDate__cплюс 1 месяц -
Полумесяц
-
Если текущее
BillDueDate__cявляется концом месяца, установите его на середину следующего месяца (14-го, если февраль, 15-го, если любой другой месяц) -
Если текущее
BillDueDate__cявляется серединой месяца, установите его на конец месяца
-
JSON ввода
Эта служба ожидает вводного JSON, созданного запланированным заданием Vlocity. Это запланированное задание будет содержать следующий ключ и их значения:
-
records: Список организаций для выставления счета, выбранных запланированным заданием
{
"records": [{
"Id": "a3h5A000000Xz7l",
"AccountId": "0015A000025MuenQAC",
"BillDueDate__c": "2018-03-31",
"BillingFrequency__c": "Monthly"
},
{
"Id": "a3h5A000000Xz7m",
"AccountId": "0015A000025MuenQAC"
"BillDueDate__c": "2018-03-31",
"BillingFrequency__c": "Quarterly"
}
]
}