Start a conversation

End of Life Process for Add-Ons and Related Products

Problem

Your organization needs to discontinue an add-on or related product and ensure it is:
- No longer available for selection in new orders or quotes
- Removed from existing active subscriptions or services

Without a proper end-of-life (EOL) process, discontinued products may continue to appear in product catalogs, be accidentally added to new orders, or remain active on customer subscriptions long after they should have been retired.

Root Cause

CloudSense does not automatically remove or hide products when they are no longer offered. Products remain available in the catalog and on existing subscriptions unless explicitly end-dated or removed through a structured process.

This requires manual intervention to:
- Mark products as unavailable for new selections
- Clean up existing subscriptions that include the discontinued product
- Maintain data integrity across CloudSense and downstream systems

Resolution

Part 1: Discontinue Add-Ons for New Orders

To prevent the add-on from being selected in new orders or quotes, you must set an End Date on the add-on records and their associations.

Step 1: End-Date the Add-On Product Definition

  1. Navigate to Setup > Object Manager > Product Definition
  2. Search for the add-on product definition that needs to be discontinued
  3. Open the product definition record
  4. Locate the End Date field (API name: cscfga__End_Date__c)
  5. Set the End Date to today's date or the date when the product should no longer be available
  6. Click Save

Step 2: End-Date Add-On Associations

Add-on associations link the add-on to parent products. These must also be end-dated:

  1. Navigate to Setup > Developer Console
  2. Click Query Editor
  3. Run the following SOQL query to find all add-on associations for the product:
    sql SELECT Id, Name, cscfga__Add_On_Price_Item__r.Name, cscfga__End_Date__c FROM cscfga__Add_On_Association__c WHERE cscfga__Add_On_Price_Item__r.Name = '[Add-On Name]' AND (cscfga__End_Date__c = null OR cscfga__End_Date__c > TODAY)

  4. Note the IDs of the associations that need to be updated

  5. Navigate to Setup > Data Loader
  6. Select Update
  7. Export the add-on association records
  8. In the CSV file, set the cscfga__End_Date__c field to today's date for all records
  9. Save the CSV file
  10. Use Data Loader to update the records

Alternative Method (for small numbers of records):
1. Navigate to each add-on association record directly
2. Click Edit
3. Set the End Date field to today's date
4. Click Save

Step 3: Verify the Add-On is No Longer Selectable

  1. Open the Solution Console
  2. Create a new basket or open an existing draft basket
  3. Add a product that previously had the discontinued add-on available
  4. Verify the add-on no longer appears in the available add-ons list
  5. If the add-on still appears, verify the End Date is set correctly on both the product definition and all associations

Part 2: Remove Add-Ons from Existing Subscriptions/Services

For subscriptions or services that already include the discontinued add-on, choose the appropriate removal method based on your downstream system requirements.

Option A: Direct Salesforce Data Update (No Downstream Updates Needed)

If billing, provisioning, or other downstream systems do not need to be notified of the removal:

  1. Navigate to Setup > Developer Console
  2. Click Query Editor
  3. Run the following SOQL query to find active services with the discontinued add-on:
    sql SELECT Id, Name, csord__Status__c FROM csord__Service__c WHERE Name = '[Add-On Name]' AND csord__Status__c = 'Active'

  4. Note the service IDs

  5. Open the Execute Anonymous window
  6. Run the following Apex code to mark services as Cancelled:
    ```apex
    List services = [
    SELECT Id, csord__Status__c
    FROM csord__Service__c
    WHERE Name = '[Add-On Name]'
    AND csord__Status__c = 'Active'
    ];

for (csord__Service__c service : services) {
service.csord__Status__c = 'Cancelled';
}
update services;

System.debug('Updated ' + services.size() + ' services to Cancelled status');
```

  1. Verify the update completes without errors

Option B: Standard Change Process (Downstream Updates Required)

If billing, provisioning, or other downstream systems need to be notified of the cancellation:

  1. For each subscription that includes the discontinued add-on:
  2. Create a MACD (change order) basket
  3. Remove the add-on from the subscription
  4. Submit the change order
  5. Allow the change order to flow through the standard activation and fulfillment process

  6. This ensures:

  7. Billing systems stop charging for the add-on
  8. Provisioning systems deactivate the service
  9. All downstream systems are properly synchronized

Option C: Bulk Subscriber Management Service (For Large-Scale Removals)

If you need to remove the add-on from a large number of subscriptions:

  1. Use the CloudSense Bulk Subscriber Management Service to streamline the process
  2. Prepare a CSV file with the subscription IDs and the add-on to be removed
  3. Upload the file to the Bulk Subscriber Management interface
  4. Configure the bulk operation to remove the specified add-on
  5. Execute the bulk operation
  6. Monitor the job status until completion
  7. Verify the add-ons have been removed from all targeted subscriptions

Part 3: Verify and Communicate

Step 1: Verify the EOL Process is Complete

  1. Run queries to confirm:
  2. The add-on is end-dated and no longer selectable in new orders
  3. All existing services have been cancelled or removed
  4. No active subscriptions include the discontinued add-on

  5. Test in the Solution Console:

  6. Create a new basket
  7. Verify the add-on does not appear in the catalog
  8. Attempt to add the add-on manually (should fail or not be found)

Step 2: Communicate with Stakeholders

Inform relevant teams that the add-on has been discontinued:
- Sales Team: Add-on is no longer available for new sales
- Customer Service: Existing customers with the add-on should be contacted if needed
- Billing Team: Verify billing has stopped for cancelled services
- Provisioning Team: Verify services have been deprovisioned

Prevention

For Product Managers

  • EOL Planning: Plan product end-of-life well in advance and communicate timelines to all stakeholders
  • Replacement Products: If the add-on is being replaced by a new product, document the migration path for existing customers
  • Customer Communication: Notify customers before discontinuing products they are actively using

For Salesforce Administrators

  • EOL Checklist: Maintain a checklist for product EOL that includes all steps (end-dating, association cleanup, service removal)
  • Regular Audits: Periodically review product definitions for products that should be end-dated
  • Documentation: Document your org's EOL process and make it available to all teams

For Implementation Teams

  • Automated EOL Workflows: Consider implementing automated workflows (Process Builder, Flow) to assist with EOL processes
  • Downstream Integration: Ensure downstream systems can handle product EOL events gracefully
  • Testing: Test EOL processes in sandbox before executing in production
  • Affected Objects: cscfga__Product_Definition__c, cscfga__Add_On_Association__c, csord__Service__c, csord__Subscription__c
  • Related Fields: cscfga__End_Date__c, csord__Status__c
  • Related Processes: Product lifecycle management, MACD (change orders), bulk subscriber management
  • Tools: Data Loader, Developer Console, Bulk Subscriber Management Service
  • Downstream Systems: Billing, provisioning, CRM, analytics
Choose files or drag and drop files
Was this article helpful?
Yes
No
  1. Priyanka Bhotika

  2. Posted

Comments