Başak Uğur ÖnemProduct DesignerNiceCase file 01 · NDA · 2025
Case file 01 · NDA · 2025

Won isn't done.Paid is.

Confidential · 2025 · B2B SaaS · Internal tool · Web

Designing the internal tool that takes a deal from "won" to "paid" for sales, ops and finance across 10 countries, on one screen.

Project
Quote-to-cash
Company
Global offline marketing platform (under NDA)
Role
Product designer
Year
2025
00.1 Opening and TL;DR

A won deal is a promise. The old system made three teams keep it by hand.

I designed Quote-to-cash around one principle: every person should see what they need to do next, and the systems should do the retyping.

Below: one deal traced through the old process, what 17 interviews showed, the flows, four decision stories, a clickable prototype, and what changed in production.

Research
17 interviews: sales, ops and engineering
Iterations
8 prototype rounds before handoff
Users
Sales, ops and finance in 10 countries
Built with
Claude Code, Figma
01.1 One won deal, four systems

Every won deal started a relay race.

Quotes lived in one place, campaigns were rebuilt by hand, invoices lived in accounting, and the funnel only existed in the CRM. Nobody could see a deal's full progress, so every won deal started a relay race between teams.

  1. CRM · Deals Northwind CoffeeSpring launch · €18,400 WON

    Mon 10:14Sales celebrates. Nobody else knows yet.

  2. Quote.pdf New campaign Client Budget Targeting

    Tue 16:40Ops rebuilds the campaign by hand.

  3. #deal-northwind Can I invoice Northwind yet? Finance · 11:05

    Thu 11:05Finance asks. The answer is in someone's head.

  4. MONTH END31 Campaign · details Client: Nortwind Coffee

    Month endDays lost at month end, every month.

  5. End of file

    Scroll down to see how the deal moves now.

1 / 5
Illustrative scenario · dummy data
deal_trace.logQ-1042 · before the tool
  1. 01Deal marked won in the CRM✕ nothing else knows
  2. 02Ops rebuilds the campaign from the quote✕ retyped by hand
  3. 03Contract sent for signature separately✕ nobody owns the chase
  4. 04Finance asks if setup and contract are done✕ answer lives in someone's head
  5. 05Invoice built in accounting✕ VAT checked per market by hand
  6. 06Payment arrives✕ matched back to the deal manually
01.2 Research

Three groups, three different problems.

I interviewed the people on each side of the relay.

GroupWhoWhat they told meInsight
Ops8 team leadsDays lost at month end retyping campaign details from quotes, with errors at every step.I1
Sales4 country managersHard to see what got approved and what changed after approval.I2
Engineering5 developersThe CRM and accounting integrations were the hardest parts; tax rules change by country and campaign type.I4
02.1 Flows and the object model

Objects before screens.

The hard part was state, not layout: six objects, nine quote statuses, and one rule for the ⚠. It appears only when a person must act.

ObjectStatesRule
Quotedraft → internal review → sent → accepted (incomplete) → SOW pending → invoice pending → active · also: revision needed, rejectedA new version exists only after a client rejection.
Deal (CRM)quote sent → won / lostThe CRM stays the source of truth.
Campaigndraft → complete → activeCreated on acceptance. Size, amount and budget lock.
Contract (SOW)awaiting signature → signed / declinedA manual upload works at any time.
Invoicenot generated → generated → partially paid → paidGenerated only when campaign and SOW are done.
TaxVAT on / offSet once per quote.
Fig 01 · Information architecture Quote tool Quotes tableGrouped list Create quote6 steps Quote detailStatus and documents Modals4 dialogs CSV vs CRM dealGate Invoice prerequisitesGate Rejected · deal lostStop
Quote tool
Quotes table
  • Status filter cards
  • Filters: country, status, channel, client, dates
  • Row sidebar with quick actions
  • Version history
Create quote
  • 1 Quote info
  • 2 CSV upload Gate checked against the CRM deal
  • 3 Campaign details (optional)
  • 4 Artwork and offers (optional)
  • 5 Mailing list (direct mail only)
  • 6 Review and submit
Quote detail
  • Status banner
  • Overview
  • Campaign info
  • SOW
  • Invoice: 3 documents Gate both prerequisites
  • Activity log
  • Rejected · deal lost Stop
Modals
  • Request internal review
  • Confirm acceptance
  • Upload SOW
  • Unsaved changes
ScreenGate or checkStop
Notice the two gates: a CSV that disagrees with its CRM deal, and an invoice that waits for both blockers. Hover a row in the table above to light the screens that use it.
User flows
Fig 02 · A · Create a quote Sales System NoNoCreate dealAt quote sentWarning · fix CSV Yes Yes Draft · send · review Quote infoVAT set here In CRM? CSV upload Matches? Extra detailsOptional Review & send3 ways out
  1. Start
  2. Quote info Client first, then contacts unlock · VAT toggle
  3. Deal already in the CRM? Yes: link it · No: create the deal at quote sent
  4. Create deal System · automatic
  5. CSV upload
  6. Matches the CRM deal? No: warning, fix the CSV · Yes: continue
  7. Campaign details Optional
  8. Artwork and offers Optional
  9. Direct mail? Yes: mailing list
  10. Review and submit Save as draft · mark as sent · request internal review · cancel
DecisionSystem
Notice the CRM check: an existing deal is linked, a missing one is created, and a CSV that disagrees never gets past upload.
Fig 08 · What one click sets off
Confirm acceptanceQ-1042 · Northwind CoffeeAccept quote
  • Draft campaign created✓
  • CRM deal marked won✓
  • Contract sent✓
  • Opens campaign info✓
Ops: nothing to retypeFinance: waits on 2 gates

Illustrative mock · dummy data
Accepting a quote sets off four things at once. Before, each was a separate job for a separate team.
02.2 The research-to-design strategy map

Every decision traces back to research.

Research evidenceCore insightDesign decision
8 ops team leads: days lost at month end retyping campaign details from quotes, with errors at every step.Interviews · 8 ops leads
I1The errors come from retyping, not from a bad form.
D1Let systems do the retyping
4 country sales managers: hard to see what got approved and what changed after approval.Interviews · 4 sales managers
I2People lose track of whose turn it is, not of the status.
D2Group by who acts, not by status
In the prototype, teams finished the contract and campaign info in different orders, and auto-signing sometimes failed.Prototype · 8 iterations
I3The two gates before an invoice are independent.
D3Turn blockers into a checklist
5 developers: the CRM and accounting integrations were the hardest parts; tax rules change by country and campaign type.Interviews · 5 developers
I4Tax is a rule set, not a form field.
D4Make tax a setting
After launch, ops edits after acceptance never reached the contract or the invoice, so documents disagreed.Rollout feedback
I5Some fields carry money and some don't.
D5Versions, not overwrites
02.3 Decision stories

Four stories, step by step.

The stories · 5 steps each
Story 1 · Title

Nine statuses became three groups

The list stopped showing the system's view.

CAPBASE Quote-to-cash
03.1 Prototype walkthrough

Who needs to act, on one screen. Try it.

Clickable prototype · concept recreation · dummy data
Press Client accepts in CRM in the dark panel, then follow the next step on Q-1042: add the setup info, upload the signed copy, generate the invoice. Reset starts over.
9Statuses
10Countries
3Stakeholder groups
8Prototype iterations
Highlights
  1. 01A list grouped by who needs to act
  2. 02The next step and its button on every row
  3. 03Blockers shown as a checklist, finished in any order
  4. 04The invoice locked until both gates pass, and it says why
Whole project · Big idea

The tool tells each person what they need to do next.

One screen · The quote list

Grouped by who acts, so it opens on your own to-do list.

One small part · The next-step cell

What is left, and the button that moves it.

03.2 Outcome and reflection

Half the time to invoice.

Time to invoice · marketing team
Before
Baseline After
−50%
Quoting and invoicing support tickets
Before
Baseline Switch
+17% 2 months
−34%

The tool works because it asks less of people. Nobody retypes a fact, nobody works out tax, and nobody has to ask whose turn it is.

Same company
40% → 28%

Onboarding drop-off on the distributor mobile app after my redesign

−18%

Support requests and errors from distributors

20+

Integrations shipped, with 20% fewer related support tickets

Measured over roughly three months after release.