...
list of impacted parameters: NULL (will take data from product, claims … )
description = “ This calculation will, for the selected level and product, calculate how much the insurance need to pay the
...
payment platform for the fee for payment service
...
“
Service
activeForObject(self, instance, context, type, sub_type)
instance.__class__ == PaymentPan and context IN (submit) and self.checkCalculation(instance)
check_calculation
return true (to be updated once real payment plan will be in place)
calculate(cls, instance, *args[date_from, date_to, productid, location])
instance.__class__ == PaymentPlan
get all valuated claims that should be evaluated with fee for service paid contribution that matches args
create a bill through the converters
billCreationFromCalculation(date_from, date_to, type, sub_type, product_id, location)
Registration on signals from other module(existing or not):
...
if active_for_object(<fakepaymentplan>, 'submit', type, sub_type):
calculate(cls, <fakepaymentplan>, *args[date_from, date_to, productid, location])
Converter
one accountPayable per type of payment (TBC)
one asset (line) per product/commission, sum of policy value as quantity, Payment fees as unit price, product account code as ledger account
one asset (line) per policy : policy value as quantity, Payment fees as unit price, product account code as ledger account (dependent detail as asset description)