Vous êtes ici :
InsPolicyBillingService:generateBillingAccountStatements
Utilisez ce service pour générer des relevés pour les comptes qui contiennent des polices avec des comptes de facturation dont Date d'échéance = aujourd'hui.
Nous recommandons de ne pas invoquer directement ce service. Il a été créé pour être invoqué par la tâche planifiée Générer des relevés de compte de facturation Vlocity.
Méthode : generateBillingAccountStatements
Fonctionnement
-
Le service prend en charge une liste de comptes de facturation à partir d'une Tâche planifiée Vlocity.
-
Regroupe les comptes de facturation par compte.
-
Récupère les stratégies associées aux Comptes de facturation.
-
Crée un relevé pour chaque compte :
-
Définit
RecordType__csurStatement. -
Définit
AccountId__csur l'ID du compte. -
Définit la
DueDate__csur la valeur deBillDueDate__cdu premier compte de facturation du groupe. -
Définit
StatementDate__csur la valeur deBillDueDate__c. -
Définit
StatementEndDate__csur la valeur deBillDueDate__c. -
Définit
StatementStartDate__csur la date la plus éloignée spécifiée par les valeurs deBillingFrequency__cdans les comptes de facturation. -
Définit
BalanceDue__cà la somme des valeurs deAutomaticPaymentAmounts__cdans les polices associées aux comptes de facturation. -
Définit
PreviousBalance__cà la somme des valeurs PastDue__c dans les stratégies associées aux comptes de facturation.
-
-
Pour toutes les polices associées à une instruction spécifique, récupère toutes les transactions associées aux polices spécifiées qui ont une
TransactionDate__ccomprise entre les dates de début et de fin de la période de déclaration.Si la transaction n'a pas de valeur pour le
StatementId__c, définissez leStatementId__csur l'ID du relevé spécifié. -
Pour chaque compte de facturation :
-
Définit
AutomaticPaymentAmount__cà la somme des valeurs deNextPaymentAmountDue__cdans les polices associées au compte de facturation. -
Définit le nouveau
BillDueDate__cen fonction desBillDueDate__cetBillingFrequency__cactuels.
-
-
Pour chaque politique associée à un compte de facturation spécifique :
-
Définit le
AutomaticPaymentAmountDue__csur leNextPaymentAmountDue__c. -
Définit la
BillDueDate__csur laBillDueDate__cmise à jour du compte de facturation.
-
Instruction de calculStartDate__c
Un compte peut avoir plusieurs polices avec facturation directe. Chaque police peut avoir une fréquence de facturation différente (annuelle, trimestrielle, mensuelle ou semestrielle). La StatementStartDate__c est déterminée en utilisant la date d'échéance de facturation et la fréquence de facturation de la police pour calculer la date de début de chaque police. puis en choisissant la date de début la plus ancienne.
Par exemple, si un compte a deux polices, toutes deux avec une date d'échéance de facturation au 31-03-2018. La police 1 a une fréquence de facturation « Mensuelle » et la police 2 a une fréquence de facturation « Trimestrielle ». En utilisant la date d’échéance de facturation et la fréquence de facturation, la date de début de la politique 1 serait «2018-02-28» et la date de début de la politique 2 serait «2018-01-01». La date de début de la politique 2 étant plus ancienne, StatementStartDate__c est définie sur ‘2018-01-01’.
Calcul de la nouvelle BillDueDate__c
Un nouveau BillDueDate__c est calculé sur la base du BillDueDate__c actuel et du BillingFrequency__c. Voici les fréquences de facturation et les calculs du nouveau BillDueDate__c :
-
Annuelle
BillDueDate__cactuelle plus 1 an -
Trimestrielle
BillDueDate__cne peut être que 1 des 4 dates : 31 mars, 30 juin, 30 septembre ou 31 décembre. DéfinissezBillDueDate__csur la date suivante de la séquence. Par exemple, s'il est actuellement défini sur le 31 mars, définissez-le sur le 30 juin. -
Mensuelle
BillDueDate__cactuelle plus 1 mois -
Semestriel
-
Si la
BillDueDate__cactuelle est la fin du mois, définissez-la sur le milieu du mois suivant (14 février, 15 février, si n'importe quel autre mois) -
Si la
BillDueDate__cactuelle est au milieu du mois, définissez-la sur la fin du mois
-
JSON d'entrée
Ce service attend un JSON d'entrée généré par une Tâche planifiée Vlocity. Cette tâche planifiée comprendra les clés suivantes et leurs valeurs :
-
records: Une liste de comptes de facturation sélectionnés par la tâche planifiée
{
"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"
}
]
}