Building The Best Expense Report

Thomas Genin —  May 15, 2014 — Leave a comment

This month marks the sixth anniversary of Expensify. In may 2008, David Barrett got the idea of a world where expenses reports don’t have to suck. With this idea in mind he rallied the troops and founded Expensify, and for six years we’ve been experimenting with countless ideas on how to make expense reports not suck. 

Experiment 1: Make a website that doesn’t suck

Our first experiment was with the design of our web application. Everybody agrees that having a good-looking and easy to use application makes the experience more pleasant, but saying that is easier than doing that, and it’s been a long road:  (It’s kind of funny to see some of the early designs…  Can you see when we hired our first designer?)

Experiment 2: Make a mobile app that doesn’t suck

Next up was to experiment on mobile. As crazy as it sounds, we created our own cross-platform framework in order to write an application once and deploy it natively on each platform.  (It uses an embedded JavaScript engine wrapped with native controls, so it has native UI performance but cross-platform business logic.) It allows us to support iPhone, iPad, Android, Blackberry, Windows Phone, and even Palm while having less than 3 mobile engineers. And just like web, it’s been a long road:

Experiment 3: Re-invent receipt management

But while design is important, making it look good is just the tip of the iceberg: what it actually does is even more important. Accordingly, we were one of the first to introduce a receipt scanning technology that we call SmartScan. Take a picture of a receipt and we’ll extract the information for you — automatically, no typing required — removing a major hassle. And when you mix that with our ability to import the transactions from your credit cards or bank account, we can also automatically categorize the expense too.

Experiment 4: Compound the disruption by stacking technologies

Building SmartScan and Credit Card import required more experimentation, and we eventually opted to build our own technology instead of buying a solution. This allowed us to have a complete control on how to combine these incredible features, achieving “1+1=3” where the whole is greater than the sum of its parts.  For example, when you combine SmartScan’s ability to interpret receipts with our existing ability to forward email to, radical features like extracting trip information out of these receipts become possible.

Experiment 5: Make employees happy in all companies, of all sizes — even those that don’t adopt


So while on one hand we have experimented extensively with technology, thanks to our freemium model we have been able to experiment with a very wide range of users and companies. Some of those companies — despite all the advantages of going to the cloud — ignore the pleas of their employees and still cling to their old Excel and paper reports (weird) leaving their more tech savvy users in distress. We heard them, and though we cant make their companies adopt, we can at least do their reports for them: for this we created SmartReports to allow them to use Expensify and still submit a report in their company Excel template. While the expense report process of the company remains Excel based and unchanged, at least the Expensify user has a far better experience.

Experiment 6: Get companies to adopt through accounting integrations

But expenses reports are just one piece of the accounting of a company: integrating with the accounting packages is crucial, and it needs to be seamless and easy to use. This required a lot more experimentation, with Quickbooks (new version for QBO is out!), Xero, our brand new NetSuite connection, Dynamics, Salesforces, FinancialForce, or pretty much any kind of accounting package you can imagine. All these homemade integrations have given us the opportunity to learn how real-world accounting works at the lowest level, resulting in us now having an integration platform that allows us to rapidly create any kind of connection to any kind of system, supporting small jobs as well as large. We call this system Loading Dock, as it is an all-purpose tool for moving enormous amounts of data in and out of Expensify, shipping it around the world to any system you need.

Experiment 7: Leverage the inherent similarity of data

Invoice and BillsThe more we learned about expense reports, invoices, and bill processing, the more we realized they’re all the same thing — so we experimented with that by adding invoicing. Being able to process receipt by email is closed to being able to process invoice send by email which is why we have a bill processing feature.

Experiments 8, 9, and more: So much to learn, so much to do

And the list of things we have play with can go on and one: mileage, odometer, per diem, units, bulk operations, domain control, commercial cards, report statement, tax, Wingman, importing from your scanner, etc.  The list goes on and on, and though most aren’t relevant to everybody, everyone is very relevant to somebody.  So where are we after six years and all these experiments?

First we have built a product that we are proud of.  Sure, we have our growing pains, but it’s amazing to build a product that is used and genuinely loved by such a large and growing number of people.

Second we’ve built a product that teaches us a lot, and mostly through the old-fashioned art of just talking and listening to customers — many thousands, around the world. The feedback that you give us is always read by someone, shared, and analyzed. Whether it comes from a help email, an answer to our newsletter, a mobile review — it’s always read, and always deeply appreciated. We value what you have to say and this feedback is our most important tool for improving our product. We learn from all these experiments to understand the need of our customer, especially the subtle reactions to our less obvious features. All this feedback, learning, and experimentation combines to give us a rich understanding of the needs and deepest desires of people using Expensify — and hating expense reports in general.

And last but not least, we’ve built a product that we use ourselves — and you can rest assured and we are the first to complain about its quirks, bugs, and provide feedback about it. This usage made us realize another very important fact: even the best expense report in the world still kinda sucks. It’s not the product that sucks, but the report itself. Whether because it is too slow, not worth it, too complex, or takes too much time — it doesn’t matter how you are doing it, how much you know the software, how well you know the process. Despite our best of intentions, expense reports still suck.

Lesson learned: The best expense reporting experience you can have is to not have to do an expense reports.

So our goal for the next six years is going to help you to not have to do expense reports.

No expense reports = joy

Two employees learning that they don’t have to fill expense reports anymore

Sadly, expense reports are still necessary in some form. But we can do much better than forcing you wasting your time doing them. To remove the pain in the process we simply need to remove the steps. We already have tools in place to help you do that, but they are bit complex to use and / or hidden. We can do better.

Our past experiments and the experience we have gained from them have allowed us to assemble a fantastic team and build an unbelievably powerful infrastructure to make that real.

Making that dream a reality is going to take time. But we believe the future of expense reports is the absence of expense reports. Our latest experiment, real time expense report is going to a huge step in this direction: buy. Buy something, take a picture of the receipts and get reimbursed. A world with no expense reports sound like a dream, but when you experience it, you’ll never want to wake up.

No Comments

Be the first to start the conversation!

Have something to say? Share your thoughts with us!

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s