From b2b8dea65c978ab5f868fd683384aaf90604cf5f Mon Sep 17 00:00:00 2001
From: Reinhold Kainhofer <reinhold@kainhofer.com>
Date: Fri, 26 Nov 2021 23:53:43 +0100
Subject: [PATCH] Fix unearned premiums (factor was calculated with the wrong
 logic)

---
 R/InsuranceTarif.R | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/R/InsuranceTarif.R b/R/InsuranceTarif.R
index 85b231c..c7f5be8 100644
--- a/R/InsuranceTarif.R
+++ b/R/InsuranceTarif.R
@@ -1209,7 +1209,7 @@ InsuranceTarif = R6Class(
           freq = params$ContractData$premiumFrequency
           bm = month(params$ContractData$contractClosing)
 
-          fact = (month(factors$date) - bm + 12 + 1) %% (12/freq) * (freq/12)
+                    fact = (bm - month(factors$date) + 12 - 1) %% (12/freq) * (freq/12)
         }
         # TODO: We have no vector of actual written premiums (implicit assumption
         # seems to be that the premium stays constant!). Once we have such a vector,
-- 
GitLab