Enable and Configure Orders in Zuora Quotes
Before you start the process of enabling Orders, carefully review the considerations and the process described in the Transition Overview article.
Once you enable the Orders setting in your Zuora tenant, you will not be able to revert back and disable the Orders setting.
Carefully review Limitations before you turn on the Orders setting.
We performed the following tests to validate creating "inflight quotes" with CPQ Sub/Amend and then turning ON Harmonization and turning ON Orders Enabled and Store Existing Products setting in CPQ:
- CPQ version 10.5.2 connected to a Zuora tenant running Sub/Amend with Store Existing Products and Orders Enabled settings disabled.
- Created multiples of the following Quotes but did not Send them to Zuora:
- New Quote for New Billing Account
- New Quote for Existing Billing Account
- Amend Quote with Product Updates and Removes
- Amend Quote with T&C Updates
- Renewal Quote
- Cancel Quote
- Then performed the following:
- Enabled Orders Harmonization in the Zuora Tenant.
- Ran the script to turn ON the Orders Enabled setting in Advanced Quoting Configuration settings.
- Enabled the Store Existing Products setting (as this is required to use Zuora CPQ with Orders).
- We then performed the following updates to some Inflight Quotes and sent them to Zuora:
- Added more products, updated some products, and removed some products.
- Some Quotes of each type were sent to Zuora without being updated.
- Created multiples of the following Quotes but did not Send them to Zuora:
- Zuora team tested creating Amend Quotes with Store Existing Products setting OFF on Sub/Amend > enabling Order Harmonization > switching on Orders Enabled setting in CPQ while leaving Store Existing Products setting OFF.
This was done for testing purposes, it is not recommended to use Zuora CPQ with Orders without the Store Existing Products setting turned on.
- After sending those Inflight Amend Quotes, Zuora received them without any issues.
- As Amend and Renew Quotes both use the Store Existing Products setting, it is also possible for Inflight Renew Quotes to be sent to Zuora after enabling Orders Harmonization and the Orders Enabled setting in CPQ but leaving the Store Existing Products setting off.
- Zuora developed and tested quotes specifically for this purpose, and you should also perform the same tests in your own sandbox environments to ensure expected behavior.
- After enabling Orders Harmonization, it is imperative to re-trigger the Metrics Preview Call to Zuora from CPQ before sending any Inflight Quotes (created with CPQ on Sub/Amend) to Zuora, this will ensure the new Order Metrics are stamps on Objects for the Quote.
-
If no further changes are being made to the Quote, then the easiest way to re-trigger the Preview call is to add the field Is Charge Expired (zqu__Is_Charge_Expired__c) to your New Quote, Amend Quote, Renew Quote, and Cancel Quote on the Quote Detail Page Layouts.
-
You can edit the Is Charge Expired field and mark the box to check it on the Quote Detail page. On saving this change, the metrics call re-triggered. When Preview Metrics is called, the metrics fields in the page will show a loading spinner animation icon.
-
- Following the completion of this process, the quote can be generated as PDFs or sent to Zuora.
If you are using discount charges, the number of quote charge summary records might be more than the Non-order environment when you move from Non-Order to Orders.
Procedure
Take the following steps to configure Zuora Quotes to integrate with Zuora Orders:
- Install and configure the latest version of Zuora Quotes package.
- Contact Zuora to enable Orders in your Zuora tenant. They will then perform the following steps:
- Ensure Orders or Orders Harmonization is enabled in your Zuora Tenant
- Ensure the setting Enable Order for CPQ? setting is set to Yes
- Run the
zqu.RefreshCustomSettingSchedulable.refreshOrdersPermission();
script in your SF org - Ensure the Enable Orders setting under Zuora Config > Advanced Quoting Configuration Settings has been flipped by the script
- Wait for the Orders permission to be enabled in your Salesforce org.
- Alternatively, you can manually enable the permission in Zuora Quotes after the setting is enabled in your Zuora tenant.
- Enable the mandatory Store Existing Product feature by navigating to Zuora Config > Advanced Quoting Configuration Settings and selecting the Store Existing Products check box. See more information in Manage Existing Products on a Subscription.
Store Existing Products must be enabled when using Orders in CPQ. CPQ was designed to use this setting when Orders is enabled, and you need to enable it to avoid errors or timeout.
- In your Zuora tenant, select Enable Subscriptions to be Invoiced Separately? option in the Billing Settings.
Manually Enable Zuora Orders Setting
To use Zuora Orders, the Enable Orders setting must be turned on in Zuora Quotes. The setting is automatically enabled at 0:00AM by the scheduled Apex job RefreshCustomSettingSchedulable on the following day after the corresponding Zuora setting is enabled in your Zuora tenant.
Note that you must manually enable the Enable Orders setting if your Quotes is version 9.8 or later because this scheduled Apex job is deleted when you upgraded to Quotes 9.8 or later. See Review the Scheduled Jobs for Refresh Custom Settings for more information.
To manually enable the Enable Orders setting, first ensure Orders Harmonization has been enabled in your Zuora Tenant. Then check that the Enable Order for CPQ? setting is set to Yes in your Zuora Tenant in Billing Settings > Define Default Subscription and Order Settings. Then perform the following steps:
- In Salesforce, open Developer Console.
- Navigate to Debug > Open Execute Anonymous Window.
- In the Enter Apex Code window, type:
zqu.RefreshCustomSettingSchedulable.refreshOrdersPermission();
- Click Execute.
- Verify that the Enable Orders setting is correctly updated in Advanced Quoting Configuration Settings in the Zuora Config tab.
Your Salesforce org and your Zuora tenant must both be pointing to each other. The refreshOrdersPermission
operation, scheduled or manual, will fail if the Salesforce Credentials configured in your Zuora tenant do not point to the Salesforce org you are using.