Upgrade Zuora 360
The article covers all the required upgrade tasks from the earliest supported version of Zuora 360. Even if you are upgrading from a later version of Zuora 360, we recommend that you review all the required tasks and upgrade as it applies to the current state of your Zuora 360 org.
If you do not have Zuora 360 installed, you can contact Zuora Global Support to request an installation link, then perform the standard installation as described in Installing Zuora 360.
Time Required for the Zuora 360 Upgrade
Zuora recommends that you schedule the first full sync to a time that will not affect your business processes. Examples of the configurations that can affect upgrade performance are:
- Object triggers implemented on the most-used objects (Billing Account, Subscription, Subscription Charges, Invoices), especially if the triggers are using complex security sharing logic.
- Cascade deletes of child objects, if you have defined master/detail relationship between these objects and other custom objects.
Prepare to Upgrade Zuora 360
Before you upgrade Zuora 360, determine the Installed Version of Zuora 360 in your org:
- In Salesforce, navigate to Setup > Installed Packages.
- Note the Version Number of the 360 package.
High-level Upgrade Steps
Follow the below steps to upgrade Zuora 360 to the latest version:
- Install the Zuora 360 managed package in Salesforce.
Contact Zuora Global Support for the installation link. See Install the Zuora 360 Package for detailed information. Return to the upgrade steps when the installation completes. - Add the tabs for Zuora 360 to your Salesforce org:
- Schema Setup
- Connection Setup
- Update object permissions to sync users.
If your sync users do not have the System Administrator profile, assign permissions to sync users. - Update field permissions to sync users.
If your sync users do not have the System Administrator profile, assign permissions to sync users. - Assign page layouts to user profiles.
- Update the Invoice page layout.
- Grant access to Apex classes to profiles.
- Review and update your Order Builder code for the date time field type changes and time zone support.
- Update field sets.
- Review and migrate new fields via migration settings.
- Perform a sync of Account & Related Objects.
The remainder of this article describes the above steps in detail.
Assign Page Layouts to User Profiles
Assign the latest page layouts listed in the following table to your sync user profiles.
Object | Page Layout to User |
---|---|
Billing Account (Zuora__CustomerAccount__c) |
Billing Account Z-Force Layout v.2.9 |
Invoice (Zuora__ZInvoice__c) |
ZInvoice Z-Force Layout v2.100 |
Invoice Payment (Zuora__PaymentInvoice__c) |
PaymentInvoice Z-Force Layout v2.5 |
Payment |
Payment Z-Force Layout v2.7 |
Subscription (Zuora__Subscription__c) |
Subscription Z-Force Layout v2.6 |
Subscription Product & Charge (Zuora__SubscriptionProductCharge__c) |
Subscription Charge Z-Force Layout 2.9 |
To assign the page layouts to user profiles:
- Navigate to Setup > Create > Objects.
- Click the object.
- In the Page Layouts section, click Page Layout Assignment.
- Click Edit Assignment.
- Click the profile.
- With the profile, click the Page Layout To Use field, and select the page layout shown in the table above.
- Repeat the Step #6 to assign all applicable user profiles and page layouts.
- Click Save.
Update the Invoice Page Layout
A new menu item was added to allow inline viewing of the invoice PDF. The option is available as a button or a custom link.
To edit the Invoice page layout to add the button or the custom link for Invoice PDF:
- Navigate to Setup > Create > Objects.
- Click Invoice.
- In the Page Layouts section, click the Edit link next to ZInvoice Z-Force Layout v2.100.
- Click Buttons to add the buttons.
- Alternatively, click Custom Links to add the links to view or download invoice PDFs.
- Drag Invoice PDF and View Invoice PDF down to the bottom of the page and drop it into position.
- Click Save.
Grant Access to New Apex Classes
To each applicable user profile, grant access to the Apex classes:
- Navigate to Setup > Manage Users > Profiles.
- Click the profile to whom you want to grant access to.
- On the Profile page, click Apex Class Access.
- Click Edit.
- On the Apex Class Access page, click and add all Apex classes with the namespace "Zuora" from the Available Apex Classes section to the Enabled Apex Classes section.
- Click Save.
DateTime Field Changes and Time Zone Support
A number of dateTime type fields were changed to the Date type in the version 69 of Zuora WSDL. If you have custom code using Order Builder, follow the steps to review and update affected code:
- Review Date Field Changes in the SOAP API for the list of affected fields whose type was changed to Date from dateTime.
- Upgrade your Zuora WSDL version in the API Connection Setting to 69 or higher.
- Upload the version 69 or higer of Zuora WSDL in Schema Setup.
- Update your Order Builder code to reflect the changes.
The following global methods were updated or added to support the changes related to time zone support in Zuora. Review your Order Builder code for the changes and make updates where needed.
Global Method | Version Changed | Change |
---|---|---|
Zuora.zUtil.getZuoraDate | 2.100 | The method now returns a string that includes the Salesforce user's time zone offset. |
Zuora.zUtil.getZuoraDateOnly | 2.100 | The method returns a date only string for the Date type fields in version 69 or higher of Zuora WSDL. |
Grant Permissions on New Custom Objects
To enable access to the new objects added, grant the Read, Create, Edit, and Delete permissions on these objects to the sync user profile.
Additionally, grant the Read and Edit field level permissions on all fields in the new objects to the same sync user profile.
The following new custom objects were added in this and previous versions.
If you are upgrading from a version higher than what is specified in the Added in Version column, you do not need to grant permissions to that object.
Object Name (API Name) |
Added in Version |
---|---|
Refund (Zuora__Refund__c) |
2.7 |
Refund Invoice Payment (Zuora__RefundInvoicePayment__c) |
2.7 |
Subscription Product Feature (Zuora__SubscriptionProductFeature__c) |
2.9 |
Payment Gateway (Zuora__PaymentGateway__c) |
3.0 |
Subscription Rate Plan (Zuora__SubscriptionRatePlan__c) |
3.0 |
Subscription Rate Plan Charge Tier (Zuora__SubscriptionRatePlanChargeTier__c) |
3.0 |
Invoice Item (Zuora__InvoiceItem__c) |
4.0 This feature is in Early Adopters program. You only need to grant permission to this object if the Zuora Tenant setting is enabled. |
To each applicable profile, to grant permissions for the new custom objects:
- Navigate to Setup > Manage Users > Profiles.
- Click the sync user profile to which you want to grant permissions.
- Click Object Settings.
- After reviewing the permissions, if you want to change, click the object.
- On the Profile page, click Edit.
- In the Object Permissions section, select Read, Create, Edit, and Delete.
- In the Field Permission section, select Read and Edit for all the fields.
- Click Save.
- Repeat the Steps #4 - #7 for each new object.
Grant Permissions on New Custom Fields
Grant the Read and Edit permissions to the sync user profile on the following new fields.
If you are upgrading from a version higher than what is specified in the Added in Version column, you do not need to grant permissions to those fields.
Object Name | Field Name |
Added in Version |
---|---|---|
Billing Account |
|
3.0 |
Invoice |
|
3.0 |
Subscription |
|
3.0 |
Subscription Product & Charge |
|
3.0 |
To each applicable profile, grant permissions for all newly added fields:
- Navigate to Setup > Manage Users > Profiles.
- Select the profile to which you want to grant field-level permissions.
- Click Object Settings.
- After reviewing the permissions, if you want to change, click the object.
- Click Edit.
- In the Field Permissions section, select the Read and Edit permissions for each new field.
- Click Save.
- Repeat the Steps #4 - #7 for each object with newly added fields listed in the table above.
Update Field Sets
The following table lists the changes needed in field sets. Review the field sets in your org and make changes as necessary.
Object | Field Set | Changed in Version |
Field Change |
---|---|---|---|
Subscription Product & Charge (Zuora__SubscriptionProductCharge __c) |
SubscriptionCharges | 4.8 |
If you turned on the Get Subscriptions From 360 Zuora Config setting, add the new field to the field set to display the name in the Select Billing Account table in the quoting flow: |
Migrate New Fields via Migration Custom Settings
If you have a big volume of data, syncing all the data for updated objects can potentially take a long time after a package upgrade. You can use the Migration Custom Setting to control the sync of the updated objects.
By default, the Migrated field in the Migration Keys is set to true, and the data for the updated objects are not migrated in the first sync session after the Zuora 360 upgrade. If you want the fields populated in the existing object records, take the below steps to trigger the data migration of the fields in next Zuora 360 sync session.
The following are the migration keys, the Zuora 360 package versions the keys were added, and the fields added or updated.
Added Version |
Migration Key | Object.Field Synchronized |
---|---|---|
4.2 |
PE-501-Charge
|
|
4.2 | PE-520-PaymentMethod |
|
3.44 |
PE_303_SubscriptionProductCharge |
|
3.4 |
PE-81_Subscription |
|
3.3 |
COM11312_BillingAccount |
|
3.2 |
MultiEntity_BillingAccount |
|
3.2 | MultiEntity_Product |
|
3.0 |
CPQ_InvoiceMigration |
|
3.0 |
CPQ_Subscription |
|
3.0 |
CPQ_SubscriptionCharge |
|
3.0 | COM-9137_Quote_Subscription |
|
3.0 | COM-9137_SoldToContact |
|
2.111 |
COM_10097_SubscriptionCharge |
|
2.110 |
COM-8422_InvoiceMigration |
|
2.110 |
COM-8422_PaymentMethod |
|
2.110 |
COM-8422_SubscriptionMigration |
|
2.110 |
COM-8422_RefundMigration |
|
2.110 | COM-8422_PaymentMigration |
|
2.104 |
COM8903_OnlySubUpdate_Subscription |
|
2.104 | COM8903_OnlySubUpdate_Charges |
|
2.80 |
COM618_RateplanId |
|
To trigger the data migration in the next sync session:
- In your Salesforce org, navigate to Setup > Develop > Custom Settings.
- Click Manage for MigrationSettings.
- For each setting you want to migrate, repeat the steps:
- Click the setting key.
- Click Edit.
- Clear the Migrated field.
- Click Save.
To check the status of the migration jobs:
- Navigate to Setup > Jobs > Apex Jobs.
- Check the status of the post-installation job, ChainedJob, in the Apex Jobs table.
- If ChainedJob failed, navigate to Setup > Administration Setup > Monitoring > Debug Logs to see detailed information of the failure or error.
- If you cannot find any useful information under Debug Logs, contact Zuora Global Support for assistance.