Archives For July 2011

Poor signal where you are traveling? Data plan too expensive abroad? No worries! Get the latest update to our Android app which adds an outbox queue for all receipts uploaded when there is no data connection.

Expense reports that don't suck! for Android

If there is a data connection or wifi when the next receipt image is taken, all of the queued receipts will also be uploaded with it. Alternatively, if you just came back from a trip or are sitting in a place with free wifi, open up the outbox and click send to upload the entire queue to your account.

Give it a try – get the latest update!

As you might know, we’ve been hiring a steady trickle of engineers, and we’re always eager for more. But we find ourselves without a true sysadmin, and honestly, it’s starting to show.

A long time ago Witold and I joked about scalability being “a problem we’d love to have”. When you are struggling to get anybody to use your product, it just seems like the last thing on your mind. Well, as much as I love the fact that there are hundreds of thousands of people using Expensify — it’s starting to add up to a real problem. Servers are getting overloaded. Databases are getting slow. I think the final straw was when I realized it was going to take over a week — sending mail as fast as we possibly could, 24/7 — just to send out a newsletter to all our users. So I love it, but it’s still a problem, and one that we’re not well equipped to solve.

Sure, we can make due — the great thing about being a programmer is there’s no problem we can’t solve. But our solutions are sometimes, shall we say, suboptimal. We can build anything from scratch, but sometimes it’s better to just install and configure off the shelf.

So this is my request: can you help us hire a sysadmin? Someone ideally familiar with Amazon Web Services (S3, EC2, SES), Ubuntu, lighttpd, PHP, postfix, ssh, and all the other myriad tools of a modern web infrastructure. But also someone with a deep intuitive understanding of disk and memory caching on virtual machines (where every virtual hard drive is actually layered on top of a *physical* hard drive — so there are two layers to manage), is well versed in the consequences of WAN versus LAN replication (high latency, low reliability), and who brings a deep reservoir of enthusiasm and expertise tearing apart a programmer system and rebuilding it the Right Way.

We’ll always need engineers. But engineering isn’t everything. Help us find a sysadmin and you’ll have my eternal gratitude. To apply, please ask them to read up on us on our jobs page and send answers to the following questions to

  1. When did you get started with computers and why?
  2. Contrast the pros and cons of virtual, dedicated, or colocated servers for a company like Expensify?
  3. What’s the largest, fastest, most reliable, most complicated environment you’ve ever managed?
  4. What’s a Linux command or tool that you think is more awesome than most people realize, and why?
  5. Based on what you can determine from outside the network, what would you suggest we change and why?
  6. When you receive a text message, what’s your first thought?

Thanks, I really appreciate your help!

The first in an upcoming line up of updates to what can be added in bulk is the ability to upload your employee email list.   When you are setting up an entire company save a copy of your employee contact list to a spreadsheet or comma separated value (CSV) file.  From the People page or the same tab of an expense policy click the Import employee emails and contacts in to Expensify button, choose which file to add and pick the email column to add everyone in bulk.

Upload contacts and employees to Expensify

Here’s some handy tips so you can import with the best of them

Get your contacts from Gmail

Take a look through Google’s guide to exporting Gmail contacts and make sure to select Outlook CSV as the export format.

Depending on how much information is stored with each contact you may get a file which has 20+ columns.  Make it easier for yourself to preview who is getting added to your account by cleaning up the CSV file to have only the email column.

Sync with contacts in Google Apps

No need to fuss with files. Just install us in to your Google Apps domain and we’ll sync with your contact list directly.

Pull contacts from Microsoft Outlook

Depending on which version you are using, take a look at the Outlook 2002/2003 contact export guide or the Outlook 2010 contact export guide.  Remember to save the contact list as a CSV file and export as few columns as necessary because only the email is used to set people up.

Remember that each person you invite gets you 5 receipt scans! Give uploading your people a go – get started by creating an expense policy!

Often times even when your expense report is done, the expensing process isn’t over.  If you do consulting or deal with clients directly on behalf of your firm chances are that a lot of costs are incurred on the clients behalf and must be billed back to them.  If you’re using QuickBooks there’s now an easier way to tell which expenses should be rebilled to the client.

Billable support for invoices in QuickBooks

When you’re working on an expense report, open up any expense item in detail and check out the new “Billable” box!  Put a check there and mark any expense as one that needs to be billed back to a client.  When the expense report is brought over in to QuickBooks the billable flag will already be set for the expenses that need to be invoiced.  From there, create an invoice in QuickBooks the same way you normally do and send it off to get paid.

To those of you paying very close attention, you’ll notice we’ve been making some subtle changes to the Android app.  There’s a lot going on under the hood — much of yet hasn’t yet been revealed — but one thing that just slipped out is support for logging mileage!  For you Android road-warriors out there:

  1. Update your Android Expensify app
  2. Tap “enter expense” on the main page
  3. Tap “mileage” in the upper-right
  4. Enter the number of miles you traveled
  5. Use or update the mileage rate
  6. Watch in amazement as the reimbursement amount is calculated
  7. Add an optional comment or receipt
  8. Tap “submit”

That’ll log the whole thing as a mileage expense in Expensify for adding to an expense report for reimbursement.  Some notes and caveats:

  • The reimbursement rate is imported from your account application launch; if you update it on the website, just close and re-open the app.
  • You can do a “one time” override the mileage rate in the mobile app, or update on the website to apply the change permanently.
  • The the 2011 IRS mileage reimbursement rates recently updated, be aware!

This is the third in a six-part series elaborating on a presentation I gave at the AlwaysOn OnMobile 2011 conference titled “Disrupting the Enterprise”. I suggest reading the first (or watching the video) and then continuing on below.

Condition #3: A Cascade of App Stores

This third condition is done; it was a one-time wave that will likely never be repeated. I’m referring to the overnight rise of a series of web and app stores, and the cascading effect of new stores inhereting the rank of the old, creating a sort of “meta rank” where apps on top of one tend to dominate the rest.

It all started with the iPhone. (You might argue it started with the BlackBerry or even Sidekick, but those stores never really caught on like it did for iPhone.) It seemed like overnight a million apps appeared, vying to appear at the very top of a seemingly infinite list of applications in each category. Furthermore, because your rank was largely a function of your install rate (and your install rate was largely a function of your rank), this created a feedback loop where the people at the top tended to stay at the top and increase their lead over time: it created a strategic high ground with incredible staying power.

Quick on the heels of iPhone was Android. To a degree, the apps at the top of the iPhone App Store were the first ported to Android, and re-established their dominance in the Android Marketplace. (The difficulty of porting to a new platform allowed a bit of discrepancy to appear, but the iPhone ports came in with an advantage over original Android apps.) And then after Android came the Amazon, Verizon, and Windows Mobile app stores — each reinforcing this hierarchy to a greater or lesser degree, and each opening a brief window of opportunity that has since irreparably closed.

(As an aside, the conventional wisdom — so far as I can tell — is to just buy your way up to the top of the app store using TapJoy and its brethren, each time hoping that some of your rank sticks. This does seem to work a bit. But it also tends to flood your data with low-quality leads, such that the more you employ this strategy, the less actual awareness you have about whether any of the signups are worth having. Furthermore, it seems the quality of the installs “at the top” aren’t as good as the quality somewhere in the middle: people who scroll down a couple pages to find you seem more loyal and genuine than those that simply install whatever app appears at the top of the list. But that’s a different topic.)

The upshot is in rapid succession, the mobile app stores established a murky order that tends to slosh around a bit, but generally settle back where it started. I speak here from experience: we missed this wave, and thus our app has a very low rank on each store — and there’s very little we can do about it except fight hard each and every step. But as luck would have it, we were given a second chance.

Right after we launched, Salesforce held a fortuitous contest to create the best expense reporting app, listing the result in the Salesforce AppExchange. We did really well, and earned our place amongst the illustrious “Force 40” — the top 40 Salesforce apps. Right around then, Intuit saw the meteoric rise of the iPhone and Android app stores and thought “I wonder if we can do the same with QuickBooks?” So they came out with the Intuit App Center. And naturally, they approached us to be early adopters, primarily due to our high rank in the AppExchange. This good fortunue repeated with the launch of the Google Apps Marketplace, which obviously couldn’t launch without the top Salesforce AppExchange and Intuit App Center apps (including us). This process repeated a couple times more, and now Expensify appears at the top of all the major web app stores, much to our delight.

But all that is done. Sure, new app stores open up every day — for both mobile and web. But all the major players have already made their moves, and their not going to make them again. That wave has washed ashore, and though we can scramble along the beach for a new position, those that were washed far in have a large, enduring lead over those who weren’t.

Why you should care: If you have an app with high rank, celebrate. If you don’t, prepare for a very long, hard slog to the top. It’s not impossible — and there are snakeoil salesmen touting every dirty trick to accelerate it — but ultimately the deck is stacked against you for the forseeable future.

Tune in next week to continue the series and read about how these three conditions have created a new opportunity for selling into the enterprise in a faster, lower-cost, and higher-quality way than ever before. See you then!

Previous: Word Of Mouth is Winner Takes All (2/6)
Next: The Bottom Up Adoption Curve (4/6)

Hello everyone out in Expensify Land! Today we write with two mission-critical questions:

1. What reporting requirements does your company have that our application has not yet addressed?
2. What features could we add that aren’t required but would simply make your life easier?

Sure we’d like to know more – like what adoption barriers Expensify faces at your company – but let’s face it, in the Internet age our attention span is about as short as a hamster’s memory capacity is small. So go ahead. Now’s your chance. The comment gate is wide open!

We’d like to hear from you on these topics because you – that’s right YOU – are the maverick employees helping us lead the charge against arcane norms in the expense reporting world. You – whether you know it or not – are out on the front lines fighting with us against awkward “solutions” that weren’t intended to make expense reporting easy, like Excel or the manila folder.

The Battle of Excel

The Battle Against Excel (Dramatic Re-enactment)

Now if you’d read this far…then congrats to you! You’re a rare breed; most people don’t make it here. We’d love to hear interesting success stories that your entire company has had using Expensify. In fact, WE’RE HAPPY TO FEATURE YOU ON THIS BLOG!

If you’re shy, then no problem. Contact us at or Share your feedback and success stories with us!

Up next week: We’ll respond to what everyone had to say and keep the conversation going. Until then, don’t be shy! Contribute in your own way. We want to make our compelling product even more so. Together, we can make something that’s doesn’t suck!