Set Up the Export Lines Integration

The Export Lines Commerce integration helps replicate and synchronize all quote lines, part lines, and root lines on an associated Commerce action in the Oracle CPQ to Oracle Sales integration.

Note: Root lines are models or parts without parent items. They're used to forecast revenue at a model level instead of a part level. Root line integration is useful for customers with large quotes. It prevents performance issues when synchronizing many quote lines. See Plan Your Integration.

Sales users can search across multiple quotes to quickly retrieve quote line data. Quote line integration enables extensive search and reporting capabilities in Sales. The searches provide data-driven information to support multiple company roles.

  • Salespeople can use this information to identify sales opportunities, direct a sales approach, and aid in discount decisions. They can also use this information to prompt customer follow-ups for status, product issues, availability issues, and renewals.
  • Managers can evaluate appropriate discounts, measure product promotion marketing campaign results, focus sales team efforts, understand pricing sensitivity, and prepare sales reports.
  • Customer service representatives can view order summaries and status when responding to customer inquiries.
  • Site administrators can verify that integrations are working correctly.
  • Integration administrators can use the attribute mapping UI to drag and drop attributes to define integration mappings.

Here's how you set up the Export Lines integration:

  1. Go to Administration Platform > Commerce and Documents > Process Definition.
  2. In the Navigation list for the applicable process, select Integrations, and click List.
  3. If your Oracle CPQ site is provisioned with the Oracle Sales Reference Application, you should find an Export Lines integration already defined. Click the link for OSC - REST Export Lines or a similar link.
  4. Review or update the fields in the Integration Information region:
    • Name: Enter a name for the integration.
    • Variable Name: Enter a unique identifier.
      Caution: You can't change the Variable Name after you have created this integration.
    • Description: Relevant details related about this integration.
    • Timeout: If you don't enter a value, the application defaults it to 5000 milliseconds.
    • ID Field: Enter the documentVarName.attributeVarName that stores the ID field for the corresponding Sales salesOrderHeaders object. For standard quote line integration with Sales, the value is: transaction.oRCL_OSC_TransactionID_t.
    • Line Type Filter: Select an option from these, based on your requirements:
      • Part Lines: Include only part items.
      • Root Line: Include only root model lines and standalone part lines.
      • All Lines: Include all root models, child models, and parts.
  5. Complete the fields in the End Points section:
    • MetaData URL: Enter the endpoint to retrieve the metadata about the Sales attributes available for mapping in this integration. For the standard quote line integration with Sales, the value is: /crmRestApi/resources/11.13.18.05/salesOrderLines/describe.
    • Integration URL: Enter the endpoint that gets the upsert quote lines operation. For example: /crmRestApi/resources/11.13.18.05/salesOrders .
    • Integration Request Headers: Enter the headers to be passed in the request to the above integration endpoint. For the standard quote lines integration with Sales, the value is: Upsert-Mode:true.
    • Batch Size: Batch Size is set by default to a maximum of 500 quote lines that can be integrated in a single invocation of the API endpoint. Oracle CPQ automatically handles the multiple invocations needed for larger quotes.
  6. Review the Request Mapping for the REST integration by clicking the Edit button. These mappings show the Quote Line attributes to be pushed to Sales. In preconfigured sites, a set of standard fields are mapped. See Export Lines Attribute Mappings. If you want to include custom fields, you must modify the attribute map accordingly. See Edit Attribute Mappings.
    Note: When you save your edits, the Attribute Mapping page validates your mappings to ensure that there are compatible data types.
  7. Click Update.
  8. Deploy the changes. See: Deploy your changes.

Sales Quote Line Integration Attributes Mapping

The Attribute Mapping page has predefined attribute mappings for new customers and lets Sales customers modify their integration without the use of XSL. This page supports text-based searches to find attributes and then drag and drop them.

The Attribute Mapping page displays the Oracle CPQ attributes on one side of the page and the Sales attributes on the other side. Mapped attributes are displayed in the middle. Icons identify the attribute types. The attribute variable name is displayed when hovering over an attribute name. You can add new attribute mappings and edit or delete existing attribute mappings.

Here are the steps to add new attribute mappings or edit the existing attribute mappings:

  1. Go to Administration Platform > Commerce and Documents > Process Definition.
  2. In the Navigation list for the applicable process, select Integrations, and click List.
  3. Click the REST-Export Lines integration name.
  4. Click Edit, next to Request Mapping.
  5. Click the Add Row icon or drag and drop an attribute to create a new attribute mapping row.
    1. Select the appropriate Oracle CPQ attribute.
    2. Select the appropriate Sales attribute.
    3. Click the Apply icon or click outside the row to register the mapping.
      Note: You can edit an existing attribute mapping using the edit icon. Similarly, if you want to delete an attribute mapping, use the delete icon.
  6. Click Save to save changes, or Finish to save changes and exit the page.

Export Lines Attribute Request Mapping

This table shows the standard mapping as part of the Oracle CPQ and Sales integration for the export lines integration flow. Sales attributes are the target attributes, and Oracle CPQ attributes are the source attributes when the Export Lines integration runs.

Sales Attribute Display Name

Sales Attribute Variable Name

Oracle CPQ Attribute Name

Oracle CPQ Attribute Variable Name (Type)

Order Header ID OrderHeaderId OSC Transaction ID oRCL_OSC_TransactionID_t (text)
External Line Number ExternalOrderLineNumber Document Number _document_number (text)
Inventory Organization ID InventoryOrgId OSC Inventory Org ID oRCL_OSC_InventoryOrgID_I (text)
Inventory Item ID InventoryItemId OSC Inventory Item ID oRCL_OSC_InventoryItemID_I (text)
Revenue ID RevnId Opportunity Revenue Line ID oRCL_OSC_RevnId_I (text)
Line Status LineStatusCode Status status_I (menu)
Item Type ItemTypeCode Line Type lineType_I (menu)
Quantity Quantity Quantity requestedQuantity_I (integer)
UOM UOMCode Unit of Measure requestedUnitOfMeasure_I (menu)
Line Price Period PricePeriodCode Price Recurrence Frequency priceRecurFrequency_I (menu)
Line Currency CurrencyCode Currency currency_t (menu)
Net Price Price Price (Net) netPrice_I (currency)
Net Amount Amount Amount (Net) netAmount_I (currency)
Line Discount DiscountPercentage Discount % discountPercent_I (float)
Line Contract Periods ContractPeriods Contracted Periods contractedPeriods_I (integer)
Line Contract Start Date ContractStartDate Contract Start Date contractStartDate_I (date)
Line Contract End Date ContractEndDate Contract End Date contractEndDate_I (date)
Line Request Date RequestDate Request Date requestDate_I (date)
Line Win Loss Status WinLossStatusCode OSC Status oRCL_OSC_Status_I (text)
Line Order Date OrderDate Order Date orderDate_t (date)
Order Number OrderNumber Order Number oRCL_ERP_OrderNumber_I (text)
Root Line RootLine Root Line rootLine_I (menu)
Line Price Type PriceTypeCode Price Type (Rollup) priceTypeRollup_I (menu)
Line Price Period PricePeriodCode Price Recurrence Frequency (Rollup) priceRecurFrequencyRollup_I (menu)
Line Contract Periods ContractPeriods Contracted Periods (Rollup) contractedPeriodsRollup_I (integer)
Line Discount DiscountPercentage Discount Percent (Rollup) discountPercentRollup_I (float)
Net Price Price Net Price (Rollup) netPriceRollup_I (currency)
Net Amount Amount Net Amount (Rollup) netAmountRollup_I (currency)
Unit List Price UnitListPrice List Price (Rollup) listPriceRollup_I (currency)
Nonrecurring Revenue Detail SummableNonRecurringRevenue Non-Recurring Revenue (Summable) nonRecurRevSummable_I (currency)
Recurring Revenue Detail SummableRecurringRevenue Recurring Revenue (Summable) recurringRevSummable_I (currency)
Usage Revenue Detail SummableUsageRevenue Usage Revenue (Summable) usageRevSummable_I (currency)
Contract Value Detail SummableContractAmount Contract Value (Net Summable) contractValue_I (currency)
Nonrecurring Revenue NonRecurringRevenue Non-Recurring Revenue (Rollup) nonRecurRevRollup_I (currency)
Recurring Revenue RecurringRevenue Recurring Revenue (Rollup) recurRevRollup_I (currency)
Usage Revenue UsageRevenue Usage Revenue (Rollup) usageRevRollup_I (currency)
Line Contract Value ContractValue Contract Value (Rollup) contractValueRollup_I (currency)
Monthly Recurring Revenue MonthlyRecurringRevenue MRR (Rollup) monthlyRecurRevRollup_I (currency)
Monthly Usage Revenue MonthlyUsageRevenue MUR (Rollup) monthlyUsageRevRollup_I (currency)

Predefined Sales Quote Line Integration Items

You can import a migration package to implement the predefined integration content.

The table here shows the predefined Sales attribute mappings. An asterisk (*) precedes Sales Reference Application attributes.

See the Oracle CPQ Administration Online Help for more information on attributes. With limited implementation setup, you can create quotes, and the two sites can exchange information about quote lines created or updated in Oracle CPQ.

Sales Attribute Name Sales Variable Name CPQ Attribute Name CPQ Variable Name (Type) Description
Order Header ID Order Header ID OSC Transaction ID oRCL_OSC_TransactionID_t (text) The ID generated by Sales to identify this transaction.
External Line Number ExternalOrderLineNumber Document Number _document_number (text) Unique subdocument number to be used as an identifier in a Commerce Process.
Inventory Organization ID InventoryOrgId OSC Inventory Org ID oRCL_OSC_InventoryOrgID_I (text) The inventory organization in Sales used for sales products.
Revenue ID RevnId *Opportunity Line ID oRCL_OSC_RevnId_I (text) The ID generated by Sales to identify the revenue line.
Line Status LineStatusCode Status status_I (menu) The status of this line.
Item Type ItemTypeCode *Line Type lineType_I (menu) The type of a transaction line, whether it represents a model or a part.
Quantity Quantity Quantity requestedQuantity_I (integer) Quantity of associated line being requested; can be user-entered or set logically.
UOM UOMCode Unit of Measure requestedUnitofMeasure_I (menu) The unit of measure of the item requested by the customer (for example, "case").
Line Price Type PriceTypeCode Price Type priceTypeRollup_I (menu) Indicates whether the amount on this line is charged once or periodically.
Line Price Period PricePeriodCode Period pricePeriod_I (menu) The period of service purchased at this price.
Line Currency CurrencyCode Currency Currency_t (menu) The Currency used to price and invoice this transaction.
Price Price Price (Net) netPrice_I (currency) The price paid by the customer for the item.
Line Amount Amount Amount (Net) netAmount_I (currency) The extended list amount minus any discounts for this line.
Line Contract Value ContractValue Contract Value (Net) ContractValue_I (currency) The total contract value of this line, including all one time and recurring charges.
Line Discount DiscountPercentage *Discount % discountPercent_I (float) The percentage of the Contract Value (List) that is discounted off of the transaction line.
Line Contract Periods ContractPeriods Contracted Periods contractedPeriods_I (integer) Number of periods the customer has contracted to receive the item.
Line Contract Start Date ContractStartDate Contract Start Date contractStartDate_I (date) Date that the customer starts to receive the service.
Line Contract End Date ContractEndDate Contract End Date contractEndDate_I (date) Date that the customer stops receiving the service.
Line Request Date RequestDate Request Date requestDate_I (date) The date on which the user requests that fulfillment occur for this transaction line.
Line Win Loss Status WinLossStatusCode OSC Status oRCL_OSC_Status_I (text) The determining status of whether the line represents a won or a lost sale. This can be used in Deal Management analysis.
Line Order Date OrderDate Order Date orderDate_I (date) The date and time the order was placed for fulfillment.
Order Number OrderNumber *Order Number oRCL_OSC_OrderNumber_I (text) The order number assigned by the external order management and ERP application.