Interest manager is an app managing accrued interest and capitalization.
The app is connected to an instance of Bricknode Broker and each night a job will run, scheduled according to the timezone that the admin user has selected in the application settings. First, the application will calculate accrued interest for all the positions in the Bricknode Broker. In the app, we are making interest settings so account types are mapped to a certain interest calculation models and also where an interest rate is set for that account type and currency.
The accrued interest will then be applied to the customer account as a transaction in the dimension AI (AI = Accrued Interest) as a positive value if the position in the account is a positive value. If the position value in the account is negative then a negative AI transaction should be created. Once we have applied the accrued interest for the customer accounts we are going to apply the same amount, but inverted, on the designated house account. The total value in the AI dimension in the customer accounts has to match the inverted AI value on the house account since the house either owes AI money to the customers or the other way around. If the amounts do not agree then a difference transaction should be made on the house account to get it into balance.
Once the accrual loop is done the application will move forward with capitalizations. This means that the system will convert the virtual "accrued" money into real money on the date that corresponds to the capitalization model set for each account type.