Make to order

Prev Next

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

  1. 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.

  2. 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.

  3. 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:

  1. Create a finished product (material) in SAP ERP based on the mock-up product.

  2. Create the product’s bill of materials (BOM) using subline items from the quote.

  3. (Optional.) Create a routing for resource planning and costing.

  4. Create a sales document in SAP ERP.

  5. (Optional.) Determine the pricing procedure for the SAP ERP order.

  6. (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:

  1. Open a quote.

  2. Select ERP Helpers > Material.

  3. 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:

  1. Open a quote.

  2. Select ERP Helpers > BOM.

  3. 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:

  1. Open a quote.

  2. Select ERP Helpers > ERP Routing.

  3. 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:

  1. Open a quote.

  2. Select ERP Helpers > ERP Sales Doc.

  3. 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:

  1. In SAP ERP, open the transaction VA01.

  2. Create a sales order.

  3. Enter the sales area information.

  4. 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:

  1. In SAP ERP, go to Customizing (SPRO).

  2. Select Sales and Distribution, then select Master Data.

  3. Define Common Distribution Channels and maintain a reference distribution channel for the condition.