Loading
Upcoming Mandatory Changes to Public Key Infrastructure (PKI)Read More
Salesforce Enforces New Security Requirements in Summer 2026Read More
Salesforce Order Management
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          Configure Dynamic Revenue Orchestrator to Pause Status Changes

          Configure Dynamic Revenue Orchestrator to Pause Status Changes

          Coordinate fulfillment between Dynamic Revenue Orchestrator (DRO) and Order Management by configuring pause steps that wait for specific Order Management milestones. For example, pause fulfillment until all ordered items are delivered.

          Before you begin, turn on Dynamic Revenue Orchestrator in your org.

          Map OMS fields to your context definition so Expression Sets can evaluate them when determining whether to release pause steps in orchestration plans.

          1. Extend your context definition to map OMS fields.
            1. In Setup, go to Dynamic Revenue Orchestrator Settings and select the preconfigured context definition.
            2. Add context tags for the OMS fields you want to track.

              Common examples:

              • ItemStartQuantity: Maps to OrderItemSummary.QuantityOrdered
              • ItemEndQuantity: Maps to OrderItemSummary.QuantityDelivered or QuantityShipped
            3. Map these tags to fields on the SalesTransactionItem object.
            4. Save the context definition.
          2. Create a transient attribute for calculations.

            Expression sets require transient attributes to hold temporary calculation values.

            1. In your context definition, add a custom attribute to the same node as your mapped fields.
            2. Set the Display Name and Description to match the attribute name exactly.
            3. Mark the attribute as Transient so that the data doesn’t persist.
            4. Save your changes.
            Important
            Important If Display Name and Description don’t match the attribute name, the ExpressionSet evaluation fails.
          3. Create an expression set for fulfillment conditions.
            1. In Setup, search for Expression Sets and create an expression set.
            2. Select your extended context definition.
            3. Set Usage Type to Fulfillment Condition.
            4. Configure the logic to compare OMS field values.

              Example: Release pause when all items are delivered.

            5. Add a List Group to handle multiple OrderItemSummaries in an OrderSummary.
            6. Calculate the difference between ItemStartQuantity and ItemEndQuantity for each item.
            7. Sum the differences by using the Aggregate List function. If all quantities match, the sum equals 0.
            8. Add a local boolean variable named isExecuteStep with default value False.
            9. Set the condition: If sum equals 0, set isExecuteStep = True.
            10. In the final calculation step, check Include in output for the isExecuteStep variable.
            11. Save the ExpressionSet.
            Important
            Important Set the output variable exactly to isExecuteStep (case sensitive). When True, DRO resumes the step. When False, DRO keeps the step paused.
          4. Configure a pause step in your fulfillment workflow.
            1. In your fulfillment step definition, add a new Pause step.
            2. In the step configuration, select Use ExpressionSet as the condition type.
            3. Select the ExpressionSet you created in Step 3.
            4. Configure how often DRO re-evaluates the condition (polling interval).
            5. Save your fulfillment step definition.

            When an order is submitted, DRO evaluates the expression set at each polling interval. After Order Management updates the OrderItemSummary quantities and the condition returns True, the pause step releases and fulfillment continues.

          Example Use Cases
          Example Use Cases
          Pause Until ExpressionSet Logic
          All items delivered OrderItemSummary.QuantityDelivered = QuantityOrdered
          All items shipped OrderItemSummary.QuantityShipped = QuantityOrdered
          Partial shipment threshold OrderItemSummary.QuantityShipped >= (QuantityOrdered × 0.8)
          Inventory allocated OrderItemSummary.QuantityReserved = QuantityOrdered

          Troubleshooting

          Issue Resolution
          The ExpressionSet shows "Something went wrong." Define isExecuteStep and select Include in output.
          The context tags aren’t available in the ExpressionSet. Confirm the Display Name and Description match the attribute name for transient attributes.
          The pause step never releases. Check that isExecuteStep is a boolean variable and the logic sets it to True when conditions are met.
          A generic evaluation error shows. Turn on DynamicCommonOrchestrator org permission.
           
          Loading
          Salesforce Help | Article