Select Page

This is part one in our series: Bespoke Billing Systems are a BAD Idea.

Rolling out a billing system is a classic “weekend project” that ends up taking several years and is often executed poorly

On the face of it, it seems so simple: just sign up with Stripe and make a few API calls to collect payments and issue refunds. So why is it a BAD Idea to build your own billing system?

Ship a buggy feature and people might forgive you. Mess up billing and they’ll never trust you again.

Billing is a high stakes game where all you can do is lose. No one will praise you for billing the right amount on the right date. But small billing errors can lead to irreparable reputational harm.


With nothing to gain and everything to lose, why would a company willingly take on the complexity of a bespoke billing system?

In part, companies build their own billing systems because that’s the way it’s always been done. This is similar to eCommerce in the early 2000s: everyone who sold a physical widget had to build their own cart and checkout software. Integrated platforms like Shopify simply weren’t an option.

But if you want to sell physical goods using an online presence today, you’d be foolish to build your own carting software: that’s not the value prop that differentiates you in the market. It would be to your advantage to sell your widget using Shopify or WooCommerce or any of the other providers in that space.

The only time anyone cares about shopping carting software is when it fails expectations. That is, all a checkout flow can do is prevent a transaction!

Similarly, the value prop of your subscription-based business is not tied to your billing system. None of your customers will care about your billing software — unless you mess up their money. Your billing software won’t induce a single purchase, but one mistake can induce a cancellation.

If billing was simple, this might not be a problem. But billing systems are highly complex.

Here are a few pain points you are either dealing with now or can expect in the near future:


Plan Management

You need to allow customers to move between plans. This is an area that looks simpler than it turns out to be. Some of the edge cases you’ll find as you build out plan management include:

  • Changing the plan in the middle of the current billing period
    • How do you decide if the change should happen right away and when the change should take place at the end of the current billing cycle?
    • If the change happens right away, what proration charge should be billed today?
    • The proration logic will likely depend on the change of entitlements coupled with the change in periodicity. If the individual is staying on a monthly plan but moving to a more expensive offering, you’ll likely want to prorate today. But what about moving from a monthly plan to a yearly plan while simultaneously downgrading the plan option? The individual is willing to pay more cash today, but will lose access to an entitlement that was previously purchased.
  • If the current billing period includes a discount, and the individual wants to change plans, what do you do?

Renewal Notifications

Different states have different notification requirements regarding renewal payments. As of the time of this writing, California law states if an automatically renewing offer includes a free trial or promotional period that lasts more than 31 days, then the business must provide a reminder notice between 3 and 21 days before the promotion’s expiration. This notice must recap the terms of the offer and how to cancel in advance of any upcoming billing deadline. Additionally, if the automatically renewing offer includes an initial term that lasts for one year or longer, then the business must provide notice between 15 days and 45 days before the date of renewal.

Colorado requires monthly subscriptions to send a monthly reminder. For contracts and services that auto-renew on a term longer than month-to-month, Colorado requires the reminder to be sent 25 to 45 days before the auto-renewal date.

These are two examples, but there are many more. In addition to billing correctly, you’ll also need to ensure that you are compliant with all notification and cancellation requirements of each state.


Sales Tax

Here’s the honest truth: you don’t want to worry about sales tax. No one wants to worry about sales tax… But if you aren’t thinking about sales tax on day one, eventually you’ll wake up in a world of hurt. With the Supreme Court ruling in South Dakota v. Wayfair Inc, you can be liable to state taxing authorities outside of your home jurisdiction. Here’s a piece of unsolicited advice: don’t annoy tax authorities…

You must design your system from day one with tax in mind. We strongly recommend working with a 3rd party that specializes in tax (e.g., Avalara). Tax laws vary by jurisdiction (down to the street level!) and it’s almost impossible to keep track of by yourself. Tax rules change on a whim – so even if you have everything right today, that doesn’t mean you’ll be compliant tomorrow.

Too often this is the kind of thing that you won’t think about until it’s all you think about…


Dunning

Even with cards on file, and even with card updater, you are going to run into failed payments. Every single company faces dunning challenges. And that means your billing system also needs a dedicated “retry” system.

Different card networks (e.g., Visa) have different rules governing the frequency that they allow failed payments to be retried. As of the time of this writing, Visa only allows 15 retry attempts in a 30-day period. Part of your retry system needs to include an understanding of the rules imposed by each card network with logic that optimizes the likelihood of successfully recapturing failed payments.

Your dunning system will need to determine the optimal days (and times!) to retry failed payments; when to send email notifications; when to cancel accounts for non-payment; and when to continue reconciling past due charges that span multiple billing cycles. Reducing involuntary churn (from failed payments) has a compounding impact on your bottom line.


Promotions

Most billing systems only support setting promotions that are tied to the underlying periodicity of the subscription. For example, if you have a monthly offering, you could set up a promotion to save 50% off every month for the next 3 months. Most billing systems also support some concept of a free trial, so you could have a 14-day free trial that then converts into a $10 / month subscription plan.

This is well and good, but also incomplete. There is a missed opportunity to provide shorter-term promotional periods that then roll into longer recurring periodicities. Consider an email campaign that promoted “$0.50 for the first two weeks and then $89.99 per year thereafter.” Our experience is that offer take rate is strongly correlated to the initial billing price. But, with winbacks especially, free trials do not convert well. Getting some cash upfront and then rolling a discounted period into a larger renewal price does a much better job of optimizing revenue. But it’s likely unwise to offer the first year at $0.50…

If you don’t already support this in your billing software, if you didn’t think to divorce promotional periods from the underlying periodicity, it is almost impossible to add after-the-fact. Sadly, this is a lesson from experience and lost opportunity.


Usage-based pricing

Flat-rate subscription pricing (e.g., $10 / month) has its set of challenges. And it gets more complicated when you want to introduce metered (or usage)-based pricing. Then, for fun, most B2B companies end up running a hybrid: flat subscription pricing buys you so many events/actions, with an overage tier that is priced on usage.

There are so many ways this can go poorly that it’s a challenge to enumerate the risks. Not only do you need to make sure that you ingest events correctly, you need to translate those events into a pricing mechanism. Will unused credits rollover or is it “use it or lose it”? Will you have pricing tiers with additional discounts for heavier usage beyond the base subscription? For usage-based models, you almost always want to tie the usage to specific calendar moments (e.g., monthly subscriptions should always start on the first); so what will you do when someone signs up mid-month?


Price changes

When you launch your product, you’ll pick a starting price. Hopefully you’ll introduce a testing suite that allows you to price test and refine your offering (which introduces another set of challenges we’ll elide for today). But, at some point, you’ll decide that inflation or market changes or something else means that it’s time to raise your price. So, what will you do?

Will old accounts be grandfathered? Will everyone be pushed to the new price? How will that get communicated? How will it actually be executed? If you grandfather old accounts, how will you ensure that new accounts do not see the old pricing?

If you add new entitlements or features, will older accounts be given access? If desired, how can you push those entitlements to older accounts? If not desired, how can you prevent older accounts from having these new entitlements?

Pricing and product offerings are not static. However, bespoke billing systems often assume that what is offered today will be offered tomorrow (usually at today’s price). There are a lot of opportunities to really mess up someone’s money when changes are made to product offerings and/or your default pricing strategy.


In conclusion…

There are a lot of ways that billing systems can go wrong and mess up someone’s money. If your value prop is not tied to your billing software, what is the upside of building a bespoke payments solution? What distinct value-add does your organization provide to billing that it’s worth the reputational risk of making a mistake?

Sadly, as your business continues to grow and scale, these pain points become more acute. You’ll find business decisions being made based on the existing features of your billing system. Intuitively you’ll know that the risk of mistake is not worth the upside of the new feature. So new business opportunities end up being curtailed by the largest deficiencies of your billing system.

Because people are forgiving, unless you mess up their money.


Bespoke Billing Systems are BAD Idea
Part 1: Don’t mess up
Part 2: Rev Rec is a nightmare