Friday, July 19, 2013

Salesforce Opportunity History (Stage History)

If we enable History tracking for an object in Salesforce, Salesforce will automatically create a new object with API name suffix History, example: AccountHistory, ContactHistory, Custom_Object__History. But, it is different for Opportunity, the object API is called OpportunityFieldHistory, please not to confuse with OpportunityHistory.

So what is Opportunity History?
The Opportunity History or Stage History tracks the changes in opportunity based fields below. Anytime you change those fields, a new entry is added to the list with the user who made the change and the time stamp, and it also records the value of the fields after changed:
  • Stage
  • Amount
  • Probability (%)
  • Close Date 

You can find this values in:

1. Opportunity page layout
In Opportunity page layout, find the related list called Stage History. This related list is not customize-able.

2. Report
In the report, you can create a report with report type = Opportunity History

In the screenshot below, you will see the changes with Last Modified is the date change happened and the user who change in Last Modified By

You also can filter the report to show only when Stage is changed or filter with Forecast Changed From/To values, see this screenshot:

3. API
The API object name is OpportunityHistory, you can query this object, but not update, delete or create manually.


  1. Very good instructions here to generate this opportunity history report.

  2. Thank you, is there a way to see the dates specific changes were made to the opportunity stage?

    1. assume the date field is track, use OpportunityFieldHistory

  3. What filter do we select if we need to create a report showing the stage an opportunity was in before it was changed to closed lost? Is it filtered by: 'To stage' equals 'closed lost'


Page-level ad