Sales data to dashboard

A sales dashboard from the export you already have.

Drop a sales export from any CRM, store or spreadsheet and you get the panels a sales conversation actually needs: revenue over time, win rate, pipeline value by stage, average deal size, performance by owner and a geographic split. The columns are read from your header, so nothing has to be renamed to match a template.

Looking for your own tool by name? The dashboard directory has a page for each export.

Works with any header
No required column names. Roles are detected from what the values look like.
Win rate computed
Won against lost is derived from the stage or status column, not assumed.
Open pipeline separated
Deals still in flight are never mixed into closed revenue.
Private by default
Pipeline data is commercially sensitive. It stays in the tab.

Every CRM exports the same six ideas under different names

Amount, Deal Value, Sold For, Order Total, Opportunity Amount. Stage, Deal Stage, Status, Financial Status. Owner, Deal owner, Opportunity Owner, Assigned To. The vocabulary changes with the vendor but the underlying shape of a sales file almost never does: there is a value, a state, a person, a date and usually a source. That is enough to answer the questions a sales meeting asks.

Which is why this page does not ask you to map your columns to a template. It looks at the values. A column with a small set of repeated words that includes something like won and something like lost is a stage column. A column of currency-looking numbers is a value. A column of dates that mostly sit in the future is a close date rather than a created date. You can override any of those in one click when the guess is wrong, and the guess is visible rather than hidden.

The panels a sales review actually uses

There is a version of a sales dashboard that has forty tiles and gets opened twice. This is the shorter version: the handful of numbers that change what somebody does on Monday.

  • Closed revenue over time, split into won and lost so a bad month is diagnosable rather than just small.
  • Win rate by count and by value, which frequently disagree, and the disagreement is the interesting part.
  • Open pipeline by stage, weighted by probability where the export carries one.
  • Average deal size and the distribution behind it, because one enormous deal hides a lot of small ones.
  • Performance by owner, ranked, with the same panel doubling as a filter on every other chart.
  • Source or channel attribution, where the export has it, against value rather than count.

Where sales exports mislead people

Two mistakes account for most wrong sales dashboards. The first is mixing open and closed deals in one revenue total, which turns hope into reported income. Open deals belong in a pipeline number with a probability attached, never in the same bar as money that arrived. The second is counting rows as deals when the export has one row per line item, which is what most store exports give you. Three products on one order is one sale and three rows, and a naive count says three.

Beyond that, watch out for currency columns on international pipelines, close dates that sit in the past on deals still marked open, and owners who left the company but still hold records. All three show up clearly in the panels here, which is half the reason to build the dashboard in the first place.

Building it from your own export

  1. Export deals, opportunities or orders From HubSpot, Salesforce, Pipedrive, a store platform or a spreadsheet somebody maintains by hand. Any of them work. Include the stage or status column, which is the one most people forget.
  2. Take a full period, not the default Most CRMs default the export filter to a recent window. A quarter or a year makes the trend and the win rate meaningful; two weeks makes them noise.
  3. Drop the file here Nothing is uploaded. The columns are typed on arrival and the detected role of each one is shown in the grid header so you can check the guesses.
  4. Fix any role the detector got wrong Most commonly a probability column read as a metric, or an id column read as a number. One click each, and every panel recomputes.
  5. Filter to the question you came with Click a stage, an owner or a region and the whole dashboard narrows. Export the filtered rows if the answer needs to travel.

Frequently asked questions

Do I need specific column names?

No. There is no required schema and no mapping screen. Column roles are inferred from the values, so a value column called Amount, Deal Value or Sold For is treated the same way. Where the guess is wrong you can change it in the grid header, and the dashboard rebuilds immediately. This is deliberate, because every CRM names things differently.

How is win rate calculated?

From the stage or status column, by finding the values that mean closed won and closed lost and dividing the first by the sum of both. Deals still open are excluded from the denominator rather than counted as losses, which is the honest treatment. You get win rate both by deal count and by value, and the two often differ by a lot if your big deals behave differently from your small ones.

Can I see pipeline separately from closed revenue?

Yes, and they are never combined. Closed revenue is money on deals in a won state. Pipeline is the value of deals still open, shown by stage and weighted by probability when your export carries a probability column. Reporting the two as one number is the single most common way a sales dashboard becomes fiction, so the split is not optional here.

What if my export has one row per product line?

Then counting rows overstates your deal count, and summing an order-level total column double counts revenue. Both problems are visible here: the row count and the distinct order count are shown side by side when the file has an order identifier. Deduplicating on that identifier first, with the cleaner linked below, gives you a deal-level file.

Does it handle multiple currencies?

It shows them rather than silently adding them. When a currency column has more than one value, the dashboard splits totals by currency and flags that a single combined figure would be meaningless. If your CRM exports a converted amount in a company currency, as HubSpot and Salesforce both can, use that column for cross-currency totals and keep the original as a dimension.

Is my pipeline data safe here?

It never leaves the tab. A deals export names your customers, what they are worth and how close they are to signing, which is about as commercially sensitive as internal data gets. The file is parsed locally and the charts are drawn from memory. There is no account, no server side, and nothing persists after you close the page.

See a sales dashboard built from a real CRM export

The sample is 88 deals with stages, owners, amounts, pipelines and close dates, including the open ones that should never be counted as revenue.

Open the sample sales dashboard