Back to work

Fluid / Subscription billing

Helping admins see which subscriptions need attention

I designed a subscription calendar to help company admins see how their subscriptions were performing, understand where problems were happening, and take action without opening each subscription separately.

Role
Sole product designer, responsible for the screens and flows.
Team
CEO, CPO, VP of Customer Success, and engineers on my team. Other designers provided feedback.
Timeframe
About 2–3 weeks of design work, alongside other projects.
Focus
Subscription billing calendar, day-level details, and email and retry workflows.
Product status
Nearing launch as of September 2026.

Screenshots show the interface prepared for engineering handoff, using sample data. The figures are not project results.

Subscription Billing Renewals calendar with a monthly summary and a revenue amount and renewal count in each visible day.
Subscription Billing Renewals calendar with a monthly summary and a revenue amount and renewal count in each visible day.
The Renewals view shows scheduled revenue and renewal counts across the month. Engineering-handoff prototype; sample data.

The situation

Admins could view individual subscriptions in a table, but they didn’t have a clear picture of how their subscriptions were doing overall. It was hard to tell how many were processing successfully each cycle, which were running into problems, and what was causing those issues.

They could inspect subscriptions one at a time, but spotting recurring problems and knowing where to focus their attention was more difficult. I wanted to give admins a clearer view of subscription health: not just whether things were going well, but what was going wrong and what they could do to fix it.

What informed the direction

The CEO and CPO brought me the need for a better subscription overview. Our VP of Customer Success added insight from working with clients who had struggled with the existing experience.

We looked at other businesses with subscription models and spoke with clients about what was missing. Clients couldn’t get a clear picture of how their subscriptions were performing, so they didn’t know where to focus their efforts to improve them. Without that visibility, they were left hoping things were going well.

A billing overview needed to support a decision, not just report numbers

Subscription billing dates vary from customer to customer, with renewals happening throughout the month. We landed on a calendar together as a way for admins to see that activity in one place, rather than piece it together from individual subscriptions in a table.

I found smaller calendar features in other subscription products, but none of the examples I reviewed combined the level of detail and actions we were aiming for.

From there, I wanted to connect the overview to actions admins could take. They should be able to spot a problem, understand what was causing it, and follow up from the same view, whether they were addressing a past failure or trying to prevent an upcoming one.

Not every metric belonged in every calendar cell

My first version tried to show nearly every piece of subscription data we had. In trying to give admins a complete picture, I had made the overview too crowded.

I pared it back by asking which information would help admins prevent failed payments or recover missed revenue. I kept the information most closely tied to those tasks: what was expected to process each day and what hadn’t been collected.

I removed the large error states that were pulling attention away from the other stats, along with the month-over-month comparisons on individual calendar days. The goal was to make it easier to see what needed attention without having to sort through every available metric.

The handoff separates Renewals and Recovery into two views. Renewals shows scheduled amounts and renewal counts. Recovery shows recoverable revenue and how many subscriptions need action. More detail is available when an admin opens a day, rather than competing for attention in every calendar cell.

Renewals

Cropped Renewals calendar with scheduled amounts and renewal counts, with Renewals selected.
Cropped Renewals calendar with scheduled amounts and renewal counts, with Renewals selected.
Renewals: scheduled revenue and renewal counts. This is one view of the handoff design, not the earlier version.

Recovery

Cropped Recovery calendar with daily recoverable amounts and counts of subscriptions needing action.
Cropped Recovery calendar with daily recoverable amounts and counts of subscriptions needing action.
Recovery: recoverable revenue and subscriptions needing action. This is a second view, not an after screenshot.

Working with the data we had

Some of the stats I wanted to include relied on data we didn’t have available. I worked with engineers to understand what was feasible and left those stats out of this version to save time. That kept the scope focused instead of holding up the design for additional reporting work.

A calendar that leads to a next step

The design connects the monthly overview to a selected day, the subscriptions behind its numbers, and the actions available for them. These examples show two different situations: following up on a failed payment and asking for updated payment details before an upcoming renewal.

Recover a failed payment

For a day with failed payments, the overview shows the amount not collected and brings the follow-up options into the same panel: smart retries, an immediate retry, or a payment-failed email.

The retry review groups the subscriptions together, with checkboxes to adjust the selection and a button that states how many retries will be scheduled. The admin can review the group rather than open each subscription separately.

Failed-payment follow-up

September 3 day panel showing revenue lost to failures, failed and recoverable subscription counts, and three follow-up options.
September 3 day panel showing revenue lost to failures, failed and recoverable subscription counts, and three follow-up options.
For a day with failed payments, the overview puts smart retries, an immediate retry and a payment-failed email in the same panel.

Retry selection

September 3 Smart retries review with selected subscriptions and a button labeled Schedule 24 retries.
September 3 Smart retries review with selected subscriptions and a button labeled Schedule 24 retries.
The retry review groups subscriptions together while letting the admin adjust the selection before scheduling.

Follow up before a renewal

For an upcoming renewal, the day overview shows expected revenue alongside potential payment problems. The payment-update email flow includes a preview of the message asking the customer to update their payment method before the renewal runs.

That gives admins another route to follow up, rather than only responding after a payment has failed.

Upcoming-renewal summary

September 10 overview with Expected and Projected loss cards and counts for subscriptions at risk and needing action.
September 10 overview with Expected and Projected loss cards and counts for subscriptions at risk and needing action.
For an upcoming renewal, the day overview separates expected revenue from potential payment problems.

Payment-update email preview

September 10 payment-update email preview with next-order details and an Update payment method button.
September 10 payment-update email preview with next-order details and an Update payment method button.
The payment-update flow includes a preview of the message asking the customer to update their payment method before renewal.

Feedback, handoff, and launch status

I reviewed the pared-down version mainly with the internal team. They found it easy to use and navigate and felt it would be useful for admins managing subscriptions.

I handed the interface off to engineering with screenshots and a specification. At the time of that handoff, it used sample data and the payment and email actions were not connected to live services. The project is nearing launch as of September 2026, so I don’t have post-launch results yet.

What I’d do differently

I initially approached the calendar more like an analytics dashboard and spent too much time on stats and data visualizations. Once I took a step back, I realized that admins needed a quick picture of what was happening and a clear way to act on it.

If I started again, I’d begin with the actions admins could take to prevent failed payments or recover missed revenue, then work backward to the information they needed. That would help me spend less time on visualizations that didn’t support those actions.