Financially Speaking / Archive RSS Feed
Author Archive
Buried in Billing Activities
This is a guest post from Lance Walley, the Co-Founder of Chargify and EngineYard. Chargify is an SaaS software that manages billing activities. Engineyard provides infrastructure for running Ruby on Rails applications in the cloud (TransFS runs on Engineyard). I suspect that his story of how Engineyard got buring in billing activities will resonate with many entrepreneurs and developers.
Over the course of a few years, Engineyard grew from 0 customers to 1,000 and by month 12 we were buried in Managing our Billing Activities (BAM – Billing Activity Management). We had a combination of software and people involved every day just to keep up. It became very expensive in terms of operational costs, customer dissatisfaction and the inability to report on that activity.
Engine Yard started reining in these costs in 2009, but I wish a better solution had existed earlier.
How We Got Buried
Here’s what happened. I think it’s pretty typical:
- It’s easy to get started with tools like Quickbooks and Auth.net to set up simple recurring billing of ‘x’ dollars per month on a customer’s credit card. When you just want to get a customer set up, this is quick and simple, but the simplicity is short-term because…
- Customers add & remove products, you need to change the recurring amount they are billed
- You’ll change pricing over time. We did so 4 times over a couple of years. We gave existing customers 1 year of grandfathered pricing, which added another layer of complexity to pricing.
- Some customers get special pricing because they’re in a special group, such as a charity, school, or reseller. Another layer of pricing.
- Credit cards get declined or expire, so someone needs to resolve these issues. I later learned that this process is called “dunning”.
- As you figure out what your customers really want, you’ll change your products.
- This is where “metered billing” comes into play. Unlike pre-paid flat-rate plans mentioned so far in this story, this is where customers pay ‘x’ amount per ‘y’ widgets used in the previous billing cycle.
- As your business grows and you get a finance person, you’ll discover that some charges must be “recognized” over different periods of time. We found out that set-up fees are supposed to be recognized over the expected life of the customer. I had never heard of “revenue recognition”. Wouldn’t it be nice if your BAM system could help with things like this?

As you can see, Engine Yard quickly outgrew the systems we started with, and we had almost no ability to report on all of this activity because the data was either spread across different systems or just didn’t exist.
We were paying a lot for a bad BAM system. For my next business I wanted to solve the BAM problem, which I think we have done at Chargify.