Work experience
Billing and subscriptions overhaul
An overhaul of the billing functionality within the internal admin desktop application, aimed at helping internal teams manage customer subscription billing and renewals more effectively.

Key information
Project overview
Team
2 Product Managers, 3 Full-stack developers, 1 UX designer
Timeframe
3 weeks for design and iterations
Defining the problem
Issues with existing billing and subscription logic
Disconnected subscriptions
Subscriptions were stored as standalone records, with no links between them. This made it difficult to see a client’s subscription history or changes over time.
Data integrity issues
Subscription end and renewal due dates were stored in a shared field that could be manually edited by multiple users. This led to unreliable data and confusion around subscription timelines.
How might we improve coordination across service billing and delivery to better manage customer subscriptions?
Understanding the impact
Business and internal user impacts
Missed sales opportunities
Due to the lack of visibility into subscription activity, it was difficult for sales team members to identify timely opportunities for upgrades or renewals.
Missed deadlines and inefficiencies
Inconsistent, unreliable subscription records made it difficult for teams to track service timelines, leading to coordination issues and delays in delivery.
Addressing user needs
Solving internal pain points
The product managers led initial discovery sessions with stakeholders and internal teams to define new billing logic and subscription rules. These improvements changed the way subscriptions are created, managed, and delivered.
Customer sales team
Sales users need to be able to understand and track customers’ subscription activity and identify opportunities for upgrades and renewals at the right time.
Operations team
Users need a way to track progress and coordinate across teams to ensure efficient and reliable service delivery.
Finance team
Finance users need to be able to monitor changes across customers’ subscription lifecycle to ensure financial accuracy and reporting.
Designing a solution
Defining a new subscription structure
The product managers led initial discovery sessions with stakeholders and internal teams to define new billing logic and subscription rules. These improvements changed the way subscriptions are created, managed, and delivered.

Creation of subscriptions:
Prevent date entry errors
Key subscription dates are now auto-populated based on predefined rules, eliminating manual edits and reducing the risk of inconsistent or conflicting data.
Overview of subscriptions:
Separate date and status fields
Splitting subscription coverage and renewal due dates into separate fields gives each team a reliable point of reference for their specific needs.


Visibility into subscription details:
Unique subscription identifier
Assigned after payment, the subscription ID links each subscription to its invoice and company, and enables backend logic to connect related records.
Creation of subscriptions: Breaking down complex and detailed information
Due to the number of subscriptions and variants available, the new interface aims to support internal users in accurately completing payment requests through progressive disclosure, data fetching, and automated field population.

Distinct view and edit states for items
The default viewing state shows a simplified version of each item with no editable fields. When a user selects an item to edit, it expands to display input fields and relevant action buttons. This allows users to focus on editing one item at a time without being distracted by unnecessary information.
Information tailored to the selected subscription
Improvements to the data structure made it possible to identify the nature of the selected subscription and suggest relevant dropdown options. This logic also applies to subscription dates, which are auto-filled to prevent errors from open-ended user input.
Consistent layout

Chunking add-ons

Familiar patterns

Overview of subscriptions: Reassessing key subscription details
Distilling data points that were most valuable to show upfront. The goal was to make the subscription information shown on the table table more immediately useful for internal teams handling delivery and renewals.

Information overload without clear prioritisation
The previous table surfaced information and actions that did not support the goal of forming an overview of a customer's subscriptions. This made it harder for users to understand subscription activity and act accordingly.

Reorganised structure and more relevant date points
With the introduction of distinct date and status fields for delivery and renewal, information was reorganised to support clearer understanding. Statuses now serve as visual anchor points and provide vertical separation between delivery and renewal information.

Consistent layout

Chunking add-ons

Familiar patterns

Visibility into subscriptions details: Grouping information architecture
Reorganising the subscription details page into a structured layout with three distinct groups:
- Delivery tracking
- Subscription-specific details
- Audit log for updates and linked subscriptions
This categorisation improves clarity and enables different internal user groups find the information they need more easily.

Next steps
Informal user feedback
With the rollout of the new billing structure, a dedicated Slack channel was created to support internal users. I monitor conversations closely to identify patterns in feedback or confusion that may signal opportunities for future UX improvements.