Build an expense tracking system for your business in Slack with Missions

Since Nonsuch Brewing Co.’s inception, we’ve been using Slack for internal team communication. Much of our team had already been using Slack in our jobs and other extra-curricular activities. It was clear to everyone on the team what the benefits were and we started building out workflows and process improvements right within Slack to make our lives easier.

One of the more painful issues I’ve had to deal with on a regular basis was expense tracking. Manually entering all your receipts into your expense tracking software is terrible and hiring a bookkeeper is expensive. Every little saving in cost counts when you’re bootstrapping a business. We all need to be aware of what is being purchased, and we didn’t have a credit card set up yet (because applying for a credit card is hard, man).

This meant we needed a solution that could allow us to stay on top of all expenses and was easy enough to use that you wouldn’t neglect the reporting until a later time, ultimately forgetting about your physical receipt in your pants that just went through the washer. 😭

Our solution

We built a simple workflow using Missions that allows us to quickly and easily log our receipts within Slack.

Our entire team will keep up to date on the expenses. All our information is stored in Google Sheets so it’s accessible anytime. By using Google Sheets, we were able to integrate some realtime reporting of expenses into our Slack environment. Here’s how we did it.

Set up the Trigger

First, I set up a trigger in Missions to detect when a new file is added to the #receipts channel in Slack.

It even works when sharing emails using Slack’s new Bring Emails into Slack feature.

Set up the Google Sheet

Next, we set up the spreadsheet in Google Sheets to keep track of all the inbound expenses. Here’s how I set mine up.

You can then wire this sheet up to Missions.

Alert the team

We then set up the alert to the team that a new expense has been processed.

It’ll look a little something like this in Slack. I need to format these messages a bit better, but you get the idea. :)

Get Approval

Matt Sabourin is our CEO and is ultimately in charge of the finances. We set up a quick approval process so he’s always made aware of any purchases that come in. We log that he’s approved it in the spreadsheet.

The Result

What we have is a quick way to upload a photo to initiate a simple workflow for expense tracking. The interface is already familiar to us because we’re having all our conversations in Slack anyway. We can also reference the Google sheet at any time incase there are any discrepancies. Our stakeholders love it too because they have confidence we’re monitoring it.

Based on all this data we collect, we set up a simple dashboard in another tab in the same Google sheet. This dashboard displays the expenses in the last month and the last week. In Zapier, we listen for when the phrase expenses! is uttered in our Slack channel, fetch the always-up-to-date data and spit it back into Slack as a threaded message. I’ll write another post detailing how that is done later.

I’d love to know what you think and if there are any ideas on how to improve this workflow. You can use my mission template as a guide by using this mission export: