Saveo Healthcare

Saveo Healthcare · UX Designer · 2021 — 2023

Money moved every day. The record of it lived in a spreadsheet.

Delivery executives collected ₹10–30 lakh in invoice payments daily across four payment modes. Reconciliation happened one invoice at a time, in Google Sheets, with three teams keeping three different versions of the same status. I redesigned the financial backbone underneath it — and made settlement deliberately slower.

Role
Product designer — end-to-end, discovery through handoff
Scope
Reconciliation architecture, invoice state model, settlement workflow
Worked with
Cash counter, credit, finance, product, engineering
₹10–30LInvoice value, daily
50–100Delivery executives reporting
4Cash · UPI · cheque · credit note
0Invoices settled before bank mapping

What I found

Three teams. Three versions of the same invoice.

Collections were logged in a sheet first and entered into the system later. By the time an entry reached finance it had been retyped at least once, and its status meant something different to whoever was reading it.

Collections_Dec_Week3.xlsx
#InvoiceAmountModeStatus
1INV-882112,400CashPending
2INV-88227,800UPI?
3INV-882331,200ChequeCheck bank
4INV-88249,650CreditDuplicate?
5INV-882518,000CashDone
Logged in Sheets first · entered into the system later

Illustrative reconstruction of the collections sheet, built from observed workflows. Not a production screenshot.

  • The status column was an opinion, not a state. Cash counter, finance and credit each read the same invoice differently — pending, unverified, missing — with no shared definition to arbitrate between them.
  • Reconciliation was one invoice at a time. No batching, no bulk settlement, no way to close a delivery executive's session as a unit.
  • Errors surfaced days later, untraceable. A discrepancy could be found, but not attributed — nothing recorded who changed what, or when.

Before designing

I mapped the machine before I drew a screen.

Three weeks sitting with the teams who actually handled the money — watching collection sessions end to end, tracing where a number changed hands, and noting every point where what was said and what was entered came apart.

ObservationFriction · High

Cash counter team

  • Daily collection sessions observed end to end
  • Handoffs happened verbally, then got written down
  • What was reported and what was entered diverged routinely
ObservationFriction · Critical

Delivery executive reporting

  • No standard format — verbal handoffs only
  • Re-entry into the system after the sheet
  • Errors compounded at every transfer
ObservationFriction · High

Bank statements & cheques

  • Manual uploads, no repository, no versioning
  • Cheque bounces had no tracked state at all
  • Finance found discrepancies too late to act on them

Speed versus financial correctness. Operations had optimised for the first. Finance needed the second.

The core tension — and the thing every subsequent decision had to answer to.

The shift

Build the backbone first.

The brief was a screen redesign. The finding was that no screen would survive a broken record. So I proposed sequencing it: get operations and finance onto one foundation, then layer capability on top of something that holds.

Foundation

Phase 01
  • Centralised bank statement repository
  • Invoice-level reconciliation against bank credits
  • Structured state definitions shared across every team
  • Clear ownership assigned per invoice state

Scale

Phase 02
  • Bulk settlement tooling
  • Cash session tracking and batching
  • Cheque lifecycle management, bounce to resolution
  • Unified invoice landing across teams
  • GTM bulk deposit handling

Sequencing was the design decision. Everything in phase two would have been feature sprawl on a broken base.

System design

Four states became the shared language.

Not a status badge. A contract — each state defines what has been proven about the money, who owns the invoice at that moment, and what has to happen before it can move. Settled became unreachable without a bank match.

State 01

Initiated

Invoice created, collection logged

State 02

Unverified

Awaiting bank confirmation

State 03

Partial

Part-payment mapped

State 04

Settled

Bank mapped, finance signed off

Invoice reconciliation — finance viewLive
InvoiceClientOwned byState
INV-8821Pharma Distributor, MG RoadCash counterInitiated
INV-8822Apollo Pharmacy, WhitefieldFinanceUnverified
INV-8823Medplus, KoramangalaCredit teamPartial
INV-8824Wellness Forever, IndiranagarFinanceSettled

Illustrative reconstruction of the redesigned state system. Not a production screenshot.

The hard call

Settlement got slower. That was the point.

Every validation gate I added cost the cash counter time. Two minutes an invoice became four to five. I took that to finance and product before building it, because a slower workflow you can't defend is just a worse workflow.

BeforeSheets + manual entry

Settlement time

~2 minutes

Per invoice — fast, and unvalidated

Duplicate entries

High

No validation layer; duplicates slipped through regularly

Discrepancy visibility

None

Gaps discovered at end of day, or later

Finance confidence

Low

Closed invoices frequently reopened for correction

AfterStructured reconciliation

Settlement time

4–5 minutes

More steps, structured validation — intentionally slower

Duplicate entries

Reduced

Validation gates block duplicates at entry

Discrepancy visibility

Real time

Flags surface as invoices move between states

Finance confidence

High

Every state change logged with a timestamp and an owner

We chose integrity over speed — deliberately, with finance and product aligned before a line was built.

Figures reflect operational behaviour observed during discovery and after rollout. Not formally instrumented.

Where it landed

From reactive correction to proactive clarity.

The operations teams never had to stop working to adopt it — the states mapped onto what they were already doing informally, so the change was in what the system recorded, not in how the day ran.

DimensionBeforeAfter
Source of truthGoogle Sheets — manual, unversioned, per-teamOne system repository, shared across teams
Duplicate entriesHigh; discovered late, if at allMaterially reduced by validation gates at entry
Discrepancy visibilityEnd of day or later — reactive firefightingFlagged in real time as invoices change state
Invoice closureLow confidence; frequently reopenedBank-mapped before settlement is possible
Audit trailNone — no traceability to sourceEvery state change logged with timestamp and owner

Comparison drawn from qualitative observation and stakeholder feedback during and after the redesign. Not A/B tested.

How I work

Design as infrastructure.

This project starts where I prefer to start — in operational complexity, with the machine mapped before a single screen is drawn. The interface was the last decision, and the easiest one, because everything underneath it had already been settled.

Systems before screens Speed and risk traded consciously Operations mapped before UI proposed Structure introduced through states

More of the same thinking, at platform scale.

Nineteen product areas of a derivatives platform, held together by one token system.

Pi42 case study