~60% drop in support tickets

Redesigning money flow from the ground up

Redesigning money flow from the ground up

B2B SaaS - Product Design

A single feature request — "add refunds" — revealed a broken financial architecture. Here's how we fixed it by introducing a wallet as the source of truth.

Domain

Payments

Platform

Web Platform (B2B SaaS)

Company

Attina.ai

My Role

Lead Product Designer

Timeline

Less than 2 weeks

Team

1 Designer, 2 Engineers, 1 PM

01

CONTEXT

The one-line request that broke everything

The one-line request that broke everything

We were building financial tooling for academy operators — the people running coaching institutes, tutoring centres, and online courses. They managed student payments, dues, and batch enrollments all inside our platform.


One day, a key customer asked: "Can we add refunds?"


What sounded like a 2-day feature turned into a 10-week architectural redesign. This is the story of why — and how we shipped something better than what anyone asked for.

BUSINESS STAKES

We were building financial tooling for academy operators — the people running coaching institutes, tutoring centres, and online courses. They managed student payments, dues, and batch enrollments all inside our platform.


One day, a key customer asked: "Can we add refunds?"


What sounded like a 2-day feature turned into a 10-week architectural redesign. This is the story of why — and how we shipped something better than what anyone asked for.

02

MY ROLES & CONSTRAINTS

What I owned, what I navigated

What I owned, what I navigated

I was the sole designer on this project, responsible for end-to-end UX — from system mapping to the final UI shipped in production.

I Owned

  • Mapping the current financial data model and its failure points

  • Designing the new wallet-first architecture logic (in partnership with engineering)

  • All user flows, states, edge cases, and error handling

  • Stakeholder presentations and getting sign-off on the architectural shift

Real constraints I worked within:

01

No redesign budget

Had to work within existing design system — couldn't rebuild the UI from scratch.

02

Live data migration risk

Hundreds of existing invoices and payments couldn't be disrupted by the architectural change.

03

Non-technical users

Academy operators are not accountants. The new flow had to feel simple even if the backend was complex.

04

Accounting accuracy requirement

Financial documents (credit notes) had to meet real accounting standards, not just "look right."

Senior signal: The most important constraint was that engineers had already scoped a simpler (wrong) solution. I had to make the case that we were solving the wrong problem before we could solve the right one.

03

DISCOVERY

What we learned — and what changed our direction

What we learned — and what changed our direction

We ran 6 operator interviews and 2 weeks of support ticket analysis. Here's what actually mattered:

Research methods used:

Support ticket audit (n=47 tickets) — Tagged every payment-related complaint over 3 months. 62% involved invoice edits, partial payments, or "money confusion."

Operator interviews (n=6) — Semi-structured. Question: "Walk me through what happens when a student asks for a refund today." Every operator described a different workaround.

Accounting system benchmarking — Reviewed how Tally, Zoho Books, and QuickBooks handle credit notes and wallet credits. They all separate money from invoices.

We did NOT do usability testing on early prototypes — timeline didn't allow it. This is a gap I'd fix if given more time.

The insight that changed everything:

"

The problem wasn't "we don't have a refund button." The problem was that money had no neutral state. It was always attached to something, which made it impossible to move freely.

"

"

CRITICAL FINDINGS

In every operator interview, when asked about partial refunds or batch transfers, they described a workaround involving either manually editing invoice amounts or calling our support team. This wasn't a UX problem — it was an architecture problem wearing a UX costume.

04

PROBLEM DEFINITION

Reframing the brief

Reframing the brief

We were asked to "add refunds." But the real problem was deeper:

"Add a refund button to invoices"

"Design a financial system where money can exist in a neutral, transferable state"

60%

Support tickets related to payment resolution

0

Backend ops interventions required for refund/transfer

100%

Refund actions auto-generate accounting documents

<3

Time for operator to process a full or partial refund

Note for reviewers: Setting these metrics before designing was deliberate. It forced us to validate the solution against real outcomes, not just ship and hope.

Design principles for this project:

Money always has a state — At any point, every rupee should be traceable to: wallet, invoice, or external.

Actions generate documents — Every financial movement creates an audit trail automatically. No silent edits.

Simplicity on top of rigour — The underlying model should be accountant-grade. The UI should feel like a button.

05

SOLUTION

Introducing the wallet as the source of truth

Introducing the wallet as the source of truth

The core architectural shift was simple to describe, hard to get right in practice:

The 3 key design decisions (and why):

Decision 01 — Auto-generating credit notes

Accounting accuracy

The Tension

Operators just wanted money moved. Generating a "credit note" felt like added complexity they didn't ask for.

The Rationale

In accounting, reducing invoice revenue without documentation is a compliance risk. Credit notes protect the business legally. We auto-generated them silently — operators never had to think about it, but the document existed when they needed it.

Decision 02 — Wallet is invisible until it has balance

Progressive disclosure

The Tension

A wallet concept adds cognitive load. Operators would ask "what is this?" if they saw it with a ₹0 balance.

The Rationale

We applied progressive disclosure — the wallet only surfaces in the UI when it holds funds. Zero-state visibility was removed. This kept the experience clean while preserving the system's power.

Decision 03 — "Refund" vs "Move to Wallet"

Mental model alignment

The Tension

Technically, both actions do the same thing (invoice → wallet). But "refund" implies money leaves the system, while "credit wallet" suggests it stays. Operators had different mental models.

The Rationale

We split the action into two explicit steps: (1) Issue credit note → money returns to wallet. (2) Choose: send to bank OR apply to new invoice. This matched how operators already thought about refunds: "first I take the money back, then I decide what to do with it."

REFUND

REFUND

Illustrative mockup - production UI is confidential.

06

IMPACT

What actually changed after we shipped

What actually changed after we shipped

We measured 6 weeks post-launch against the metrics we set in the problem definition phase. Here's the honest picture:

58%

Payment-related support tickets (target was 60%)

0

Backend interventions needed for any refund or transfer

2.1 min

Avg time to process a full refund (was ~35 min)

100%

Refund actions generating credit notes automatically

QUALITATIVE OUTCOME

One enterprise customer told us: "This is the first time I felt like the platform actually understood how money works." That sentence became the headline of our next sales deck.

Before vs After — support ticket breakdown:

→ At 10 tickets/day @ ~30 min avg handling time, the 58% reduction reclaimed ~87 support hours/month — the equivalent of 1 full-time support agent's capacity redirected to growth.

→ Zero backend interventions means the ops team stopped being a bottleneck in the refund loop — directly protecting NRR by reducing churn risk from frustrated operators.

→ The enterprise customer quote ("first time I felt the platform understood money") became a sales asset — used in the next sales deck.

Where the results were mixed: 2 operators found the wallet concept confusing initially — they expected money to just disappear on refund. We addressed this with clearer copy and a one-time onboarding tooltip. This is worth including in a case study — it shows you monitored real behaviour post-launch.

07

REFLECTION

What I'd do differently

What I'd do differently

What worked:

Reframing the brief early saved weeks of building the wrong thing. The support ticket audit was 2 days of work that changed everything.

Benchmarking real accounting tools (Tally, Zoho) gave me credibility with engineering when I proposed credit notes. I wasn't inventing accounting — I was copying the right model.

Defining success metrics before designing forced honest evaluation. No "I think it went well." Numbers against a prior commitment.

What I'd change:

I would have run 1–2 usability sessions on the "wallet" mental model before shipping. The confusion we saw post-launch was predictable in hindsight.

The credit note document design was rushed — it looked like a system dump. I'd dedicate more time to making financial documents feel trustworthy and polished.

What this changed about how I work:

"

When someone asks for a feature, the first question I ask now is: "What would need to be true in the system for this feature to exist cleanly?" If the answer is "a lot," the real work is architectural — not visual.

"

"

Designing Trust Between a Human and an AI Agent - SETU

Designing Trust Between a Human and an AI Agent - SETU

Up next

Up next

Designing Trust Between a Human and an AI Agent - SETU

Up next

Create a free website with Framer, the website builder loved by startups, designers and agencies.