Loading
Salesforce Enforces New Security Requirements in Summer 2026Read More
Get Started with Communications, Media, and Energy & Utilities (CME)...
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
          RepricingInterface

          RepricingInterface

          This service can reprice several object types related to Orders, Quotes, and Opportunities.

          Note
          Note

          The out-of-the-box RepricingElementServiceImplementation bypasses the full pricing plan, such as Attribute-Based Pricing and other custom pricing plan steps. However, while it executes the default pricing logic, ApplyContextDiscounts, ApplyOfferAdjustments, and ApplyPromotionAdjustments work only if they’re activated in the pricing plan definition.

          Support Attribute-Based Pricing or custom pricing steps with a custom Repricing interface implementation.

          • Order

          • Quote

          • Opportunity

          • Account

          • Order item

          • Quote line item

          • Opportunity line item

          • Promotions applied

          • Offer adjustments

          Type

          Strongly typed

          Triggered When

          Triggered by a schedule that you define.

          Called In

          Not applicable

          Signature

          Access

          Signature

          global

          void repriceLineItems(Map<String,Object> input, Map<String,Object> output);

          Default Implementation

          DefaultRepricingImplementationDefaultRepricingImplementation

          Other Implementations

          RepricingElementServiceImplementationRepricingElementServiceImplementation

          Input Parameters

          objectList

          Type: List<SObject>

          (Required) List of sObjects to be repriced.

          repriceProvidedLineItemsOnly

          Type: Boolean

          (Optional) Set to true if you want only line items to be repriced.

          Output Parameters

          No data returned in output object

          Sample Implementations

          Reprice all orders using a batch job.

          RepricingBatchProcessor repricingBatchJob = new RepricingBatchProcessor(Order);		      
          ID batchprocessid = Database.executeBatch(repricingBatchJob,1);
          

          Reprice all accounts using a batch job.

          RepricingBatchProcessor repricingBatchJob = new RepricingBatchProcessor('Account');               			           
          ID batchprocessid = Database.executeBatch(repricingBatchJob,1);
          

          Using the API, reprice a particular order, quote, or opportunity (you must specify the ID).

          List<Order/Quote/Opportunity> a = SELECT Id FROM Order/Quote/Opportunity WHERE Id='0011I00000DBYUK';
          Map<String,Object> repricingInput = new Map<String,Object>{'objectList' => a};
          Map<String,Object> repricingOutput = new Map<String,Object>();
          Map<String,Object> repricingOptions = new Map<String,Object>();
          VOIInvoker voi = VOIInvoker.getInstance();
          voi.invoke('Repricing', 'repriceLineItems', repricingInput, repricingOutput, repricingOptions);

          Using the API, reprice a specified order item, quote line item, or opportunity line item ID.

          List<OrderItem/OpportunityLineItem/QuoteLineItem> a = [SELECT Id,RootItemId__c From OrderItem/OpportunityLineItem/QuoteLineItem WHERE Id='8021I000001rzmlQAA'];
          Map<String,Object> repricingInput = new Map<String,Object>{'objectList' => a};
          repricingInput.put('repriceProvidedLineItemsOnly';, true);// mark it false , if the whole bundle associated with this ItemId needs to get repriced or it will reprice only the specified itemId
          Map<String,Object> repricingOutput = new Map<String,Object>();
          Map<String,Object> repricingOptions = new Map<String,Object>();
          VOIInvoker voi = VOIInvoker.getInstance();
          voi.invoke('Repricing', 'repriceLineItems', repricingInput, repricingOutput, repricingOptions);

          Using the API, reprice a specified asset.

          List<Asset> a = [SELECT Id,RootItemId__c From Asset WHERE Id='8021I000001rzmlQAA'];
          Map<String,Object> repricingInput = new Map<String,Object>{'objectList' => a};
          repricingInput.put('repriceProvidedLineItemsOnly', true);// mark it false , if the whole bundle associated with this ItemId needs to get repriced, or it will reprice only the specified itemId
          Map<String,Object> repricingOutput = new Map<String,Object>();
          Map<String,Object> repricingOptions = new Map<String,Object>();
          VOIInvoker voi = VOIInvoker.getInstance();
          voi.invoke('Repricing', 'repriceLineItems', repricingInput, repricingOutput, repricingOptions);	

          Using the API, reprice a specified account.

          List<Account> a = SELECT Id FROM Account WHERE Id='0011I00000DBYUK';
          Map<String,Object> repricingInput = new Map<String,Object>{'objectList' => a};
          Map<String,Object> repricingOutput = new Map<String,Object>();
          Map<String,Object> repricingOptions = new Map<String,Object>();
          VOIInvoker voi = VOIInvoker.getInstance();
          voi.invoke('Repricing', 'repriceLineItems', repricingInput, repricingOutput, repricingOptions);
           
          Loading
          Salesforce Help | Article