Let’s face it, there are certain limitations that Salesforce.com presents and it’s our job to figure out solutions. One limitation is the inability to track field history on Opportunity Products or Opportunity Splits. A specific example is when the sales price on the Opportunity Product changes then updates the Opportunity Amount field. So, while we can track the change of Amount field on the Opportunity, the product that controlled that change is unknown. We have several clients who would like insight to these changes as well as an audit trail of this example, along with other fields.
We’ve recently come up with a solution that solves for this and only takes a couple hours to set-up - without involving apex. To start, create an object related to the Opportunity. I relate it to the Opportunity for a couple reasons but a secondary limitation is the inability to create a lookup field to an Opportunity Product. Then create mirror fields from the Opportunity Product to track. For instance; Total Price, Line Description, Date, etc. Using Flow and Process Builder, automation recognizes a field value has changed and updates its mirror field on a child record. Then leveraging standard field history tracking the child object’s history related list will display changes along with the who and when. Finally, this allows the ability to leverage standard history reports.
Realizing this goes against storage limits and only 20 fields can be tracked this way, it's a simple solution for those who need it.
Feel free to contact us about this solution if your organization could benefit!