Rollup summaries are a necessity in Salesforce implementations in general, and document generation solutions in particular. Quotes, orders, and invoices are full of Totals, Sub-Totals, and SUMS by product types and categories. There are MAX and MIN end dates for subscription services. Account records require reporting metrics to break down total products, orders, and support ticket cases. MRR and ARR calculations are fundamentally sums of products by type.
Mature Sales Cloud and CPQ solutions ultimately end up deploying 100+ rollup summaries across a variety of Salesforce objects.
Rollup summaries are the go to “secret sauce” solution when creating complex CPQ conditional rules based on prior purchases, terms, and other products in the shopping cart. For example, “IF a Subscription product is being sold for a 2 year term, then add-on product Y shall be discounted at Z%”. The trick in this case is starting with a pre-calculated rollup summary for Total_Multi_Year_Subscription_Products and letting the Flow check if the value is greater than 0.
And utilizing prior purchases in quote flows is a matter of referring to rollups of Assets or Line Items at the Account or Contract level.
The ultimate beneficiary of cross-object rollups are reports and dashboards. The slice-and-dice and pivots possible make every Salesforce Admin look like a business intelligence hero with all the summarization quantities, amounts and discounts. And most importantly, reports and dashboards run 5X faster when using pre-calculated values.
But accomplishing "rollup nirvana" using Salesforce rollup summaries out-of-the box is very limiting. They only work in strict Master-Detail lookup relationships and can only operate on literal fields on child records (no formulas or relationship fields).
Packages like the Nonprofit Success Pack, which are very currency and rollup-driven, built their own customizable rollups module to address this need.
Most Salesforce Admins turn to add-on AppExchange packages to help with rollups, and more recently some Flow hacks have emerged to update rollup summary fields in flows.
Our specific solution required pre-packaging several rollups to be made available out of the box and had to be invoked via flows.
We arrived at the perfect solution by utilizing Salesforce custom metadata types (MDT) to declare, package and deploy rollup summary definitions, and a single Apex action to execute rollup summaries.
The details of the solution can be found here. Our product roadmap and accelerators will now start to include pre-built document templates and rollup summary definitions so Salesforce Admins can instantly deploy complex solutions in only 1-2 hours.
There is no charge for this add-on functionality. It's included in iDialogue versions 1.242 and above.