I joined multiple related products in to one SaaS product with multiple modules. Each module has multiple plans. At least free and paid. You could (ideally) activate or upgrade / downgrade each module at any time. Each module has first 30 days of being active on any of the paid plans free.
What would a good system for handling this? I came up with a system that can handle this but it’s quite complex, and by experience, when something is overly complex it means I am missing something.
Does anyone know for any good practice already out there or has suggestion for some simplification that I could do?
(as an additional note small businesses here don’t use CC-s normally, but we all use wire transfers for b2b transaction. WT that comes after the invoice that has to be official etc. (in paper or in e-invoice standard). meaning I can’t charge the customers efficiently for small differences on the spot when they upgrade or change their plans on modules, but would ideally send 1 invoice per month to one user. That’s why I also have options of 3 interval for payments, 1,3 and 6 months.)