Many manufacturers follow a make-to-order (MTO) approach when quoting and producing highly customized or engineered-to-order products. Zilliant CPQ supports this workflow by enabling sales users to configure and quote MTO products, even before final product data is created in SAP ERP.
Why use MTO in CPQ
Creating finished products directly in ERP for every quote, especially those that may not convert to orders, can be costly and inefficient. Zilliant CPQ streamlines this process by using a mock-up product during the quoting phase. This approach avoids the premature creation of ERP master data while still capturing the full structure and cost of the potential finished product.
Once your customer accepts the quote, CPQ provides a clear path to convert the mock-up product into the actual ERP material, including bill of materials (BOM) and routing.
How it works
Create a mock-up product.
Sales users create quotes using a mock-up product that represents the potential finished good. This mock-up product serves as a placeholder for the final product, capturing the customer’s specific requirements.
Define subcomponents using ERP materials.
The quote can include subline items using existing ERP materials. These subline items represent the parts of the final product.
Convert the mock-up product into a real ERP material.
Once your customer accepts the quote, CPQ guides you through generating the necessary master data and transactional records in ERP.
What happens after quote acceptance
CPQ enables the following actions to complete the MTO process:
Create a finished product (material) in SAP ERP based on the mock-up product.
Create the product’s bill of materials (BOM) using subline items from the quote.
(Optional.) Create a routing for resource planning and costing.
Create a sales document in SAP ERP.
(Optional.) Determine the pricing procedure for the SAP ERP order.
(Optional.) Reference distribution channel for conditional lookup.
Create a product in SAP ERP
Before you begin
To create a material in ERP, ensure that:
All master data required for material creation, such as plant, industry sector, material group, and unit of measurement, is maintained in both SAP ERP and Zilliant CPQ. The required fields may vary depending on ERP configuration.
Mock-up product type is marked as
isMaterialCreationRelevant.Mock-up product doesn’t have an ERP ID in CPQ.
Required BAPIs
CPQ uses the following BAPIs to create a material in SAP:
BAPI_MATERIAL_GETINTNUMBER
BAPI_MATERIAL_SAVEDATA
BAPI_MATINSPCTRL_SAVEREPLICA
For details on authorizing access to BAPIs, read Enable BAPIs.
Procedure
To create a product (material) in ERP from an accepted quote in CPQ:
Select ERP Helpers > Material.
On the Material tab, select the mock-up product.
Once you create the product (material) in ERP, CPQ stores the new ERP ID as the product’s identifier and updates the quote accordingly.
You can also configure the Create Material in ERP Groovy extension point to trigger custom logic when the product is created.
Tip
To automatically create price items in ERP, configure the Create Price to ERP Groovy extension point.
Create a bill of materials in SAP ERP
After creating the finished product (material) in ERP, you can build its bill of material (BOM) using subline items from the original CPQ quote.
You can also configure the Create BOM in ERP Groovy extension point to trigger custom logic when the BOM is created.
Before you begin
The BOM can include products from subline items in the CPQ quote that:
Exist in SAP ERP.
Have a product type marked as
isBOMCreationRelevant.
Required BAPIs
CPQ uses the following BAPIs to create a BOM in SAP:
BAPI_MAT_BOM_EXISTENCE_CHECK
BAPI_MATERIAL_EXISTENCECHECK
BAPI_MATERIAL_BOM_GROUP_CREATE
For details on authorizing access to BAPIs, read Enable BAPIs.
Procedure
To create a product BOM in ERP from an accepted quote in CPQ:
Select ERP Helpers > BOM.
On the BOM tab, select the line items.
The BOM usage type is production BOM (1), and the BOM is created in active status.
Create routing in SAP ERP
In manufacturing, a routing defines the sequence of operations required to produce a material. Each operation is linked to a work center—an organizational unit that defines where and when a manufacturing operation occurs. The routing outlines the steps, their order, and the resources needed to complete production.
You can also configure the Create Routing in ERP Groovy extension point to trigger custom logic when the routing is created.
Before you begin
To create routing in SAP ERP, ensure the following:
Product type of the needed line items is marked as
isMaterialCreationRelevant.Work centers are maintained as master data in the CPQ system.
Plant information is maintained in CPQ.
Required BAPIs
CPQ uses the following BAPIs to create a routing in SAP:
BAPI_ROUTING_CREATE
BAPI_TRANSACTION_COMMIT
For details on authorizing access to BAPIs, read Enable BAPIs.
Procedure
To create routing in ERP from an accepted quote in CPQ:
Select ERP Helpers > ERP Routing.
On the ERP Routing tab, select the line items.
Tip
You can integrate routing data with the internal price engine to calculate cost and time estimates. For example, you can define a pricing step that uses routing information to calculate operation times per work center.
Create a sales document in SAP ERP
After your customer accepts the quote and you create the material, BOM, and routing in ERP, you can generate a sales document, typically a sales order, in SAP ERP.
You can also configure the Create ERP Sales Order Groovy extension point to trigger custom logic when the ERP sales order is created.
Before you begin
To create a sales document in ERP, note the following:
Account linked to the quote must already exist in ERP and have an ERP ID in CPQ.
You can’t create sales documents for prospect accounts imported from Cloud for Customer (C4C) or created directly in CPQ.
Note
CPQ does not create ERP accounts due to financial checks and approval processes typically required in SAP. That’s why it’s recommended to manage customer creation in the CRM and sync the ERP ID into CPQ.
CPQ applies filters when sending products to the ERP sales order. Each product must meet all the following criteria:
Product type is marked as
isOrderCreationRelevant.Product is allowed to be exported to ERP.
Product has a valid ERP ID.
To create a sales document, maintain the following data:
ERP account ID (from C4C)
ERP material ID
Sales document type
Purchase order number and requested delivery date
Sales area data, including sales organization, distribution channel, division
Pricing date and requested date from the CPQ quote
If the quote uses SAP SSC for configuration, CPQ can pass variant configuration data to SAP ERP.
Required BAPIs
CPQ uses the following BAPIs to create a routing in SAP:
BAPI_SALESORDER_CREATEFROMDAT2
BAPI_TRANSACTION_COMMIT
For details on authorizing access to BAPIs, read Enable BAPIs.
Procedure
To create a sales document in ERP from an accepted quote in CPQ:
Select ERP Helpers > ERP Sales Doc.
On the ERP Sales Doc tab, select Generate Sales Orders.
Tip
CPQ supports sales quote splitting and multiple order creation. The system determines how many sales orders are needed and how to distribute line items and header price conditions across them.
Determine pricing procedure for the SAP ERP order
Note
Since this procedure is performed in SAP, not in CPQ, the following steps offer only a high-level overview. For detailed instructions, read the official SAP ERP documentation.
SAP ERP determines the pricing procedure for a sales order based on the combination of sales organization, distribution channel, and division defined in the sales area data.
To verify which pricing procedure SAP ERP will apply:
In SAP ERP, open the transaction
VA01.Create a sales order.
Enter the sales area information.
In the document header, review the assigned pricing procedure.
To change the pricing procedure for a specific sales area combination, update the configuration in the transaction V/07. This allows you to maintain the determination logic that maps customer types, document types, and sales areas to pricing procedures.
Reference distribution channel for conditional lookup
Note
Since this procedure is performed in SAP, not in CPQ, the following steps offer only a high-level overview. For detailed instructions, read the official SAP ERP documentation.
SAP ERP uses the sales organization and distribution channel as key fields when performing price condition lookups. To avoid duplicating pricing conditions across multiple distribution channels, you can define a reference distribution channel.
This setup allows conditions maintained under one distribution channel to apply to others.
To configure:
In SAP ERP, go to Customizing (SPRO).
Select Sales and Distribution, then select Master Data.
Define Common Distribution Channels and maintain a reference distribution channel for the condition.