Skip to content

Sales Pipeline

The Sales Pipeline provides a visual Kanban board for tracking opportunities through the sales cycle. It includes pipeline metrics, drag-and-drop stage management, and integration with scoping sessions.

The pipeline displays opportunities organized by stage in a Kanban-style board.

🖥️ Kanban Pipeline Board with All Stages Screenshot

Opportunities progress through defined stages:

StageCodeDescription
LeadnewInitial opportunity, not yet qualified
QualifiedqualifiedClient interest confirmed, requirements understood
ProposalproposalProposal/SOW in development or sent
NegotiationnegotiationActive discussions, terms being finalized
Wonclosed_wonDeal closed successfully
Lostclosed_lostDeal lost or client declined
Lead → Qualified → Proposal → Negotiation → Won
↘ Lost

Opportunities can move forward, backward, or skip stages based on deal progression.

The pipeline header displays key performance indicators:

🖥️ Pipeline Metrics Header Display Screenshot

Sum of estimated values for all open opportunities (Lead through Negotiation stages).

Total revenue from opportunities closed as Won in the current calendar month.

Count and value of opportunities closed as Lost in the current calendar month.

Percentage calculated as:

Win Rate = Won Deals / (Won Deals + Lost Deals) × 100

Metrics update in real-time as opportunities change.

  1. Click New Opportunity button
  2. Complete the opportunity form:
FieldDescription
NameOpportunity name/title
ClientLink to existing client record
StatusInitial stage (defaults to Lead)
FieldDescription
DescriptionDetailed opportunity notes
Estimated BudgetClient’s stated budget
Expected Close DateAnticipated decision date
Deal ValueEstimated contract value
Follow-up DateNext action date

The opportunity modal includes multiple tabs:

Details Tab

  • Name and description
  • Client selection
  • Status/stage selection

Financials Tab

  • Estimated budget
  • Deal value
  • Won value (for closed-won)

Timeline Tab

  • Expected close date
  • Follow-up date
  • Closed date (auto-set)

Outcome Tab (for closed opportunities)

  • Lost reason selection
  • Competitor name
  • Lessons learned
  1. Click on an opportunity card, or
  2. Click the edit icon on the card
  3. Modify fields in the modal
  4. Click Save
  1. Open the opportunity modal
  2. Click Delete
  3. Confirm deletion

Deletion is permanent and removes all opportunity data.

Drag opportunities between columns to change their stage:

  1. Click and hold an opportunity card
  2. Drag to the target stage column
  3. Release to drop

On drop:

  • Status automatically updates
  • Timestamp recorded
  • Metrics refresh

During drag operations:

  • Source card shows drag state
  • Target column highlights
  • Drop zone indicates placement
  • Invalid drops prevented

When moving to closed stages:

Won Stage:

  • closed_at set to current timestamp
  • Won value prompt (if not set)

Lost Stage:

  • closed_at set to current timestamp
  • Lost reason prompt appears

Each opportunity displays as a card in its stage column.

🖥️ Opportunity Card with All Information Elements Screenshot
ElementDescription
Client LogoClient organization logo
Client NameOrganization name
Opportunity NameDeal name/title
Deal ValueFormatted currency amount
Expected CloseTarget date
Stage IndicatorVisual stage badge

Hover over a card to reveal:

  • Edit - Open opportunity modal
  • Quick Move - Move to adjacent stage
  • Delete - Remove opportunity

Cards are styled based on status:

  • Standard cards: Neutral styling
  • Overdue follow-ups: Warning indicator
  • High-value deals: Highlight border
  • Stale opportunities: Dimmed appearance

The search box filters opportunities:

  • Searches opportunity name
  • Searches client name
  • Results filter across all columns
  • Real-time filtering as you type

Click the refresh button to:

  • Reload all opportunity data
  • Update metrics
  • Sync any external changes

Opportunities can link to scoping sessions.

🎨 Scoping Session Integration Flow Illustration
  1. Create or edit opportunity
  2. Select Linked Scoping field
  3. Choose from available scoping sessions
  4. Save opportunity

When linked to a scoping session:

  • Deal value auto-populates from final_price
  • Client syncs from scoping client
  • Status can sync with scoping workflow

Each scoping session generates an opportunity number:

  • Format: OPP-YYYY-NNNN
  • Auto-increments per year
  • Links scoping to opportunity tracking

When opportunities are lost, capture details for analysis.

ReasonDescription
BudgetClient budget constraints
TimingTimeline didn’t align
CompetitionLost to competitor
No DecisionClient chose not to proceed
OtherOther reasons (specify)

If lost to competition:

  • Competitor name field
  • Free-form text entry
  • Enables competitor analysis

Document takeaways:

  • What went well
  • What could improve
  • Client feedback
  • Process improvements

Columns for each stage:

  • Drag-and-drop enabled
  • Cards stack vertically
  • Column totals displayed
  • Scrollable columns

Click any card to view:

  • Full opportunity details
  • Activity history
  • Related scoping session
  • Client information

Regular Review

  • Review pipeline weekly
  • Update stale opportunities
  • Move or close inactive deals

Accurate Values

  • Keep deal values current
  • Update expected close dates
  • Record actual won values

Complete Data

  • Fill all relevant fields
  • Document lost reasons
  • Capture lessons learned

Lead Stage

  • New inquiries and referrals
  • Unqualified contacts
  • Initial outreach

Qualified Stage

  • Budget confirmed
  • Timeline established
  • Decision maker identified

Proposal Stage

  • SOW in development
  • SOW sent for review
  • Awaiting client feedback

Negotiation Stage

  • Terms being discussed
  • Pricing negotiations
  • Contract review

Review closed opportunities:

  • Identify winning patterns
  • Understand loss reasons
  • Track competitor wins
  • Improve sales process
ShortcutAction
NNew opportunity
RRefresh pipeline
/Focus search
EscClose modal
  1. Check user permissions
  2. Verify opportunity isn’t locked
  3. Refresh the page
  4. Check for validation errors
  1. Refresh the pipeline
  2. Check date filters
  3. Verify opportunity values
  4. Clear browser cache
  1. Verify scoping session exists
  2. Check client match
  3. Ensure proper permissions
  4. Try unlinking and relinking
  1. Clear search and retry
  2. Check for special characters
  3. Verify data loaded
  4. Refresh the page