Salesforce report to dashboard
Your Salesforce opportunity report, without the double counting.
Run an opportunity report in Salesforce, export it as CSV, and drop it here. Dates are parsed against the running user's locale rather than assumed to be American, Expected Revenue is kept out of any total that already includes Amount, and Stage and Forecast Category are treated as two related but distinct dimensions instead of being mashed into one funnel.
Prefer the full explorer? Open the app, or start from the generic dashboard builder.
Expected Revenue is already Amount, multiplied
Salesforce computes Expected Revenue as Amount times Probability. It is a derived column, not a second pot of money, and putting it in the same summary as Amount is the single most common way an opportunity report ends up overstating the pipeline. A 100,000 deal at 60 percent shows 100,000 in one column and 60,000 in the other, and a dashboard that adds both reports 160,000 of something that does not exist. This page treats Expected Revenue as a weighted view of Amount and never lets the two share a total.
The other recurring headache is dates. Salesforce formats dates in the locale of the user who ran the report, so 04/09/2026 is the fourth of September for a report run in London and the ninth of April for the same report run in Chicago. Nothing in the file tells you which. The parser here checks the whole column for a value above twelve in the first position before it commits, which resolves almost every real export, and it says which reading it chose.
How to export from Salesforce
- Build or open an opportunity report Go to the Reports tab and use an opportunity report type. A tabular report exports most cleanly, since summary and matrix formats add subtotal rows that you then have to strip out.
- Add the columns you need Amount, Probability, Close Date, Stage, Forecast Category, Lead Source and Type at minimum. Remove grouping and any row-level formulas, which do not survive the export in a useful shape.
- Widen the date filter Report filters default to a narrow range such as the current fiscal quarter. Set it to something long enough to see a trend, and check the standard filter for open against closed while you are in there.
- Export as details only Use Export, then choose Details Only and the CSV format rather than Formatted Report. Formatted exports carry the report header, groupings and subtotals, which is exactly what you do not want in a data file.
- Drop the CSV here Stage becomes the funnel, Opportunity Owner becomes a leaderboard, and the weighted pipeline is computed from Amount and Probability rather than trusted blindly.
The interface export is capped at 2000 rows for many report types. A scheduled or emailed report allows far more, so if your pipeline is larger than that, schedule the report and use the emailed file rather than wondering why the numbers are short.
Try with sample Salesforce data (the same columns, 84 rows, no upload needed).
What the dashboard shows
Every panel below is built from a column that is actually in the export, named the way Salesforce names it.
- Pipeline by stage. Stage in its defined order with count and Amount side by side, which is where a stalled stage becomes visible.
- Weighted against unweighted. Amount and Expected Revenue as two separate lines, so the gap shows how much of the pipeline is hope.
- Closing by month. Close Date as the axis after the locale question is settled, split by whether the opportunity is open, won or lost.
- Owner performance. Opportunity Owner by won amount and by win rate, which frequently rank people in opposite orders.
- Lead Source contribution. Won revenue by source, the column that tells marketing whether the last quarter of spend did anything.
- Forecast Category mix. Pipeline, Best Case, Commit and Closed as a share, which is the view a sales leader reads before a forecast call.
Opportunity ID,Opportunity Name,Account Name,Stage,Amount,Probability (%),Expected Revenue,Close Date,Created Date,Type,Lead Source,Opportunity Owner,Forecast Category
Salesforce export behavior worth knowing
- Dates follow the running user's locale. The same report exported by a colleague in another country produces a different date format with no marker in the file. Ambiguous days below thirteen silently flip.
- Expected Revenue is derived. It is Amount times Probability. Summing it beside Amount counts the same money twice, once whole and once weighted.
- Stage and Forecast Category are not the same. Category is a rollup a rep can override, so a late-stage opportunity can sit in Best Case rather than Commit. Reading one as a proxy for the other is a forecasting error.
- The interface export stops at 2000 rows. It does so without an error, giving you a file that looks complete. Scheduled reports carry a much higher limit, which is the workaround.
- Formatted exports include report furniture. Choose Details Only. The formatted option writes the report name, filter summary, group headers and grand totals into the CSV as if they were data.
- Probability is a percent as a number. The header says percent, the value is 60 rather than 0.6. Multiply Amount by Probability over 100, or your weighted pipeline is sixty times too large.
Export details only, settle the date format before you chart anything, and keep Expected Revenue in its own panel. Get those right and a Salesforce opportunity report is one of the more trustworthy files in this whole list.
Frequently asked questions
Why are my Salesforce dates wrong by a few months?
Salesforce formats dates using the locale of the user who ran the report, so a European export writes day first and an American one writes month first, with nothing in the file to distinguish them. Any day below thirteen reads as valid under both interpretations, so the error only shows up in a scattered way. This page scans the full column for a value above twelve before choosing a reading.
Should I use Amount or Expected Revenue?
Amount for anything real and Expected Revenue for a probability-weighted view, never both in the same total. Expected Revenue is simply Amount multiplied by Probability, so it is a lens on the same money rather than additional money. Showing them as two lines makes the weighting visible, which is far more useful than a single blended figure nobody can decompose.
Why does my export stop at 2000 rows?
That is the row cap on many report exports run from the interface, and Salesforce applies it without an obvious warning, so the file looks complete. A scheduled report delivered by email runs against a much higher limit. If your pipeline is larger, schedule the report or split it by fiscal quarter and merge the resulting files before loading them here.
What is the difference between Stage and Forecast Category?
Stage describes where the deal is in the sales process. Forecast Category describes how much a leader should believe in it, and it can be set independently of the stage. A deal in Negotiation might sit in Best Case rather than Commit because the rep is not confident. Treating them as one dimension hides exactly the disagreement a forecast review exists to surface.
How is Probability stored in the export?
As a whole number matching the percent shown in the interface, so 60 rather than 0.6, and the header names it as a percent. Anyone recomputing a weighted pipeline needs to divide by a hundred first. Salesforce sets a default probability per stage, and reps can override it, so it is not always inferable from the stage alone.
Is my opportunity data uploaded?
No. Parsing runs in your browser and the charts are built from memory. An opportunity export lists your accounts, your deal sizes and who owns them, which makes it about the most commercially sensitive file a company produces. There is no server component to this page, so there is nowhere for it to go even if something wanted to send it.
Related tools
Load a Salesforce pipeline and see it weighted honestly
84 opportunities across a fiscal year with locale-formatted dates, probabilities per stage, and Expected Revenue sitting right next to Amount waiting to be double counted.
Open the sample Salesforce dashboard