Company SingleOps
Role Product Designer
Product Area Invoicing
Team Payments & Invoicing Feature Team (CacheMoney)
1 Product Manager | 3 Full Stack engineers | 1 QA Engineer
Project Duration 3 months
Release Date October 2024
Status In production
Key Stakeholders Onboarding Team | Customer Success Team | Product Marketing ​​​​​​​

Redesigned Invoice Page (In production since October 2024)

Company Overview
Founded in 2013, SingleOps is a business management platform designed for the green industry, with a focus on landscape maintenance and tree care. It streamlines daily operations by offering integrated tools for creating estimates, managing jobs and revenue, and facilitating payment collection.​​​​​​​
Why was a redesign needed?
Lack of Visibility into Payment Metrics
Customers currently have limited to no visibility into essential billing and collections metrics such as average-days-to-payment and bad debt (defined here as invoices that are 91+ days overdue). This obscures performance insights and delays necessary action.
Ineffective Onboarding Experience
New customers struggle to learn and adopt the Billing and Collections system. It takes over 45 days for a new customer to receive their 10th payment, which reflects a slow ramp-up and learning curve.

Confusing Terminology and Logic
Key system terms like “Open Invoices” and their underlying logic are confusing and poorly explained. Even experienced users find themselves needing frequent refreshers, indicating a lack of intuitive design and clear documentation.

Over-Complexity of the Billing System
The billing system has become needlessly complex over time, creating friction for both new and existing users. This complexity contributes to delays in payment processing and hinders effective customer self-service.
Design Process
Discovery 
My product manager and I interviewed 4 internal stakeholders and 8 current users to better understand their invoicing workflows and identify product needs and pain points. Here's what we found:
- In the first half of 2024, the average time to receive payment for a job was 24 days.
- We identified the following user behaviors:
     - Users tend to go to the Calendar page to determine if an invoice is ready to be sent because the visit status is clear and visible
     - Then they use the Open Invoices page to try to track collections— this indicates a fragmented billing workflow
     - The Open Invoices page sees 550+ monthly active accounts, showing strong intent to manage collections.
          → However, this is only ~50% of the customer base, suggesting limited utility and missed opportunities for broader engagement.
- Customers frequently use manual spreadsheets to track:
     - Invoice status
     - Aging
     - Visit completion
        → This indicates that current tools are insufficient, forcing users to duplicate effort outside the system.
Research Findings
Visit status guides invoicing decisions
Knowing whether a visit occured helps users decide if it's time to send an invoice or hold off
Invoice statuses should drive action
If an invoice hasn’t been sent, the user sends it. If it was viewed days ago, they follow up.

Invoice Age Signals Follow-Up Urgency
Knowing how long an invoice has been outstanding helps users prioritize which payments need attention first.
Clear insight into outstanding payments helps maintain healthy cash flow
Access to key metrics like total outstanding invoices and 91+ day overdue debt empowers users to make faster, more informed decisions
Solution Exploration
Using our research findings, I started exploring different layouts for the invoice page, trying to answer the following questions:
- How can I tell which invoices to send?
- How can I tell if an invoice has been sent?
- How can I tell which invoices to follow up on? 

"Low lift" solution that reuses existing components with some layout changes

Views by invoice age and paid/unpaid invoices

Table grouped by invoice readiness

Views and table grouped by invoice age with new statuses

Our users responded positively to the alternative invoice page layouts. They particularly liked the integration of invoice age information and the distinction between paid and unpaid invoices
However, it became evident that the current set of invoice statuses are confusing and insufficient (eg. what does an Open status mean? What makes an upcoming invoice "upcoming?"). 
We needed to rethink existing columns that are deemed by our users as essential. The columns "First Sent, ", "Last Sent", and "Event Name" are useful, but they require users to do some mental gymnastics.
eg. If the "First Sent" column is blank, that means it hasn't been sent. But if it contains a date that is different from the "Last Sent" column, that means the invoice has been sent at least more than once. Not to mention, these columns are not filterable. 
Users shouldn't have to play a guessing game in this workflow. Not only is it mentally exhausting, it is not scalable.
Instead, we need a more succinct, actionable indicator: new invoice statuses.
After testing various invoice status UIs with a few users, we honed in on "Not Sent", "Sent", "Viewed", and "Paid" statuses accompanied by a relative time stamp below. Users expressed that they prefer relative time stamps (eg. Sent 5 days ago) over precise time stamps (eg. Sent on April 6, 2024) because it "does the math for me". Since invoices should not be lingering in the Unpaid view for more than 60 days, the relative time stamp allows the user to make a snap judgement on what action they need to take.  
Release Strategy
Since we were updating the second most visited page in the SingleOps application, we approached the rollout with extreme caution. To avoid disrupting users' daily invoicing workflows, we retained the existing subpages and introduced an "All Invoices" page alongside them for several sprints. 
After each release, we met with customers to gather feedback and made incremental adjustments as needed. Over time, we achieved full feature parity between the new All Invoices page and the legacy subpages, successfully implementing all planned enhancements. 
We worked closely with the Product Marketing Manager to announce the gradual changes, and, eventually, the deprecation of the old subpages. 
Solution Phasing
1. Combine invoice page views into one single invoice page
Having filtered views of invoice statuses as sub pages is a confusing and clunky pattern, particularly when those views are also accessible via the page filter. The lack of a centralized invoice page made the Open Invoices page the most used invoice page as it is meant to display invoices that are ready to be sent. 
Moving toward a single Invoice Page view declutters the navigation, reduces cognitive load, and provides the user with a reliable destination for all things invoicing. ​​​​​​​
2. Add Visit Status, Invoice Status, and Invoice Age columns
- Visit Status: Helps the user determine whether or not an invoice is ready to be sent out to the customer
- Invoice Status: "Not Sent", "Sent", "Viewed", and "Paid" along with the relative time stamps assist our users in staying on top of their collections process
- Invoice Age: Shows how many days an invoice is overdue and helps users prioritize which invoices to prioritize collecting on
Upon introducing these columns, we also had to determine the default state we would show to the user as a net new all-in-one invoicing page. Our research found that most users use the "Completed" visit stage as a signal that the visit is ready to be invoiced. Based on that finding, we set the page default to prioritize showing invoices that have a 
- Completed visit stage (Completed > Approved > Active > Scheduled > Unscheduled )
- Not Sent status (Not Sent > Viewed > Sent > Paid)
- Invoice Age in descending order (most overdue > paid)
3. Add preset filter tiles
Our users want a high level view of how money is flowing through the business. These tiles offer a quick way to get a sense of income and liabilities within a custom time period. The default view is "Unpaid", which also scopes down the amount of data required to load upon visiting the page, contributing to better performance.
Success Metrics​​​​​​​
Increased Invoice Page Usage (MAU)
Goal: 20% increase
Actual: 45% increase
Data: 700 MAU (Jan 2023- Oct 2024) to 1000 (Oct 2024 - May 2025)
Increase in Completed Payments 
Goal: 20% increase
Actual: 21.4% increase
Data: 1.4 million (Jan 2023 - Oct 2024) to 1.7 million (Oct 2024 - May 2025)​​​​​​​
Decrease in Overdue Invoices
Goal: 20% Decrease
Actual: 28% Decrease
Data: 38,990 (Jan 2024 - May 2024) to 27,950 (Jan 2025 - May 2025)
Decrease in Average Days to Pay Invoice
Goal: 30 days or less
Actual: 31 days
Data: 35 days (Jan 2024 - Dec 2024) to 31 days (Jan 2025 - May 2025)

You may also like

Back to Top