Select Page

This is part two 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?

Today, we’ll look at that question as it relates to accrual accounting and revenue recognition.


Most startups run their businesses on a cash basis. This is fine, to a certain extent, but there’s a reason why GAAP requires accrual-based accounting. The fundamental question: “how much money did we make last month” changes significantly if you’re looking at a cash or accrual basis.

Your cash balance matters. A lot. We’ve stated elsewhere that Cash is King. But your earnings are defined by your rev rec schedule (which is connected to your deferred balance).

If your eyes are glazing over, you’re in good company. Building out a rev rec schedule is a necessary part of your monthly financial close, but it’s not work that anyone gets excited about. Rev rec is a nightmare. A very boring, prolonged nightmare. A recurring nightmare that comes back on the first of every. single. month.

For those who have no idea what I’m talking about, I’ll provide a very quick overview. I’m going to brush with very broad strokes, so don’t criticize me for eliding the details.

The basic accounting principle is that you can only book the part of the revenue that you’ve actually earned. So if someone pays you $10 on June 1 for access to your service from June 1 – June 30, you get to count that entire $10 as revenue for June.

However, if someone pays you $10 for a month of access, but the billing period runs from June 16 – July 15, only half of that month is earned in June. So $10 arrived in your bank account in June, but you can only recognize $5 in June, and you’ll recognize the other $5 as revenue in July.

Then you get into payments for longer periodicities. If a $30 quarterly payment happens on June 1, you’ll recognize $10 in June, $10 in July, and $10 in August. If a $30 quarterly payment happens on June 16, you’ll likely recognize $5 in June, $10 in July, $10 in August, and $5 in September. This same kind of logic extends to other periodicities.

For now, we’ll elide the impact of refunds. Because this is already getting long.

Now let’s say that you’ve integrated directly with Stripe. Your financial team sees bulk deposits hit the account (e.g., a single $30K deposit). They will have to try to identify each of the transactions that make up the deposit. This is necessary because you need to know three things to build out a rev rec schedule: the payment date, the payment amount, and the billing period. As we’ve seen with quarterly vs monthly payments, how you spread the cash depends on the underlying periodicity of each transaction.

It’s very unlikely that your finance team will be able to successfully identify every transaction that makes up a specific deposit. Most likely they’ll make some assumptions that they’ll say “don’t materially impact” the underlying financials. We are huge fans of Stripe, but they do not do your finance team many favors in their stock reporting.

If you’re thinking that this doesn’t matter, you’re not alone. I have yet to see a bespoke billing system that cared about rev rec on day one. Candidly, most entrepreneurs don’t even know this is a thing.

Usually, if a company hits scale and hires a finance team, the first thing the finance team is tasked to do is migrate the books from cash to accrual. The finance team then builds out custom models in Excel to get as close as possible, while dealing with a lot of ambiguity.

If you want to transact your business, if you even want the option to transact your business, you should think about accrual accounting from day 1. Even if you intend to hold your company forever, accrual accounting gives a much better overview of the actual health of the business.

If you’re building a bespoke billing system, all of that will fall to you. You’ll need to become intimately familiar with the various ways of generating a rev rec schedule and make sure your software works correctly.

Personally, I recommend that you find a payment provider that builds this into the core system so it’s simply available to you on day one… Your finance team will thank you.


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