Loading

Salesforce CPQ Post Install Scripts considerations

Julkaisupäivä: Sep 27, 2025
Kuvaus

When Salesforce CPQ is installed or the package is upgraded, the CPQ package runs “Post Install Scripts” to align CPQ fields with proper values for CPQ functionality introduced that may feed other processes down stream.

NOTE: When executing Post Install Scripts, fields impacted by this action will record the user who initiated the install scripts in Modified By. Details, including the User and Status for these scripts can be found in Apex Jobs.

NOTE: If an organization is on the auto-upgrade program (link to https://help.salesforce.com/s/articleView?id=000319060&type=1) Upgrades will run the Post Install Scripts as a temporary User with the standard System Administrator Profile. Any script updates that invoke a custom or managed Trigger using Apex classes that have sharing enabled make cause a failure. Re-run the scripts as your System Administrator.


CPQ Package Triggers are deactivated while the Post Install Scripts are executed.

NOTE: that Post Install Scripts do not touch non-CPQ fields.

If an organization has process automation (Workflow Rules/Process Builders/Custom Triggers) that fire on record edit or use a CPQ field as criteria to execute, custom automation that runs on record edit may cause conflicts with the post install scripts. This holds true to Apex Triggers from other installed packages running on edit of certain objects that CPQ may be updating.

If another package is causing issues with CPQ Post Install Scripts there should be an option to disable those package triggers to get past any potential conflict.

Custom Validation Rules on the Objects of Records being updated could cause conflict if they meet the criteria for validation/are invalid as well. 

    Ratkaisu

    To check what is causing error go the Installed Package settings under the “Additional Settings” tab and press “Refresh Status”. The error there should point you in the direction of what is causing failure. Alternatively, you can look in setup under “Apex Jobs” and  which batch process failed. The post install scripts include the following batch jobs that run on install, or when pressing "Execute scripts" when you go to Setup > Installed Packages > 'Configure' for the Salesforce CPQ package > 'Additional Settings' tab :

    • InstallProcessorBatchAssetCombineKey - Updates SBQQ__CombineKey__c on Assets to Latest Quote Line Id or Quote Line Id.
    • InstallProcessorBatchQLIPriceBookEntry - Populates a Quote Line's Pricebook Entry ID (SBQQ__PricebookEntryId__c)  with the ID of the Price Book Entry based on the Quote's Price book and Quote Line's Product
    • InstallProcessorBatchLocalizationIndex - Ensures Localization records are up to date and associated with the correct products
    • InstallProcessorBatchOrderItemListPrice - Populates an OrderItem's Quoted List Price (SBQQ__QuotedListPrice__c) with it's associated Quote Line's List Price
    • InstallProcessorBatchOrderItemMultiplier - Populates Order Product's Prorate Multiplier (SBQQ__ProrateMultiplier__c) with its associated Quote Line's Prorate Multiplier
    • InstallProcessorBatchRegularPrice - Populates RegularPrice on Subscriptions where Regular Price (SBQQ__RegularPrice__c) is null and the associated Quote Line's Regular Price is not
    • InstallProcessorBatchRequiredByAsset - Populates RequiredByAsset, RootAsset, and Number on Assets (SBQQ__RequiredByAsset__c, SBQQ__RootAsset__c, SBQQ__Number__c)
    • InstallProcessorBatchThemeGenerator - Creates documents and associates them with the theme they're defining
    • BatchablePluginTranspileUtil - Transpiles the Custom Script's QCP field
    • BatchableDSExclusionGenerator - Adds exclusions to Discount Schedules
    • BatchableConfigAttrReferencedFieldUtil - Created ReferencedFields (Protected SBQQ Custom Setting) based on Configuration attributes targeted fields
    • InstallProcessorQueueable - This is the only Queuable and not Batch job that runs. This creates Calculator Referenced Fields (Protected SBQQ Custom Setting) from fields targeted in Price Rules and Summary Variables for use in calculations (these referenced fields are created automatically when activating a price rule or creating a Summary Variable) - Does not run on initial install of Salesforce CPQ because those records do not exist

    Upon upgrade/fresh install, all of the above batch processes will run in addition to the following:

    • InstallProcessorBatchOIPricingMethod - Updates Pricing Method field (SBQQ__PricingMethod__c) on Order Products to match Quote Line's Pricing Method
    • InstallProcessorBatchOpportunity2 (Only on upgrade from previous versions) - Updates SBQQ__Opportunity2__c on the Quote from the deprecated Master-Detail relationship SBQQ__Opportunity__c
    • InstallProcessorBatchOrderItemBundleRoot - Sets the SBQQ__BundleRoot__c field on OrderItems with the root product in a bundle (from associated Quote Line)
    • InstallProcessorBatchOrderItemFields  - Sets SBQQ__ContractAction__c (based on other data on Order Product records) and SBQQ__RevisedOrderProduct__c (based on Asset/Subscription) on Order Products
    • InstallProcessorBatchQuantityEditable - Sets Quantity Editable (SBQQ__QuantityEditable__c) to true on Products
    • BatchOrderItemAssetContractSubs - Updates Asset, Contract, and Subscription fields on OrderItems if applicable (SBQQ__Asset__c, SBQQ__Contract__c ,SBQQ__Subscription__c)
    Knowledge-artikkelin numero

    000382092

     
    Ladataan
    Salesforce Help | Article