Have you ever hacked together a billing system for a web application you were building? Did you later change your mind about how you wanted to monetize the application but couldn't because it was hardcoded? Are you tired of interfacing with terrible payment providers? Did your billing system implode on February 29, 2012?
Well, good news! After reviewing just about every type of subscription that I could find, I believe that I've come up with all the information needed to model each of them. For the low, low, price of free (as in speech and beer!) I present the (fully untested, semi-normalized, highly speculative) subscription library schema to rule them all:
However, this is merely a stepping stone on the path to subscription billing bliss. I've not actually started the long and terribly arduous task of writing code to support this schema and as such I can assure you that it will change. But sticking with the infomercial theme, coming soon to a SaaS application you will write:
- A visual subscription plan editor that gives you complete flexibility in how you bill your customers.
- The ability to customize plans for individual users.
- Blissful peace of not having to write a single line of code to support billing.
- Enough eyeballs looking at the codebase to make all the bugs shallow.
- A reduction in how many people take a slice of your revenue.
What do you think? Have I missed anything?