How to code a semi monthly loan scheduler in Fineract?

Originally published at: https://research.muellners.org/implementing-a-bi-monthly-loan-product/

A conditional logic was also introduced to set the states where semi semi-monthly loan is used and performs payments scheduling and other computations accordingly.
A new subroutine was introduced in the repayment schedule generator to handle repayment schedule generation for a semi-monthly loan