SAAS, GAAP, WTF? Coding Pitfalls to Avoid For Startups

April 6, 2015

10:00 am

The launch of a new product, service, or technology platform can be an exciting and stressful time. However, when that launch is accompanied by the creation of a new company as well, it can be even more intense. So much focus is poured into customer satisfaction, getting a working product and, of course ROI. How much cash flow can come in the door? Can we break even? Can we even make a profit?

Because those first few years of revenue are so critical to success, the main focus of a company is cash in the door. A popular understanding is to record all incoming cash as revenue.

Let’s be clear, there’s nothing wrong with that in the beginning.

But, once the company finds stable footing and reaches a certain level of complexity, its accountant and/or potential investor(s) will come knocking to suggest they start adhering to GAAP: Generally Accepted Accounting Practices.

GAAP, yeah the acronym most developers have never heard of, let alone want to consider when coding. GAAP is a more accurate and common basis for analyzing the profitability of your company, and how potential investors will look at your business. The problem with recording all cash as revenue is that you could be understating your liabilities.

In other words, if you received $100 cash for services, but only delivered $20 worth, you technically owe your customer $80 worth of services. Investors don’t care about cash revenue; they care about earned revenue, not necessarily one in the same. Most seasoned companies report their financial statements according to GAAP and, if an investor is considering a stake in your company, they will want to compare you to similar veteran companies. The GAAP crossroads is bound to affect you.

Unfortunately, most young companies write their platform code for their most immediate short-term need, to record revenue as cash, and switching over to GAAP on the backend is not easy, or cheap. I’ve seen it before. This is why – even if it doesn’t seem like there are instant rewards – companies that code their platforms with GAAP in mind at the onset will see great benefit in the long term.

Shortcuts Will Come Back to Haunt You

When you only have a certain amount of seed money or budget, it can feel like getting cash in the door is the number one priority. As a result, many developers code their platform based on this premise, with all transactions counting as cash the moment they happen, before they are complete. In many cases, startups or new projects aren’t given the confidence to explore what analysis should look beyond the initial phases.

But, here’s the thing; any Internet based company will build a backend piece that tracks orders, cash, and revenue. How it’s coded to account for revenue can differ based on the end goal. Most developers and executives have little interest in accounting ramifications in the long term, wanting to see the cash as quickly as possible. Coding with this mindset is a simpler process that involves more shortcuts.

However, if the company and the platform grow, it will be necessary to start analyzing revenue differently, which means the way the platform is coded to collect data will need to shift away from cash first.

Although it seems like a quick fix, transitioning from one transactional code to another is a terrible burden. It becomes an encumbrance to unravel what exists and set new parameters in place. It can take up team time, resources, and unforeseen costs. Possibly the worst part? The loss of valuable historical data.

Capture As Much Data As Possible

A shift in coding revenue data collection means losing any prior historical data because it’s captured differently. Plus, coding cash first isn’t as data driven as coding for GAAP, which can provide more complex data and reporting. My suggestion is to get as much transactional detail as you can like separating orders to individual transactions. In some places ignore the detail for this; isolate payments and refunds against orders. If you have unrealized revenue, make sure you can track this on a detailed level and not put it in a bucket of other unrealized revenue. These are important details that give you useful data in the future and will allow you to be closer to GAAP compliance than you understand at the moment.

GAAP Is Inevitable

It can be hard to think about where your company or product will be 3-5 years down the line, let alone what accounting method you will be using. But, it’s important to consider it at the onset to set yourself up for success. It will take more effort, time, and money, but think of it as a deferred investment. This must be balanced with your need to get up and running.


Image credit: Flickr/reynermedia


Did you like this article?

Get more delivered to your inbox just like it!

Sorry about that. Try these articles instead!

Jeremy Pollack is a copywriter at cloud-based voice and text platform CallFire.