Pipewise — product requirements
Pipewise is a sales pipeline CRM. Teams track deals on a six-stage board with weighted totals, work a deal through its detail page, manage accounts and contacts (including duplicate detection and merge), price deals in four currencies and compare closed plus weighted pipeline with quota on a forecast view. The demo clock is pinned to 19 Oct 2026.
Problem. Sales managers need to trust the numbers on screen: what a stage is worth, which deals are late, what each currency converts to and whether the quarter will reach quota.
Users
- Sales manager — See the whole pipeline, move deals between stages and judge forecast against quota.
- Quota-carrying rep — Log activity, keep the next step current and see only what is overdue.
- Sales operations — Keep accounts and contacts clean by merging duplicates.
Goals
- Every column total, weighted total and forecast figure reconciles to the deals behind it.
- A deal closing today is never shown as overdue; one closing yesterday always is.
- Foreign-currency amounts are converted at the published rate, and merges never lose data.
Out of scope
- Email sync
- Import and export
- Role permissions beyond sign-in
Contents
Sign-in and session
Email and password sign-in; sign-out closes the session.
- Both fields empty: "Enter your email and password" and the login form stays
- Wrong password: "Invalid credentials" and no board is shown
- A valid rep account opens the board and the account menu shows the rep name
- Opening the forecast page signed out shows the sign-in form
- Browser Back after sign-out shows no deal data
- Clicking Show reveals the password and the button reads "Hide"
- No text is clipped or overlapping
Pipeline board
Six stage columns with counts, totals and weighted totals; deals move by drag or keyboard.
- Seeded counts: Prospect 5, Qualified 6, Proposal 7, Negotiation 6, Closed won 4, Closed lost 2
- Summary reads "24 open deals · $2,708,184 total · $1,162,131 weighted"
- Prospect $400,806 / $40,081; Qualified $803,620 / $241,086; Proposal $987,418 / $493,709; Negotiation $516,340 / $387,255
- Closed won $182,760 / $182,760; Closed lost $58,380 / $0
- For open stages below 100% the weighted total is lower than the total
- Toast "<deal> moved to <stage>"
- Moving "Wholesale portal" from Prospect to Qualified gives Prospect 4 deals ($359,806 / $35,981) and Qualified 7 deals ($844,620 / $253,386)
- The move is still there after a reload in the same tab
- The card's accessible name ends with "Shift plus arrow keys move between stages."
- Toast "<deal> moved to <stage>" and the target column count increases by one
- Dialog "Mark deal as lost" with a "Lost reason" select
- Confirming without a reason shows "Choose a reason for losing this deal" and the dialog stays open
- Escape or Cancel closes the dialog and leaves the deal where it was
- With a reason chosen the card appears in Closed lost
- Search "Brightloom" leaves two cards
- Owner "Ravi Menon" gives Prospect 1, Qualified 0, Proposal 2, Negotiation 1, Closed won 2, Closed lost 0
- Close 12 Oct shows "7d overdue"; 16 Oct "3d overdue"; 5 Oct "14d overdue"
- Close 19 Oct shows the chip "Due today", a non-red date and no overdue pill
- A EUR card reads "€38,500" with "≈ $41,580"
- No shadows at rest; numbers use tabular digits
Deal detail and editing
Create, read, edit, delete and annotate a deal.
- D-1001 "Warehouse analytics rollout": Amount $84,000, Negotiation (75% probability), Weighted value $63,000, Close date 6 Nov 2026 "On schedule"
- Contacts Hannah Weiss (VP Operations) and Ines Carvalho (Buyer); next step "Send revised MSA to legal"
- Empty activity text shows "Write a short summary of the activity" and adds nothing
- Toast "Activity logged"; new entry is first in the timeline with its type
- Toast "Next step saved"; the card shows the new text after a reload
- "Deal name is required", "Deal name must be at least 3 characters"
- "Amount is required", "Amount must be greater than 0", "Amount must be a positive number" for non-numeric input, "Amount can't exceed 100,000,000"
- "Close date is required", "Close date must be a valid date (YYYY-MM-DD)"
- "Choose an account" when no account is selected
- Escape closes the dialog without creating a deal
- Toast "Deal created" and the new deal's detail page opens
- EUR 20,000 shows "≈ $21,600 at 1.08", Stage Prospect (10% probability), Weighted value $2,160
- Prospect then shows 6 deals, Total $422,406, Weighted $42,241
- Amount 1 is accepted with Weighted value $0
- Setting 2026-10-10 shows "10 Oct 2026" in red with "9d overdue"
- Setting 2026-10-19 shows "On schedule" with no overdue pill
- Timeline top entry "Close date changed from 2026-10-30 to 2026-11-30"
- Dialog "Delete this deal?" warns that activity history will be removed; Cancel keeps the deal
- Confirming shows "Deal deleted" and the board shows 23 open deals
- Reopening the deal shows "Deal not found" with a "Back to pipeline" button
- "Ad ops dashboard" Qualified (30%, $7,200) moved to Proposal shows toast "Moved to Proposal", 50% and $12,000
Currencies
Deals are priced in USD, EUR, GBP or JPY and converted to USD at published rates.
- EUR 38,500 gives "≈ $41,580 at 1.08"
- GBP 22,400 gives "≈ $28,448 at 1.27"
- JPY 8,600,000 gives "≈ $57,620 at 0.0067"
- USD 1, EUR 1.08, GBP 1.27, JPY 0.0067
Accounts
Sortable, searchable, paged list of 30 accounts with a detail page.
- "30 accounts", "Showing 1–10 of 30", "Page 1 of 3"; Previous disabled on page 1, Next disabled on page 3
- Page 1 runs Ashgrove Energy to Granite Peak Outdoors; page 2 starts with Halden Freight; page 3 ends with Vantor Analytics
- Default Account ascending (aria-sort "ascending")
- Open pipeline descending: Meridian Cold Chain $410,000, Copperfield Mining $310,000, Cobalt Harbour Marine $240,000, Kingfisher Aviation Services $205,000
- Open pipeline ascending starts with Fernleaf Organics, shown as "—"
- Owner ascending starts with Cobalt Harbour Marine (Amara Nwosu)
- "logistics" gives 3 accounts: Halden Freight, Harrow Logistics, Meridian Cold Chain
- "zzzz" shows "No accounts match “zzzz”."
- Brightloom Textiles: Open deals 2, Open pipeline $96,000, two deals, contacts Hannah Weiss and Ines Carvalho
- "Account not found" with a "Back to accounts" button
Contacts and duplicates
Possible duplicate pairs are detected and can be merged or dismissed.
- Subtitle "43 contacts · 3 possible duplicate pairs"
- Marcus Doyle "Same email address"; Sofia Lindqvist "Same name at the same account"; Tomás Ribeiro "Same phone number"
- Dialog "Merge contacts" with a "Keep this record" choice; Cancel changes nothing
- Merging Sofia Lindqvist (keeping the record with no phone or title) shows "Merged into Sofia Lindqvist"
- The surviving contact is Head of Retail, +33 1 55 55 01 99; counts become "42 contacts · 2 possible duplicate pairs"
- Toast "Marked as not a duplicate"; pairs drop to 2; all contacts stay at 43
Forecast
Q4 closed won plus weighted pipeline versus quota.
- Closed won $182,760 (18.3% attainment); Weighted pipeline $924,931; Forecast $1,107,691; Forecast vs quota 110.8%
- October closed $182,760, weighted $343,224; November weighted $339,105; December weighted $242,602
- By rep forecasts: Ravi Menon $258,740 (107.8%), Elena Park $255,075 (115.9%), Tobias Grant $220,670 (110.3%), Amara Nwosu $233,582 (129.8%), Lucas Ferreira $139,624 (87.3%)
- October is the tallest bar
- Axis labels are at least 12px and nothing is clipped
Non-functional requirements
- Drawer lists Pipeline, Accounts, Contacts, Forecast and closes after a choice
Glossary and rules
| Weighted total | Sum of amount x stage probability for the deals in a column, in USD. |
|---|---|
| Overdue | Close date strictly before the demo date of 19 Oct 2026. |
| Forecast | Closed won plus weighted pipeline for the quarter. |