Skip to content
Report · CRM

Opportunity pipeline by stage

Open opportunities by sales stage, with count, projected and weighted value, and the next expected close.

  • pipeline
  • forecast
  • drill-through
Sample preview, fictional dataYour own figures appear after import.

01

About this report

Opportunities that are In Progress or have an estimate issued, grouped by stage. Each row gives the count, projected total, probability-weighted total, average probability and the earliest expected close date. Values are in base currency at each opportunity's exchange rate.

Click Opportunities to open Open opportunities filtered to that stage.

02

Sample preview

Fictional figures in the shape you will see. Yours come from your account.

StageOpportunitiesProjectedWeightedAverage probabilityNext expected close
Qualified14412,00082,4000.202026-10-03
In Discussion9288,500115,4000.402026-09-30
Proposal6196,000117,6000.602026-09-26
Negotiation3121,30097,0400.802026-09-29

03

The SuiteQL

This is the query each report runs. Read it, copy it, or change it after import.

Opportunity pipeline by stage
SELECT NVL(BUILTIN.DF(t.entitystatus), '(no stage)') AS stage,
       COUNT(*) AS opportunities,
       SUM(t.projectedtotal * t.exchangerate) AS projected,
       SUM(t.weightedtotal * t.exchangerate) AS weighted,
       AVG(t.probability) AS avg_probability,
       TO_CHAR(MIN(t.expectedclosedate), 'YYYY-MM-DD') AS next_close
  FROM transaction t
 WHERE t.type = 'Opprtnty'
   AND t.status IN ('Opprtnty:A', 'Opprtnty:B', 'A', 'B')
 GROUP BY NVL(BUILTIN.DF(t.entitystatus), '(no stage)')
 ORDER BY avg_probability, stage
Open opportunities
SELECT t.id AS opportunity__id,
       t.tranid AS opportunity,
       t.title AS title,
       NVL(e.altname, e.entityid) AS customer,
       NVL(BUILTIN.DF(t.entitystatus), '(no stage)') AS stage,
       BUILTIN.DF(t.employee) AS sales_rep,
       TO_CHAR(t.expectedclosedate, 'YYYY-MM-DD') AS expected_close,
       TRUNC(SYSDATE) - TRUNC(t.trandate) AS days_open,
       t.probability AS probability,
       t.projectedtotal * t.exchangerate AS projected,
       t.weightedtotal * t.exchangerate AS weighted
  FROM transaction t
  JOIN entity e ON e.id = t.entity
 WHERE t.type = 'Opprtnty'
   AND t.status IN ('Opprtnty:A', 'Opprtnty:B', 'A', 'B')
 ORDER BY t.expectedclosedate

04

Appears in

ReportCRM

Opportunity pipeline by stage

Screenshot of the Opportunity pipeline by stage report in HiScale Advanced Reports, filled with fictional sample data
Sample preview, fictional dataOpen image full size (opens in a new tab)