What time zone is the billing performed in? And what time zone is the user in? Is the user part of a group billing scheme that is billed in a different time zone? Or do you bill everyone in the same time zone regardless of where they sign up? You need to know this in order to compute both "n" and "m".
Do you need to break the billing into separate line items, for example, a service component and an entitlement component? What about addons or powerups? Are they all prorated? are you sure?
What about fixed up-front charges? Surely these are not prorated?
Do you charge in arrears or in advance? If you charge in advance, how many days/months in advance? If in arrears, when do you actually raise the charge? You need to know this to compute "m" and "n". How do you remember to pro-rate it? Bonus question: what's the process you use to ensure that arrears charges are always raised? Not a cron job, surely?
Is your billing cycle even monthly? Could it be quarterly? Weekly? Annual?
Do you need to prorate entitlements? What about quantity entitlements like download volume? What about fixed entitlements like per seat licenses?
Do you prorate to the millisecond, or the day? Is there a minimum proration period?
Are there any accounting rules related to proration in the accounting regime of the user being billed?
If you provide a signup bonus or coupon that exceeds the value of the prorated first billing period, how do you apply it to the account?
Ok. That covers the stuff I can think of off the top of my head. There are probably just as many questions that I’ve forgotten.
Ultimately, the problem is not determining how to prorate, since that's a simple ratio. The problem is to work out what "m" and "n" even means, and to compute their values in a way that works within the policies of the business you're billing for. And even a simple business will change requirements over enough time.
Then, of course, there’s dealing with things like refunds and cancellations. Which, in my experience, everyone gets wrong and pushes off to manual processes. And then there's the other 12 things in TFA, each of which has at least as many twists and turns.
+1 for the details, and it gets even worse when we have to bring these kinds of billing complexity into our product designs! Especially when we need to take care of budgeting... which has all of its own complexity as well.
Thanks, yes I have to say I get a bit frustrated with the frequent cycle of “ proration is not easy”, followed up by someone posting “proration is a simple division”! And then repeat for all the other complexities.
What time zone is the billing performed in? And what time zone is the user in? Is the user part of a group billing scheme that is billed in a different time zone? Or do you bill everyone in the same time zone regardless of where they sign up? You need to know this in order to compute both "n" and "m".
Do you need to break the billing into separate line items, for example, a service component and an entitlement component? What about addons or powerups? Are they all prorated? are you sure?
What about fixed up-front charges? Surely these are not prorated?
Do you charge in arrears or in advance? If you charge in advance, how many days/months in advance? If in arrears, when do you actually raise the charge? You need to know this to compute "m" and "n". How do you remember to pro-rate it? Bonus question: what's the process you use to ensure that arrears charges are always raised? Not a cron job, surely?
Is your billing cycle even monthly? Could it be quarterly? Weekly? Annual?
Do you need to prorate entitlements? What about quantity entitlements like download volume? What about fixed entitlements like per seat licenses?
Do you prorate to the millisecond, or the day? Is there a minimum proration period?
Are there any accounting rules related to proration in the accounting regime of the user being billed?
If you provide a signup bonus or coupon that exceeds the value of the prorated first billing period, how do you apply it to the account?
Ok. That covers the stuff I can think of off the top of my head. There are probably just as many questions that I’ve forgotten.
Ultimately, the problem is not determining how to prorate, since that's a simple ratio. The problem is to work out what "m" and "n" even means, and to compute their values in a way that works within the policies of the business you're billing for. And even a simple business will change requirements over enough time.
Then, of course, there’s dealing with things like refunds and cancellations. Which, in my experience, everyone gets wrong and pushes off to manual processes. And then there's the other 12 things in TFA, each of which has at least as many twists and turns.
(edited to focus only on proration.)