Bench App for Stripe

Jan - Apr 2022

Overview

Bench was the largest bookkeeping service for small businesses in America. Leading design for our new product partnerships stream, I designed Bench's first embedded app: Bench App for Stripe, one of the first apps to launch with Stripe's new App Marketplace. The app enabled Bench customers to understand their profit and loss within their Stripe workflows.

Company

Bench Accounting

Role

Senior Product Designer
0-1, UX, UI

tl;dr

  • Launched in Stripe App Marketplace debut with 3K+ installs
  • Cross-platform UX design for embedded financial insights and workflows
  • Shaped APIs enabling partner platform integration and whitelabeling
  • Pivoting partnership strategy: failing fast on acquisition assumptions and sparking core product improvements
Opportunity

Launching with Stripe's app marketplace

In early 2022, Bench was exploring partnerships with SaaS platforms to meet customers where they already worked, with goals of unlocking new acquisition channels and increasing retention.

Stripe had just invited us to build an app for an exclusive beta of its upcoming App Marketplace, April launch. On my second day at Bench, I was asked to lead design for this project. We had no APIs ready and a nascent strategy. We had to figure out if partner products would work.

Stripe App Marketplace launch article featuring Bench
Stripe App Marketplace launch article featuring Bench, one of the first apps launched
Research

Understanding user needs and risks

With Stripe's tight timeline, I partnered with my PM to interview bookkeepers and internal teams, analyze usage data, and identify high-value opportunities.

Critical risks identified

Stripe processes transactions in real-time. Bench (at the time of the project) was reconciling journal entries monthly through bank feeds and manual categorization, and also tracked Stripe revenue as lumpsum payouts rather than individual transactions. This mismatch of data recording had the potential to cause customer confusion and a fragmented experience.

Although the Bench App for Stripe would help sync Stripe transactions in customers' books, Bench also sourced transactions from bank feeds, statements, and other merchant providers beyond Stripe. Failed connections with these other sources, along with uncategorized transactions or delayed reconciliation, could all cause customers' books to be incomplete.

As such, we needed to alert users when their profit and loss numbers were incomplete and provide clear paths to resolve issues.

Many small business owners used Stripe as a payments processing tool, but not necessarily for complete business performance review if they had multiple sales channels.

This raised the question: Would users find Bench data meaningful here, and use it, especially if the Bench data is not able to be presented in-sync with Stripe's?

Despite these concerns, leadership prioritized strategic benefits: brand visibility, potential lead generation, and keeping the Stripe relationship. The partnership value was seen as outweighing our product fit questions.

Approach

Designing the embedded app

1. User experience

To work as an acquisition channel, the app needed to provide value to users without an existing Bench account. I designed a demo mode with sample insights and educational content for prospects. For existing customers, we worked with our engineers to leverage Stripe's API integration to make the authentication experience seamless.

Showing After
Earlier iteration of login/sign up and demo data view designs
Earlier iteration
Final login/sign up and demo data view designs, showing blogs, prepopulated sign up fields, adjusted nav and alert designs
Final iteration

To ensure customers are informed if their books weren't fully reconciled yet, I created status indicators showing whether data was complete, in-progress, or needed customer input, providing magic link flows back to Bench for resolution.

This resulted in creating the Bookkeeping Status and Notifications APIs alongside our Insights (data) API, allowing us to surface real-time data reliability and outstanding actions.

Showing After
Earlier iteration of adding bookkeeping status to the Bench App for Stripe
Earlier iteration
Final iteration with alerts, tooltips explaining statuses, disabled downloading of blocked books
Final iteration

2. Technical constraints

Stripe's framework evolved weekly during development. I designed modularly with fallback plans and maintained daily collaboration with engineers and Stripe's team to adapt to changing components.

Examples of components that were not available for launch and required adaptations
Examples of components that were not available from Stripe in time for launch and required adaptations

To address data timing confusion, I worked with copywriters to create clear explanations about the accounting differences between Bench and Stripe and set proper expectations.

Flagging areas for our copywriters to review and collaborate on the in-app copy
Flagging areas for our copywriters to review and collaborate on the in-app copy to address data timing confusion
Solution

What we shipped

Bench App for Stripe brought Profit & Loss insights into the Stripe dashboard, enabling small business owners to make financial decisions where they manage payments.

Income Statement with period-over-period comparisons, with real-time bookkeeping status indicators and handoff to Bench app.
Interactive demo mode and educational content to support user acquisition directly in Stripe
Screenshot of Bench API documentation for partners
Shaped our partner-ready API suite, with docs to support integration of bookkeeping data, including income statements, notifications, bookkeeping status, and more
Impact

Results

Bench App for Stripe's results yielded a strategic inflection point for Bench's platform partnerships strategy:

  • 3,000+ installs: Launched as part of Stripe's App Marketplace debut, expanding Bench's visibility
  • ~100 leads generated: Invalidated assumptions that embedded integration would naturally drive acquisition
  • Exposed infrastructure gaps: Led Bench to pause "Powered by Bench" roadmap and invest in technical foundations first, including shift to real-time data ingestion
  • Catalyzed core product improvements: The comparison feature designed for Stripe became a successful proof-of-concept, eventually implemented in Bench's main product
  • Enabled future whitelabel success: Insights API reused in successful home services SaaS integration
Takeaways

What I learned

Embedding data alone isn't enough

Cross-platform design succeeds when it enables new user journeys, not just new data visibility. We showed financial metrics but didn't unlock the Stripe-native workflows they could power, like qualifying customers for loans based on their financial reports, or advising following up on payments based on their cash flow. Scope and infrastructure constraints limited us to information display rather than the actionable integrations that drive adoption and value.

Data quality is UX

The data infrastructure shapes UX possibilities. Misaligned data timing (Stripe's real-time vs. Bench's monthly sync) erodes user trust, requiring design workarounds. Successful platform partnerships require firstly assessing the technical architecture and the ability to deliver consistent, aligned data timing, to ensure a clear, reliable, understandable experience.

Partnerships as product labs

Partner projects can pilot new features and build internal buy-in for bigger core product investments. Our period-over-period comparison capability launched first in Stripe, gathered user validation, and built internal momentum, such that the feature was eventually added to the core product.