How to rebuild Pipedrive reports in Attio
Short answer: Pipedrive reports do not move to Attio one to one. Three of the five most common reports (time in stage, weighted pipeline, conversion rate) rebuild cleanly on the Deals object. The other two, monthly weighted forecast and monthly booked revenue, need a custom Milestones object because Attio does not split a single deal value across months the way Pipedrive does. Add that one object, add a derived status formula, and the full Pipedrive reporting layer comes across.
When a team migrates from Pipedrive to Attio, the data move takes hours. The model rebuild takes a week. The reports take longer than both, because Attio's report builder thinks differently and the first instinct (port the reports as they are) almost never works.
We ran this exact migration for a recent customer. Five Pipedrive reports, all of them load-bearing for forecasting. This is what we shipped, what broke on the first attempt, and what the final mapping looks like.
If you want the migration itself, that lives in the Pipedrive to Attio migration guide. This post is what to do once the data is across and the team starts asking where their reports are.
Why the reports do not migrate one to one
Pipedrive's reporting is mature and opinionated. Attio's is newer, more flexible, and less opinionated.
Three concrete differences matter for switchers.
Attio does not split a deal value across months. In Pipedrive, a deal worth $120K closing in March can be reported as $10K of monthly recurring revenue each month for a year. Attio's Deals object carries one value per deal. The monthly view that Pipedrive gives for free is something you have to model.
Attio's report builder does not have a Performance type. Pipedrive's Performance report (a stacked bar that shows pipeline health by month, segmented by status) is the most-used report in many Pipedrive accounts. Attio's report builder has bar charts and scorecards. The same shape rebuilds, but the path is different.
Attio's Funnel only does stage to stage. Pipedrive's conversion rate report computes won over (won plus lost) for a time window. Attio's Funnel report does not. You build conversion rate from two scorecards and a ratio, or with a derived status attribute.
None of these are limitations the team has to work around forever. They are differences in the model. Once the model accommodates them, the reports work.
The one data model change that unlocks the monthly reports
Add a custom object called Milestones. This is the single change that makes the monthly forecast and booked revenue reports possible.
A Milestone is one row per (deal, month). It holds the actual revenue the deal recognizes in that month, not a flat split. For a 12-month contract that ramps up, the milestones can be $2K in month one, $5K in month two, $10K from month three onward. The Milestone object is the level of granularity Attio's report builder groups by.
The Milestones object needs four attributes:
milestone_date(date). First of the month, e.g. 2026-04-01.milestone_amount(currency). The actual revenue recognized that month.deal(record reference to Deals). The parent deal.weighted_amount(currency). Calculated asmilestone_amount × deal.close_probability. An Attio workflow recomputes this when the parent deal's close probability changes.
Sarah, the operator at the customer, enters milestones manually for active deals during the migration. After go-live, an automation creates a default 12-month flat split when a deal moves into the proposal stage, and she edits the split if the contract ramps. Manual entry is fine. The reports that come out of it are worth the five minutes per deal.
Add this object before you start building the reports. The reports that depend on it (monthly forecast, monthly booked revenue) cannot be built without it.
The five reports, mapped
1. Time in stage (won deals only)
The Pipedrive report: how long, on average, do won deals spend in each stage of the pipeline.
The Attio rebuild:
- Report type: Pipeline → Time in Stage.
- Source: Deals.
- Filter: stage equals Closed Won.
- Measure: average duration in days.
- View by: stage entered.
This one maps cleanly. Attio's Pipeline report is built for exactly this question and it is the easiest of the five.
2. Monthly weighted forecast (stacked bar by status)
The Pipedrive report: monthly bar chart of weighted pipeline revenue across the year, with each bar segmented by deal status (Won vs Open).
The Attio rebuild:
- Report type: Reports builder, stacked bar chart.
- Source: Milestones, not Deals.
- Filters:
milestone_datebetween Jan 1 and Dec 31 of the forecast year; parent deal stage is anything except Closed Lost. - Measure: sum of
weighted_amount. - View by:
milestone_date, monthly. - Segment by: a derived
statusformula on the deal (Won / Open).
This is the report that justified the Milestones object. Without milestones, every deal lands in the month it closes and the bar chart is a single spike. With milestones, the chart looks the way the team is used to: revenue distributed across the year.
3. Conversion rate, trailing 90 days
The Pipedrive report: percent of closed deals in the last 90 days that were won, with a target line at 80%.
The Attio rebuild:
- Report type: two scorecards plus a ratio.
- Source: Deals.
- Scorecard A (numerator): count where
closed_datein the past 3 months and stage equals Closed Won. - Scorecard B (denominator): count where
closed_datein the past 3 months and stage is Closed Won or Closed Lost. - Display: A divided by B as a percent.
The cleaner version: add a derived status formula attribute (Won / Lost / Open) to Deals and build a single scorecard that filters status in [Won, Lost] and counts the Won ones. Either way, Attio's Funnel report is the wrong tool here and trying to force it wastes a morning.
4. Weighted pipeline value (scorecard)
The Pipedrive report: total weighted value of every open deal across the active pipelines. One number.
The Attio rebuild:
- Report type: Reports builder, scorecard.
- Source: Deals.
- Filters: pipeline is in your active pipelines; stage is any open stage (not Closed Won, not Closed Lost).
- Measure: weighted value. Attio computes
estimated_deal_value × close_probabilitynatively.
The prerequisite that catches teams off guard: every open deal needs close_probability set. If a deal has no probability, Attio treats it as zero and the report undercounts. Before this report goes live, run a one-time filter on open deals where probability is empty, and backfill them.
5. Booked revenue forecast (monthly bar, won and committed only)
The Pipedrive report: monthly bar chart of revenue from deals that are won or in late-stage commitment (signed contract, active, renewal ready). This is the forecast the finance team trusts.
The Attio rebuild:
- Report type: Reports builder, bar chart.
- Source: Milestones, not Deals.
- Filters:
milestone_datebetween Jan 1 and Dec 31; parent deal stage is in your "committed" set (e.g. Contract Agreed, Active, Renewal Ready, Closed Won). - Measure: sum of
milestone_amount. Not weighted, because these are committed.
This is the second report that needs Milestones. Same mechanism as report 2, different filter and an unweighted measure.
The setup order that saves the most time
If you build the five reports in the wrong order, half of them fail and you spend a day debugging filters that depend on attributes you have not added yet. The order that works:
- Add the derived
statusformula attribute to Deals (Won / Lost / Open). This unlocks the segment in report 2, simplifies report 3, and makes every "open deals" filter shorter to write. - Create the Milestones custom object with the four attributes above.
- Build the automation: when
close_probabilitychanges on a Deal, recomputeweighted_amounton every linked Milestone. - Backfill milestones for every existing open deal. Manual entry is fine.
- Backfill
close_probabilityon every open deal that does not have one. - Build the reports in numerical order. Time in stage first (it is the easiest, and it confirms the Deals object is healthy). Then weighted pipeline value. Then the two milestone-based reports. Conversion rate last, because it is the most opinionated and you want the status attribute settled by the time you write the filter.
The Milestones object and the backfill are the only steps that take real human time. Everything else is configuration and an hour of clicking.
The honest fallback
Attio's report builder is materially less mature than Pipedrive's. For most teams, the five reports above are enough and they cover the questions the team actually asks every week. For teams that need slicing across more than three dimensions, or want a report that the builder genuinely cannot express, there is a fallback worth knowing.
We ship a Claude Code skill with every Attio implementation that runs as a scheduled agent, reads the workspace through the Attio API, and produces reports as Markdown or HTML. Monthly cadence by default. It is free and it runs on Claude Code without a server. For the customer we built this for, two of the five reports fell back to the skill at first because the report builder's monthly grouping had a bug at the time. The skill produced the same numbers, the team used the skill output for their finance review, and once Attio fixed the builder the reports moved back into the native UI.
The point is that there is a path even when the report builder cannot do the thing yet. The question to ask before falling back is whether the report needs to be live in the UI for the team, or whether a monthly digest is enough.
What this looks like at the end
A team that ships this end to end has:
- The native Deals object plus one new Milestones object.
- One derived
statusformula attribute on Deals. - One automation that keeps weighted amounts in sync.
- Five native Attio reports covering the same questions Pipedrive answered.
- A scheduled agent that can produce any report the builder cannot, as a Markdown digest in Slack or email.
The reporting feels different in Attio. It is not worse, but it is not Pipedrive. Teams that lean into the model (milestones, status formulas, one automation) end up with a reporting layer that is more honest about how the business actually recognizes revenue. Teams that try to force the Pipedrive shape onto Attio end up frustrated.
Want a second pair of eyes on your reports?
We run a free 48-hour Attio workspace audit. You add us as an Attio expert (no extra seat, no billing). We send back a one-page written teardown ranked by impact, the three highest-leverage fixes with the exact setting change, and a 5-minute Loom walking through the top fix. If your Pipedrive-to-Attio migration is in flight and the reports are the part you are worried about, this is exactly what the audit is for. No call, no pitch. Five slots a week.
Need help with your Attio setup?
We migrate teams, build data models, wire automations, and train Claude agents inside your workspace. Discovery call is free.
Book a free discovery callReady when you are.
Two ways in. Pick the friction that fits.