---
schema_version: "1"
id: 28024d8d54921c29a8eff911163918d8bed270633c7a8d7efec7bf085f297336
title: Enable Versioning in EPC
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/comms_enable_versioning_in_epc.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.comms_enable_versioning_in_epc.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 060edf5ce5e2f102026b0200d66e788dd1e0a575b989cc18ac4827f03f58154a
description: To use the versioning feature in Product Designer and CPQ, you must update the product data and enable the feature.
products:
  - Communications
  - Media
  - Energy and Utilities
release: "264"
---
# Enable Versioning in EPC

To use the versioning feature in Product Designer and CPQ, you must update the product data and enable the feature.

Before You Begin

To use Vlocity Product Designer, you must update existing objects to use only the General Properties facet. See [Upgrade Existing Object Types for use in Product Designer](https://help.salesforce.com/s/articleView?id=ind.comms_manage_existing_object_types_in_product_designer.htm&release=264.0.0&type=5 "If an existing product created in Vlocity Product Console uses facets other than General Properties, you must manually modify the associated object type layout definition to make the product compatible with Vlocity Product Designer.").

This flow chart summarizes the decisions and steps for preparing product data and enabling versioning.

![Flow chart of tasks for enabling versioning in an org and migrating to another org](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-comms_media_energy_managed-264-0-0-production-enus/ff4079f6-a384-475c-b863-578bbbb0ef9b/resources-product/images/epc_enable_versioning_flow.png)

Versioning is supported only in the Vlocity Product Designer and Vlocity Pricing Designer. You can't use it in Vlocity Product Console.

![Warning](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-comms_media_energy_managed-264-0-0-production-enus/ff4079f6-a384-475c-b863-578bbbb0ef9b/images/icon_warning.png)

Warning

You can't reverse the versioning changes to existing product data. These data changes are required to enable and use versioning.

1. Update transactional data if it exists or if you're upgrading.
    
    ![Warning](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-comms_media_energy_managed-264-0-0-production-enus/ff4079f6-a384-475c-b863-578bbbb0ef9b/images/icon_warning.png)
    
    Warning For Product2, object types, and picklists, you must set the Lifecycle Status to Released before enabling versioning. If you don't, the released products aren't displayed in the Cart after you enable the versioning feature. You can't run the Lifecycle Update Status job after versioning is enabled.
    
    1. From the Vlocity CMT Administration app, click **Upgrade Jobs**.
    2. For the Lifecycle Update Status job, select **Product2** from the **Object To Upgrade** list.
    3. Set **Lifecycle Status** to Released.
    4. (optional) To change **Lifecycle Status** to Released for select products, use the **Filter records by** fields.
    5. Click **Start**.
    6. After the job finishes for Product2, repeats steps b-e with **Object Type** selected for **Object To Upgrade** and then with **Picklist** selected.
    7. Run the Populate Reference Time (CatalogItemReferenceDateTime\_\_c) job for existing XLIs.
        
        ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-ind-comms_media_energy_managed-264-0-0-production-enus/ff4079f6-a384-475c-b863-578bbbb0ef9b/images/icon_note.png)
        
        Note
        
        This job doesn't update assets imported from external sources and their asset-based XLIs. You must populate the Reference Time (CatalogItemReferenceDateTime\_\_c) for those imported assets and XLIs. It can't be run after **Versioning** is enabled.
2. From the Vlocity CMT Administration app:
    1. Click **CPQ Configuration Setup**.
    2. For **UseAssetReferenceIdForParentAndRoot**, click the pencil icon, and set it to true.
    3. For **UOWMode**, click the pencil icon, and set it to true.
3. Add the fields Version Label, Effective From, Effective Until, and Lifecycle Status to the page layout.
    1. From the Object Manager settings for vlocity object or object type, go to Page Layouts.
    2. Choose **Vlocity\_EPC\_Object\_Class\_Layout** page layout.
    3. From the **Vlocity\_EPC\_Object\_Class\_Layout**, drag and drop the **Version Label** , **Effective From**, **Effective Until**, and **Lifecycle Status** fields to the Vlocity Object or Object Type Detail section.
4. From the Vlocity CMT Administration app, click **Enable Features** in the Custom Settings column, and for **Versioning**, verify that it's enabled. You can't disable versioning after enabling it.
5. From the Vlocity CMT Administration app, click **Maintenance Jobs**, and run the following jobs in the listed order to update the catalog data.
    
    - Product Hierarchy Maintenance
    - Clear Managed Platform Cache
    - Refresh Platform Cache (Full)
    - Populate API Cache
    
    After you start a job, the status of the job is displayed. You can also view the status of all running jobs in Setup. From Setup, in the Quick Find box, enter Apex Jobs, and then select **Apex Jobs**.
6. To migrate the catalog to production or to a sandbox org, complete these steps:
    1. In the destination org, go to in Vlocity CMT Administration > Upgrade Jobs, and run the Populate Product Hierarchy Group Key Path job.
    2. Run the Populate Reference Time (CatalogItemReferenceDateTime\_\_c) job for assets imported from external sources and those asset-based XLIs.
    3. Before importing products from other orgs, validate their overlapping versioning dates.
    4. Create the GlobalKeysToVersionDates.csv file with the global keys, versioning start dates, and versioning end dates for product versions that will be imported.
    5. In Setup, upload the file to the Static Resource folder.
    6. Run the Pre-Import Validate VersioningDate job.
    7. Repeat steps 2-6 in the destination org.

To add the **Create Version** and **Version History** buttons to the product and picklist pages, see [Configure Product Designer for ​Salesforce Industries Communications, Media, and Energy](https://help.salesforce.com/s/articleView?id=ind.comms_t_configure_vlocity_product_designer_forsalesforce_industries_communicationsmediaandenergy_122260.htm&type=5&language=en_US). You must complete these steps in each org.

## Fix Released Status for Versioning Enablement

If you didn't set **Lifecycle Status** to Released before enabling Versioning, you can't disable Versioning or update **Lifecycle Status** for products, picklists, and objects.

1. Run the following query to check if any product, Vlocity picklist, or Vlocity objects have **Lifecycle Status** to Released.
    
    If the query returns 0, continue with the procedure to correct the versioning if it's enabled. If all products, picklists, and objects are in the Released state, don't continue with the procedure.
    
    ```
    select count(Id) from Product2 where vlocity_cmt__LifecycleStatus__c = 'Released'
    ```
2. From the Vlocity CMT Administration app, click **Enable Features** in the Custom Settings column, and for **Versioning**, verify that it's enabled. You can't disable versioning after enabling it.
3. From the Vlocity CMT Administration app, click **Upgrade Jobs**, and run the Lifecycle Update Status job three times (one time each for products, picklists, and objects) with **Lifecycle Status** set to Released.
    1. For the Lifecycle Update Status job, select **Product2** from the **Object To Upgrade** list.
    2. Set **Lifecycle Status** to Released.
    3. (optional) To change **Lifecycle Status** to Released for select products, use the **Filter records by** fields.
    4. Click **Start**.
    5. After the job finishes for Product2, repeats steps a-d with **Object Type** selected for **Object To Upgrade** and then with **Picklist** selected.
4. Run the query in step 1 to verify **Lifecycle Status** to Released for products, picklist, and object types.
5. From the Vlocity CMT Administration app, click **Enable Features** in the Custom Settings column, and for **Versioning**, verify that it's enabled. You can't disable versioning after enabling it.
6. From the Vlocity CMT Administration app, click **Maintenance Jobs**, and run the following jobs in the listed order to update the catalog data.
    
    - Product Hierarchy Maintenance
    - Clear Managed Platform Cache
    - Refresh Platform Cache (Full)

Versioning is enabled, and products, picklists, and objects have their **Lifecycle Status** fields set to Released.