17

Nov

What is a Procedure Plan

A Procedure Plan in Salesforce Revenue Cloud controls how and when procedures run, allowing you to sequence and branch pricing logic across transaction types. It doesn’t contain the pricing logic itself; instead, it organizes and manages the order in which that logic executes.

How It Works

A Procedure Plan can call one or more procedures (for example, New Sale, Amendment, Renewal, Cancellation) and apply conditions, branching, and execution order.

When pricing logic becomes complex, it’s often helpful to split it across multiple dedicated procedures e.g. one for each transaction type such as New Sale, Amendment, Renewal, and Cancellation, followed by a final Pricing Summary procedure that consolidates totals.

This approach makes each procedure easier to maintain and helps prevent reaching the element limit within a single pricing procedure.

The split depends entirely on business needs. Smaller implementations may only need a few procedures, or even one if their logic is simple. If you only ever require a single procedure, a Procedure Plan might not be needed because it exists to coordinate multiple procedures, not to replace one. You can also add Apex hooks before or after the Pricing Procedures to run custom logic as part of the pricing process, for example for data transformations or integration updates.

Configuring Revenue Settings for Procedure Plans

Go to Setup → Revenue Settings and enable the following options: "Procedure Plan Orchestration for Pricing," and “Exclude Default and Sales Transaction Type Pricing Procedures.” With these settings on, Salesforce calculates pricing using Procedure Plans and ignores the default procedure, instead using the procedures specified in your Procedure Plan.

Creating a Procedure Plan

In Setup → Procedure Plan Definitions, click New to create a plan. Select the relevant Context Definition and Read/Save Context Mapping for your object (for example, QuoteEntitiesMapping). This determines what data the plan reads from and writes back to during execution.

A Procedure Plan is divided into sections, and each section can contain one or more procedures.

Example structure:

Section 1: Includes all transaction-type-specific procedures — New Sale, Amendment, Renewal, and Cancellation. Each of these runs only when its criteria match (for example, when SalesTransaction.OriginalActionType equals Renewal).

Section 2: Contains a single Pricing Summary procedure that always runs at the end. This step aggregates totals and adjustments and is shared across all transaction types.

Visually, you can think of it as a simple two-layer flow:

This structure keeps transaction-specific logic separate from shared logic. It also ensures that the final Pricing Summary always runs, regardless of which transaction type triggered the calculation.

Resolution Type defines how the plan evaluates and executes procedures:

  • Rule-based – evaluates all criteria and priorities.
  • Default – executes unconditionally. Use this for steps like Pricing Summary, which should always run.

Why It Matters

This structure keeps pricing behavior predictable, simplifies troubleshooting, and gives solution architects full control over how and when pricing logic is executed across all transaction types.

Reach out to Milo Massimo for expert help with your Revenue Cloud Implementation