Have renewal date based on original parent order day of month by default, only use last day of month if original day of month not available
Monthly subs normally renew on same day of month as parent order, except where that date is not available. If the "normal" renewal date does not exist, take payment on last day of the month ongoing.
e.g. (simple case) purchase monthly on 5th march, renews on 5th april etc etc.
purchase on 29 Jan 2021, can't renew on 29th Feb 2021 as it does not exist, so it renews on last day of month ongoing, i.e. 28 Feb, 31 Mar, 30 Apr.
This seems a bit weird to be honest. It causes an issue in the example above, because the membership is extended by +1month on renewal i.e. up to 28th Feb.
But if renewal doesn't happen until 31st March, there is a gap of 3 days where their membership has lapsed.
I don't want to have to manage this manually.
A better rule would be: take payment on same date each month and if "normal" date does not exist, take it on the last day of the month for current month only (revert to normal date where possible in subsequent months).