@oliverbusk I think the simplest solution would be to have three columns: rent_frequency, rent_frequency_count, and anchor_date (this naming is borrowed heavily from Stripe’s for subscriptions).
You would use the rent_frequency and rent_frequency_count columns to determine how often to collect payments. So a rent_frequency of “month” and rent_frequency_count of “3” would represent every three months (quarterly).
The anchor_date column would then hold the date to start billing from. So if you had an anchor_date of “2021-03-11”, then your cycle would be “every three months from March 11, 2021” meaning the next payment would be due on June 11, 2021; the payment after that on September 11; 2021; and so on.