Asset-Based Ordering
Overview
Asset-Based Ordering (ABO), also known as Subscription Ordering, is used to sell tangible assets or subscriptions for services delivered over a period of time (e.g. cell phone service, cable service, office Wi-Fi, etc.). The ABO functionality provides the ability to create and store customer assets in CPQ. Assets can be created, modified, suspended, resumed, renewed, and terminated. Customers can use ABO in conjunction with System Configuration, and they can use REST APIs to integrate with external applications.
ABO supports subscription and asset-based products by recording fulfilled lines as assets. Sales users can create, modify, and terminate asset-based products using orders stored in Oracle CPQ and can also reconfigure an order or create a follow-on order to make changes to an existing order stored in CPQ.
Notes:
- Refer Asset-Based Ordering Implementations and ABO Release Summary and Upgrade Considerations for implementation information.
- To identify your current ABO package version, view the comments in the Admin > BML Library > ORCL_ABO > abo_initializeContext function.
Key Concepts
This section provides a high-level overview of key concepts applicable to ABO implementations. Oracle recommends customers review these key concepts prior to implementing their Oracle CPQ Asset-Based Ordering solution
Assets
An ABO asset is created when a subscription product order from CPQ is fulfilled. When an order is fulfilled, an asset is created in the CPQ asset repository. Once created, customers can use CPQ transactions and the Subscription Workbench (previously called the Customer Assets page) to view and manage their assets. The CPQ transaction will capture the delta change of the asset when the transaction is fulfilled, only the delta change will be fulfilled. The asset will be updated with the delta change to bring it to the same state as last transaction.
Asset Management
Action Codes track changes to assets during the asset lifetime. There are two types of action codes:
- Basic: Basic action codes keep track of changes. Add, Update, and Delete are examples of basic action codes.
- Business-Specific: Business-specific action codes keep track of business processes. Business-specific action codes include Terminate, Suspend, Resume, and Renew.
The following action codes are available for line items on quotes and orders.
- Add - Adds a new product to the customer's assets.
- Update - Updates either an attribute value or delta field value for an existing product (e.g. asset or order).
- Delete - Deletes, deactivates, or disconnects an existing product (e.g. asset or order).
- Hyphen (-) - Tracks the No Changes to an Existing Asset action using the hyphen character (-).
- Terminate - Terminates a subscription service.
- Suspend – Suspends a subscription service.
- Resume – Resumes a subscription service.
- Renew – Renews a subscription service.
Notes:
- Where action codes display (i.e. main document or sub-document) and how columns are positioned are both customer implementation decisions. The ABO package only contains the attribute definition. Customers must add the attributes to the UI.
- The Suspend, Resume, and Renew actions were exposed via Oracle CPQ 2017 R1 RESTful services. Administrators can add buttons to perform these actions to the Customer Assets page through customization of the page in the UI Designer. For additional information, refer to the REST API Services for Assets topic in this implementation guide.
The fulfillment status identifies the current state of an order and the associated saved BOM instance, which is the asset information obtained from the CPQ Model Configuration page.
The fulfillment status can contain four possible values:
- CREATED: Upon creating the configured lines, the fulfillment status is set to CREATED and indicates the order has not been submitted for fulfillment.
- BEING_FULFILLED: Indicates the order was submitted to the fulfillment system and CPQ has not yet been notified of the order's fulfillment.
- FULFILLED: Indicates the order is fulfilled and assets have been created in CPQ.
- CLOSED: Indicates the order is closed or cancelled.
Note: The Oracle CPQ Ref App Commerce process and the Configuration BOM Instance in the client side integration both have the fulfillment status defined. These entities separately track the fulfillment status of an Oracle CPQ Transaction line and the external client integration Transaction line. The fulfillment status associated with the Oracle CPQ Ref App Commerce process is customizable. By default, the ABO implementation package treats new fulfillment values as closed.
Creating an asset generates a traceable item that integrates with your fulfillment system. The fulfillment system or external client integration use synchronize REST APIs to create and update assets in the CPQ asset repository. Transaction based REST APIs are used to update the fulfillment status on the transaction line item. Transaction line Item status can be Created, Being Fulfilled, or Fulfilled.
Example Process Flow:
- When sales user adds subscription products to a CPQ transaction, the transaction line items display a "Created" status.
- When the sales user submits the transaction order to the fulfillment system, the transaction line item status changes from "Created" to "Being Fulfilled".
- When the fulfillment system fulfills the order and notifies CPQ, the transaction line item status changes from "Being Fulfilled" to "Fulfilled".
- For assets created in CPQ, the fulfillment system fulfills the order and notifies CPQ via an integration flow that uses the synchronize REST API and transaction based REST APIs to update the fulfillment status on the transaction line item.
- For assets are created in an external client application, the fulfillment system fulfills the external order and notifies the external client application via an integration flow that uses the Configuration BOM Instance REST API to update the fulfillment status on the transaction line item.
- When the order is fulfilled, the asset is recorded in the CPQ asset repository.
Sales users can modify the details of an asset) using the following methods:
- If the order has not been fulfilled (i.e. the status is "Created" or "Being Fulfilled"), the user can create a follow-on order or reconfigure to update an order prior to fulfillment.
- After the order has been fulfilled, the user can use the ABO Modify action on the Subscription Workbench. Sales users can create a modify order by adding, deleting, or updating a component of a fulfilled asset.
The Modify action calculates the changes or deltas to each component in the asset's BOM and creates rows with action codes indicating the changes.
For example, when a user modifies a phone plan subscription from a Prepaid 40 plan to a Prepaid 50 plan two rows are created.
One a row to delete the Prepaid 40 asset BOM component and another row to add the Prepaid 50 asset BOM component.
Notes:
- Upon modifying an order, the Subscription Workbench will not reflect the update until the order is fulfilled.
- You cannot modify an asset with a future start date from the Subscription Workbench. However, it is possible to achieve this using a modify REST service or by launching the configurator with the assetKey and the future request date.
A Follow-On Order is a change to an unfulfilled order. When a user creates a Follow-On Order, ABO automatically creates the action codes for each transaction line item based on the difference between the expected state of the asset on the request date and the new configuration.
Customers can also use the Reconfigure action to change an unfulfilled order. The Reconfigure action compares the asset with a reconfigured order line to reflect user-intended net changes in a subscription or asset. Pending updates to order lines that occur before the Reconfigure action request date are included in the comparison. Pending order lines have one of the two conditions. The item is "Being Fulfilled" in another order, or the item is "Being Fulfilled" or "Created" in the current order.
After a customer places an order, they can change a pending asset configuration before the order is fulfilled and reflected into the asset by modifying an asset or creating a follow-on order for a future date. There are typically two scenarios related to multiple open orders:
-
Scenario 1: A Customer orders an asset or service to begin at the beginning of the month. This is Order 1.
Two weeks later the customer puts in a termination order for that service for the end of the month. This is Order 2.For example, a customer adds a sports network to their cable service to begin on August. 1. This is order 1.
On August 15, the customer terminates the sports network to take effect on August 31. This is order 2. -
Scenario 2:A customer orders an asset or service to begin at the beginning of the month. This is Order 1.
The next day, the customer orders an additional item for the pending fulfilled service to begin two weeks later. This is Order 2.For example, a customer adds a cooking network to their cable service to begin on August 1. This is order 1.
The customer calls back the next day and adds a sports network to their cable service to begin on August 15. This is order 2.
Note: The open order stacking described in these scenarios is a key concept in ABO. Each order captures the delta made by the customer and sends it to the fulfillment system. Customers can project what the state of an asset will be on a given date. For more information on this concept, refer to Projected Asset Cache BOM and Open Order Stacking.
The Terminate action on the Subscription Workbench is used to end a subscription. Sales users create a transaction and specify the request date, and then they access the Subscription Workbench to select and terminate the asset. The transaction request date becomes the end date for the asset.
For example, a customer terminates a cable television subscription. The sales user creates a Commerce transaction for the customer and specifies the request date for the termination. The sales user selects the Customer Assets action to display the Subscription Workbench. After the sales user selects and terminates the asset, transaction displays with the appropriate action codes to terminate the subscription. When the Terminate action completes, the end date of the asset becomes the date the customer requested the subscription termination.
In the out-of-the-box implementation of ABO, asset information is stored locally in the CPQ repository. The local asset repository is not versioned and only keeps track of the latest image of the asset. The sample Update Assets action follows the Apply business process that applies all the lines in the current order to the same asset and aggregates the lines to generate a Projected Asset Cache (PAC). The PAC generates the future state of the asset that is compared against the current state of the asset. The PAC generates the delta change to apply on the local asset repository. You can use the out-of-the-box Update Assets sample action to copy the full order hierarchy to an asset.
The PAC projection for the sample Update Asset script is slightly different from the PAC projection for the modify process. During the modify process, transaction lines with a pending fulfillment status from other transactions are considered. During the sample Update Asset process, only the transaction line from the current transaction is considered. For example, On September 1 there is a pending order on transaction line (L1) to change attribute A's value to v1, then on October 1 there is a pending order on transaction line (L2) to change attribute B's value to v2. In the sample Update Asset process, the updated asset for L2 will only update attribute B to value 2. It will not update attribute A, but you would see that attribute A has been updated to v1 if you tried to reconfigure L2.
This mimics the expected ERP logic where fulfillment and the update asset will only update the delta change as indicated in the current order line. In other words, since users can reconfigure a transaction line with an earlier requested date, the last requested transaction line for the asset may not reflect some changes. Differences may occur between the PAC and the last requested transaction line. The transaction lines from other open orders are not considered when using the Apply business process, which ensures all changes are incorporated in the final projected configuration.
Pricing fields are recalculated whenever an asset is loaded into a configuration session. A one-way synchronization occurs from order to asset. Therefore, the price value is not usually carried over from asset to configuration. Beginning in 19B, the unit price of the item is tracked internally. For external order renewals, the price is set to the point when the pending order line was added to the shopping cart. For CPQ Commerce integrations, we expect the price to be recalculated each time the user creates a new transaction to modify or renew an asset.
The transaction lines reflect one of four states: Created, Being Fulfilled, Fulfilled, and Cancelled. The sample implementation of the Update Assets action applies all transaction lines in the current transaction that are not yet Fulfilled by order of requested date. If the transaction line is requested for a future date, the future dated transaction line configuration is synchronized to an asset. In the case of newly created transaction lines, the start date of the asset is set to the requested date of the new transaction line.
There are limitations in current application to store assets outside of CPQ, which is only supported via an override for simple model cases (i.e. models that do not have nested child models).
Asset Population via Direct REST Service
You should adhere to the following guidelines to ensure proper asset population. These guidelines are applicable to the following REST API endpoints: Create Asset, Update Asset, Synchronize Asset, Synchronize Assets, and Import Assets CSV File. This does not include the BOM projection approach in the sample update asset script.
- The REST API schema definitions specify the basic attribute type (e.g. string, integer, number). The following guidelines describe additional requirements:
- The acceptable length for string type attributes is 255, with the exception of the following attributes:
- The acceptable length for the following attributes is 100: assetKey, displayKey, serialNumber
- The acceptable length for the following attributes is 30: status, usageUnitOfMeasure, fixedRecurringPeriod.
- The acceptable length for the "currency" attribute is 20.
- The acceptable length for the "assetDescription" attribute is 1000.
- The default format for the following of timestamp type attributes is ISO to eliminate any time zone ambiguity issues: startDate, endDate, suspendDate, resumeDate, purchaseDate.
- Unless noted otherwise, number type attributes allow 22 digits with a precision or 7.
- The following attributes are mandatory fields that should be populated with valid data: "Customer", "DisplayKey", "Part", and "Quantity".
- Populate the "rootAsset" and "parentAsset" fields based on hierarchy.
- Both fields should reference a valid asset.
The parent asset should be null for the root asset record.
For example, assume A2 has A1 as a parent and A1 has A3 as a parent, therefore A2 would have A3 as a grandparent. It would be invalid for A3 to have A2 as a parent, because it would create a cycle in the hierarchy where A3 has A1 as a grandparent and A3 has A3 as a great grandparent.
- Use the "assetKey" component fields to update the "rootAsset" and "parentAsset" fields.
- The parent asset cannot be its own ancestor.
- All amount attributes should have the same currency code.
- The "attributes" field should contain a JSON object which typically stores a BOM attribute.
- The parent asset cannot be its own ancestor.
- If an order line is marked as deleted, use the asset repository to delete or end-date the asset.
- With the exception of the action code available in the transaction_line_bom_attribute, the Attributes field should contain the same information as the transaction_line_bom_attribute.
- The abo_updateAsset function available in the 18D and later ABO package supports the ability to copy information from a Commerce order line and paste it into an asset.
- If ABO implementation package from 18D or later release is being used and abo_updateAsset is not being used to create/update assets, then Update Configuration REST API action should be invoked explicitly after asset creation or update.
A Configuration BOM instance is represented by a JSON object. BOM items can be classified as sales items, manufacturing items, or both. These items are defined in the BOM Item Definition table. This BOM instance is referenced during reconfiguration and is used to generate Sales BOMs and Manufacturing BOMs, which can be sent to a back-end system for order fulfillment.
CPQ uses sales items to create a Sales BOM instance during Configuration, sales items are used for quotes, and the Sales BOM instance is used during reconfiguration. In other words, ABO packages only use Sales BOMs.
Note: Sales Items must have corresponding Part Numbers defined in the CPQ Parts Database.
For ABO implementations, the BOM instance contains the delta configuration of the change compared with the projected asset.
The changed BOM item will an applicable action code of add, delete, or update.
Projected Asset Cache BOM and Open Order Stacking
The Projected Asset Cache (PAC) tracks the state of an asset across time, it is also known as the Projected Asset State. The PAC process is a function that loads into memory all assets and open orders matching a specific search. The projected configuration can be different based on the transaction's requested effective date.
For example, consider the following shirt configuration:
- An asset has the following configuration: Color=Red and Size=XL
- Order 1 is placed to change the Color to Blue, it is pending to take effect on August 1
- Order 2 is placed to change the Size to Small, it is pending to take effect on September 1
- If we create a new modify third order for the same asset to take effect on August 15, the projected configuration when we open the configurator would be Color=Blue, Size = XL
- If we create a new modify third order for the same asset to take effect on September 15, the projected configuration when we open the configurator would be Color=Blue, Size = Small
In the default implementation, an open order is referring to an order in the “Being Fulfilled” state. After retrieving the data, the PAC builds the future requested state of the asset product instances. This is accomplished by taking into consideration the asset matching the search specification and applying all open orders due to complete before the specified date. The process then applies the current quote to generate the future requested state.
There are two key steps in calculating projected assets:
- Retrieve relevant data:
- Load the asset data
- Find and load all open orders associated with the asset
- Load the current changes made to quote line items associated with the asset.
- Build the future projected requested state
- After retrieving the data, build the future requested state of the asset.
- Consider all assets matching the search specification and apply changes from all open orders due to complete prior to the specified date.
- Apply the changes made in the current quote to generate the projected requested state of the asset.
When users request a change to an existing asset (i.e. product or service) or a projected future asset, they usually initiate a Delta quote. Delta functionality compares a projected original asset BOM instance with a new asset BOM instance and creates a new BOM instance with action codes indicating the components that changed.
The delta functionality is implemented in abo_delta BML, which is defined in BOM Admin > Declare Bom utility.
There are four BOMs used for comparison to calculate the differences:
- ConfigBom: Corresponding to the Configuration user selections in Configurator UI
- PacBom: (also known as the priorBom) This is the base against which delta calculation will be conducted. It is read from user session cache within the abo_delta BML script, and the entry in the user session cache is prepared before Configurator launch.
- InputBom is what was passed to the Configurator to launch the UI
- The InputBom does not participate in the delta process directly. The only reason it is supplied is for reconfiguration.
- If the line is newly created during the prior save, we want to carry over the information from the prior save instead of creating the line from scratch, especially to preserve the assetkey from the prior save of the current line.
- DeltaBom is the output of the delta process and is used to generate transaction lines in commerce.
- When ABO is not enabled, the deltaBom will be the same as the configBom
- When ABO is enabled for an existing configuration, the deltaBom might contain additional/different lines than the configBom. The new lines represent the lines in the original configuration that are unselected by the user.
- In commerce, those extra lines will be represented as a line with an actionCode of Delete.
- In addition to the action code, the delta process also assigns the assetkey for the newly added BOM item.
Projected BOMs - PacBom vs InputBom
The projected asset cache contains two BOMs, the PacBom and the InputBom.
- For Modify operations the PacBom is the same as the InputBom
- For Reconfiguration the PacBom and InputBom are different
- The PacBom is the projection before applying the current line reconfiguration
- The InputBom is the projection after applying the current line reconfigurationFor example:
- An asset has the following configuration: Color=Red, Size=Large
- The current line has a change to Color=Blue
- When we try to reconfigure the current line the PacBOM has Color=Red, while the InputBOM has Color=Blue
- Strictly speaking, the InputBOM is used to bring the configurator up to the same configuration as last saved, and the PacBOM is used for delta comparison at Update Transaction time.
-
In the above example, if the user changes the color to red and the size to small during reconfiguration, and then saves.
The delta configuration saved to Commerce will be:
- Color No-change since the latest configuration has the same value as the pacBom and the asset
- Size – Change to Small
Notes:
- In 18D and later ABO implementations, there is a similar concept for PAC Configuration and Input Configuration. It corresponds to the structure for storing configuration attribute values that are not mapped in BOM mapping and have an internal property of bomitem.
- Until the order is submitted, no matter how many times the user reconfigures and saves the line, the delta comparison is always against the projected stage before the current order, because the delta is about the aggregate change the user made within current order. The comparison between different reconfigurations within the same order is not important.
The following items describe the logic within the delta process.
- When a component only exists in a new instance, add the component to the delta BOM using the Add action code.
- When a component only exists in the original instance, add the component to the delta BOM using the Delete action code.
- When a component exists in both the original and new instance, add the component to the delta BOM and compare the component attributes.
- If there are no changes, set the component action code to hyphen (-).
- If changes were made or an attribute was added or deleted, set the component action code to Update. The component action code is set to Update in the following scenarios:
- The addition or removal of a BOM attribute
- The update of a BOM attribute
- The update of one of the three key attributes: partnum, qty, parentId
The update of one of the attribute listed in commerceAttributeInDelta setting.
The "commerceAttributeInDelta" property was added to the "deltaBomSvcSetting" section in the "defaultContextJson.txt" file in the 19B ABO Implementation Package.
This property determines which Commerce fields are used for comparison during the delta process. The reference package specifies contractStartDate and contraceEndDate as the list of fields for comparison.
"commerceAttributeInDelta" : ["contractStartDate_l", "contractEndDate_l"]
- Refer to Appendix J: Default JSON Context File in the 19B and Later ABO Implementation Guide for additional information.
- The child action codes reflect changes to the child entity but not the parent items.
- Attribute-level changes display new and updated attributes summarized in the Attributes field in a comma-delimited format. Deleted attributes do not display in the Attributes field.
- Apply simulates the impact of a set of changes on an original asset. The output is a future asset and is the inverse function of Delta, which projects the future state of an asset. If A1 delta A2 = C, then A1 apply C = A2.
Matching the Child BOM Item between the Original and New Instance
CPQ uses the "assetKey" attribute to compare the old and new instance of a given BOM item. An internal BOM ID gets associated to a given assetKey and is generated dynamically based on the user’s selection on Configuration UI and the BOM Mapping rule. For scenarios where a user deselects and reselects an attribute’s value, driving the selection of the same asset, the system cannot conclusively determine the user’s intention, which could be the reselection of the same original asset or deletion of the original asset and addition of a new, but the same, asset.
- For the 19B ABO Package with CPQ update 19B or later, CPQ identifies the same BOM item with the original assetKey if the de-selection and selection is change on a non-array attribute. However, for array attribute-based BOM item selection, the assetKey might change. To meet the desired outcome, customers can consider updating the logic in abo_delta BML library to change the behavior.
- Prior to the 18C ABO Package, the matching algorithm was Part Number driven and across the entire hierarchy. There caused an undesirable match issue for both array and non-array attribute-based BOM item selection when the same part appeared multiple times in the BOM Item Definition. The algorithm was updated in the 19B ABO package, see the above item for the behavior description.
The Subscription Workbench (previously called the Customer Assets page) allows sales users to view and manage active assets. The page has predefined display columns, but you can configure the page using the Customer Assets List available in UI Designer. Sales users can also hide and reorganize columns. The changes will remain active until the user's session expires.
To access the Subscription Workbench, open a quote with an associated customer Id and click Customer Assets.
The Customer Assets Commerce action is used to retrieve and display assets for the associated Customer ID in Subscription Workbench. The action is available in the ABO implementation package as a main document (e.g. Transaction) action.
Notes:
- For more information refer to the Subscription Workbench topic.
- The out-of-the-box Subscription Workbench displays active root assets based on the request date associated with the current Transaction. The page does not display terminated assets or the end date of assets.
System Configuration refers to a product offering which is made of multiple sub products, each of which can have a set of rules to define the structure leading to an n-level nested configuration to define the overall offering or permutations of configurable attributes which go together to make the sub product and ultimately the overall product.
System Configuration refers to the manner in which Oracle CPQ is used to configure and bundle the product or set of products that are sold using a group of related models that together define an entire system. A system is a hierarchical arrangement of connected configurable models with a system root containing all of the other models.
When ABO is enabled, it saves a delta configuration at the end of the configuration session. The delta configuration is stored in the Configuration BOM Instance, but it is not exposed for direct access. Similar to BOM applications, open order stacking will occur for the delta configuration when launching a configuration session.
Note: To use System Configuration with ABO implementations, you must install an 18D or later ABO implementation package.
Administration
A Follow-On Order is a change to an unfulfilled order. When a user creates a Follow-On Order, ABO automatically creates the action codes for each Transaction line based on the difference between the expected state of the asset on the request date and the new configuration.
Complete the following steps:
- Open the Oracle CPQ Transaction for which you are creating a Follow-On Order.
- Set the Default Request Date to the date you want the Follow-On Order to take effect.
-
Select the green plus sign icon at the top of the line item grid to open the Model Configuration page.
-
Select the new options to include in the Follow-On Order.
-
Click Add to Transaction.
The Follow-On Order will appear in the line item grid with a fulfillment status of "Created" and an updated date in the Request Date field. -
Click Save.
-
Submit the order to the fulfillment system and convert the order to an asset.
Sales users can create a modify order by adding, deleting, or updating a component of a fulfilled asset.
Complete the following steps:
- Create a new Transaction, then click Customer Assets.
- Select the asset you want to modify, then click Modify.
The Model Configuration page opens - Modify the Transaction options, as appropriate.
-
Click Add to Transaction.
The Transaction page opens. Verify that the modified asset appears with an action code of "Add" and the original asset appears with an action code of "Delete".
- Click Save.
Note: Upon modifying an order, the Customer Assets page does not reflect the update until the order is fulfilled. Customers cannot modify an asset with a future start date.
Modify, Suspend, Resume, or Renew, an Asset
After creating assets, sales users can perform any of the asset actions (i.e. Suspend, Resume, Renew, Modify, Terminate) from the Customer Assets page.
Complete the following steps to modify, suspend, resume, or renew an asset:
- Log in to CPQ.
- Open Transaction Manager.
- Click New Transaction.
- In the Default Request Date field, select a future date. The date selected represents the date the asset will be suspended, resumed, renewed, or modified.
-
Click Customer Assets.
The Customer Assets page opens and displays active assets associated with the customer.
- Select the asset you want to suspend, resume, renew, or modify.
-
Click one of the action buttons on the Customer Assets page.
The following asset modification options are available from the Customer Assets page:
- Click Modify to open the Configuration page and modify the selected subscription.
- Click Suspend to change the status of active assets to Suspend. The suspend date is taken from the Transaction.
- Click Resume to change the status of a Suspended asset to Active.
- Click Renew to renew a subscription. An asset continues to remain Active after performing a Renew action. The renew date is taken from the Transaction.
- Click Back to return to the Transaction page for the current Transaction.
The Transaction only displays Transaction lines containing the action code associated with the action performed. For example: If users click Suspend, they will only see Transaction lines containing the “Suspend” action code.
Use the Reconfigure action to update a quote prior to fulfillment. Reconfigure compares the projected asset with a reconfigure order line to reflect user-intended net changes in a subscription or asset. Pending update order lines that occur before the reconfigure requested date are included in the comparison. Pending order lines have one of the following conditions:
- The item is “Being Fulfilled” in another order.
- The item is “Being Fulfilled” or “Created” in the current order.
Sales users can use the Reconfigure action to update an asset-based BOM model in an order prior to fulfillment.
Complete the following steps:
- Open CPQ.
- Navigate to Transaction Manager.
-
Click a specific Transaction Number.
The Transaction page opens.
-
Select a specific asset-based BOM model from the line item grid.
The Reconfigure button becomes enabled.
-
Click Reconfigure.
The Model Configuration page opens.
-
Reconfigure the BOM model, as desired.
- Click Update to save changes.
- Click Save to return to the Transaction page.
Reconfigure an Asset After Performing a Resume or Renew Operation
Customers can perform a Resume operation on a suspended asset or a Renew operation on an active asset and then reconfigure the asset. This is beneficial in situations where a customer suspends a service, such as a cable service, then later resumes the service. The customer can reconfigure the resumed or renewed service from the Oracle CPQ Model Configuration page.
For example: Customers could upgrade their cable service to include additional channels or downgrade their cable service to remove channels never viewed.
- Administrators must implement the 18D ABO Package to allow customers to reconfigure an asset after performing a Resume or Renew operation.
- In Oracle CPQ Release 18C, reconfiguring an asset after performing a Renew operation throws an error. In Oracle CPQ Release 18D, reconfiguring renewed or resumed items is supported.
- With the out-of-box implementation of the 18D ABO Package, reconfiguring an asset after performing a Suspend or Terminate operation is not supported.
- In Oracle CPQ Release 18C, users cannot perform two Modify operations on the same asset on the same date. The actions conflict with each other. Users can Modify and Renew on the same day in Release 18D and later, as this is the only way to make a change during a Renew.
- Oracle CPQ Release 18D and later allows users to reconfigure an asset after performing a Renew operation, where the Renew itself is essentially a Modify. Users cannot submit two changes for the same asset on the same data.
Use the Terminate action on the Customer Assets page to end a subscription, such as a cable television subscription. The sales user can create a Commerce Transaction for the customer and specify the request date for the termination. When Oracle CPQ displays the Customer Assets page, the sales user can select the asset to terminate and click Terminate. The Transaction displays in Commerce with the appropriate action codes to terminate the subscription. When the Terminate action completes, the end date of the asset becomes the date the customer requested the subscription termination.
Complete the following steps:
- Open the Customer Assets page.
-
Select the asset you want to terminate, then click Terminate.
The root line item will have an action code of "Terminate" and all child line items will have an action code of "Delete".
- Click Save.
-
Submit the order to the fulfillment system.
The asset will no longer display in the Customer Assets page.