Bundles
A bundle is an offering of several products for sale as one combined product.
See Bundles for more info about bundles and how they work in the Order Management System (OMS).
In order to process bundles, the Connector must map the bundle and its child lines during the creation of the order, so that the bundle is correctly handled.
When creating the magento.sales.order_management.create
specification in Magento Commerce (MC), the following is validated:
- The bundle line is of the type
BUNDLE
. - The SKUs inside the bundle have
PHYSICAL
orVIRTUAL
types. - The SKUs inside the bundle contain the
parent_line_number
field, which indicates the line number of the parent bundle line. - The prices for bundles are defined for each SKU part of the bundle, while the bundle line has a price of
0
. - The shipment/sourcing rule for the bundle is configured in the MC catalog and is provided in new orders at the bundle line as a custom attribute.
Example of a bundle
{
"order": {
"id": "123456",
"lines": [
{
"line_number": "1",
"id": "23",
"product_type": "BUNDLE",
"name": "The Beatles Collection"
"custom_attributes" [
{
"name": "mom_srcrr_FilterSourceBundleFromOneSource",
"value": "SHIPTOGETHER"
}
]
},
{
"line_number": "2",
"product_type": "PHYSICAL",
"name": "Tee-Shirt Abbey Road",
"parent_line_number": "1"
},
{
"line_number": "3",
"product_type": "VIRTUAL",
"name": "Magical History Tour Ticket",
"parent_line_number": "1"
}
]
}
}
Create or update bundle
When an MC client creates a new bundle, the magento.catalog.product_management.updated
message is sent to the OMS to be enabled there.
This message contains the SKU of the bundle and the type defined as a BUNDLE
.
Example of creating/updating a bundle
{
"product": {
"id": "Bundle-test",
"product_type": "BUNDLE",
"sku": "Bundle-test",
"name": [
{
"value": "Test bundle for yoga outfit",
"channel": "string",
"locale": "string"
}
],
"status": "active"
}
}
Configuration
To enable the bundles functionality:
-
Navigate to Config > Stock Aggregates > Sourcing in your System Integrator (SI) Portal.
SI Portal configuration for exchange reason
-
Enable the Bundle rules option and select the
Bundlerestrictions
.SI Portal configuration for bundle restrictions
These restrictions are enabled and configured in your SI Portal, which is not yet accessible externally. Contact Magento Support for assistance.
The Bundle Restrictions can be configured as:
Restriction | Description |
---|---|
SHIPTOGETHER |
All lines must be available in the same source. |
SHIPSIMULTANEOUSLY |
All lines must be sourced at the same time but can be sourced from different sources. |
SHIPSEPARATELY |
Bundle is effectively ignored and lines are sourced individually. |
See the SI portal stock aggregates view for more information about Bundle sourcing rules.
Bundles in Commerce
You can define bundles in Commerce as:
- The ship bundle item can be defined as
TOGETHER
,SEPARATELY
, orSIMULTANEOUSLY
, which will be used to overwrite the generic sourcing rule defined for bundles. - The fixed or dynamic price can be defined.
- With the fixed price each one of the children options will use the catalog defined price, while with the dynamic pricing the cost of each child item is dynamically calculated using the price defined for the entire bundle and splitting it out proportionally to each child, according to the catalog price. See the Bundle Product topic for more information on fixed and dynamic values.
- It is recommended to use the
TOGETHER
sourcing rule if you use fixed price for a bundle product. - Out-of-the-box, the return flow for bundle products only works with the
SHIPTOGETHER
sourcing rule. See the Bundle sourcing rules topic for more information.
The dynamic SKU option is disabled via the Connector, given the SKUs need to exist in the OMS catalog in order to process new orders.