Project Expense Management
Empowering small business owners to manage expenses accurately and efficiently
@FreshBooks
Overview
FreshBooks is enjoyed by many small business owners who use it to manage financial information such as expenses, invoices, and estimates for their business.

We designed and launched a new feature to allow small business owners to track expenses for projects more accurately and efficiently for their business.
Duration
5 months
My Role
Primary Designer
Interaction Design
User Research
Business Impacts
Support calls were reduced by 90%
Engagement rate increased by 35%
BACKGROUND
Client projects drive profits for small business owners
Many small business owners rely on projects with clients for their business, which account for a large percentage of the profit for their business, so business owners pay close attention to the profitability of each project.
Expenses play crucial part in profitability
When business owners calculate the profit of the project, they need to understand the expenditure cost of the project, which they will subtract from the total payment from a client. One of the primary goals for business owners is to minimize expenses as much as possible to maximize profit.
PROBLEMS
Small business owners needed better way to track expenses for projects
After gathering feedback from support calls and doing research interviews with FreshBooks users, we learned that creating expenses for client was not granular enough, since they couldn't break down the expenses to project level for individual clients, which led to the following issues:
Lack of understanding on profitability of project
In order to identify profitable and non-profitable project, expenses needed to be organized in more flexible manner and allow business owners to see breakdown of expenses for each project from each client.
Expense data spread across tools
Since business owners could only expense on a client level, users had to switch back and forth between third-party applications such as Excel or Google Spreadsheet and FreshBooks to bookkeep expenses for projects.
OPPORTUNITY
How might we help small business owners to be more efficient with bookkeeping expenses for projects?
GOALS
Enhance how small business owners mange project expense
Problems that we identified gave clear areas for improvement and what needs to be achieved in order for the new feature be successful in short term and that can be a foundation for long term vision of providing profit insights to users:
Remove redundancy
Users are no longer going back and forth between applications to bookkeep expenses for projects.
Integrated
The workflow to add expenses for projects need to be seamless in FreshBooks.
Satisfaction
Users are satisfied with a new capability to capture expenses for projects within FreshBooks.
DESIGN ITERATION
Exploring ideas to simplify project expense management
With clear understanding of the problem and goals, I created user flow and started exploring various ideas in order to help us move to a direction that addresses the goals and to get feedback from product manager and other designers. After multiple iterations, we took the chosen idea to learn from our users.
User Flow
Creating a new expense for project
Idea 1
Adding a menu “Assigned to Project”
What people liked about
Concise menu label for discoverability
Coherent with existing pattern that separates Expense detail(costs, invoice number, and dates) from advanced Expense details which is kept in Expense Settings.
What people disliked about
Lack of context to select the right information, since users do not know which client that each project is for.
Unnecessary back and forth interactions to select project and marking the expense billable for invoicing.
Idea 2
Additional selection choice in existing Mark as Billable menu
What people liked about
Less technical implementation than the first approach.
Better context to understand which client the project is associated with.
What people disliked about
Menu label is not concise, so the feature is not easily discoverable for users.
There was already a design component that combined client and project in the dropdown input, therefore the new component would potentially cause inconsistencies throughout the app.
Idea 3 - Chosen Idea
Renaming menu label and grouping projects by client name.
What people liked about
Concise menu label.
Requires single click to view either client or project information in the dropdown input.
What people disliked about
Requires bit more technical implementation.
FINAL DESIGN
Design with scalability in mind
After deciding on an idea for MVP, I formalized the design with new user flow and visual exploration to consider how the design can scale for next iterations and adjacent features in the application.
Design Components
Building new scalable components
SOLUTION
Simple and Efficient
Expense Management

Create new project expense

User can simply create a new expense and select a project that they want to assign it to invoice their client.

Create new project expense from table list

Flexibility to quickly create a new expense from the table list and add more advanced details later.

Edit existing expense

No problem if users forgot to assign expense to a project. They can quickly edit the existing expense from table list and assign expense to a project.
IMPACTS
Seeing the immediate impact that helped both users and business
Feature adoption
35%
FreshBooks users have created expenses for projects in first 3 months of release.
Reduced Support Ticket
90 tickets

11 tickets
Number of support calls related to Proejct Expense creating
Reflection
Need for flexibility to adapt and change
As I worked on this project, I learned that there are many factors that go into design decisions such as time, resources, and priorities. In order to be ready for changes, I had to be flexible as a designer and leave many options open, whether having multiple design options or leaving out certain features in the design.
Small incremental improvement rather than big bet
The best thing that happened to me from this project was that I got to deliver a design that I had a confidence that it would succeed and help us to iterate. At first, I was disappointed to leave out some features from the design. However, looking back, I believe it was the right decision to iterate incrementally, rather than trying to shoot for big change that would be riskier had the outcome didn't met the expectation.
Focus on outcome rather than feature
After all, I believe the primary focus of the product designer should be to align users and business goals, so that the design that we deliver produce positive outcome. Therefore, rather than being fixated on the feature for the sake of delivering, focusing on desired outcome helped me to have a good intention and rationale for the design.