Assign shipping groups to sub-items

You can assign different shipping groups to product configuration sub-items and more.

With a configurable item, you have the ability to assign different shipping groups to product configuration sub-items. Different shipping groups can be assigned to different levels in a multi-level configurable item.

Previously, you could only assign a shipping group at the root level. Now, with a configurable item you have the ability to assign different shipping groups to sub-items of the root item. Different shipping groups can now be assigned to the following levels in a multi-level configurable item:
  • An item contained as the root item
  • An item that may be contained at one or more branch items of the root item
  • An item that may be contained at one or more of leaf items of a specific branch

Formerly, you assigned a shipping group at the root item level. The assumption was that the integration layer managed updates to the "shipping group" relationship object. The result of this was something where "if all sub-items are shipped then set the shippingGroupItem status on the root item to the status SHIPPED."

The original method did not work if you sold configured items that are a combination of goods and services and the services that needed to be assigned to separate shipping groups. It is important that customers selling nPlay bundles be able to assign each "play" to its own shipping group. As an example, you should reasonably expect to be able to assign separate shipping groups to, say, a handset (shipped to your office via priority mail), a router (shipped to your home via standard mail) and set top box (shipped to your vacation House via standard mail).

The ability to assign different shipping groups at different levels is also important for the Cancel In-flight order feature which lets you cancel In-Flight orders. An order which has been submitted but not fulfilled is considered to be In-Flight. When an In-Flight order is canceled, the process results in the creation of a new Cancel Order and may also result in the creation of a Return Request for items that may have already shipped to the shopper and must be returned, or at least refunded. In order to determine which items have to be returned, the system must be able to determine the shipping status of each item in the configuration.

In summary, all items in a multi-item configuration hierarchy from the root to the leaf level are assigned to a shipping group. You must also be aware that the assignment of shipping groups is also dependent on other key Commerce product features that directly impact the assignment of shipping groups.

For customers that are migrating to a release of Commerce that has this shipping group feature, the assignment of the shipping group logic is not adapted automatically. They will have to modify their ClientConfiguration settings. For first time users of the new release, the logic is adapted automatically.

Finally, logic changes are adapted only when the customer is using the Commerce user interface for all front-end behavior. If the customer is making endpoint calls directly, then they can call the orders endpoint with the required payloads without worrying about modifying ClientConfiguration.

Understand the details of assigning separate shipping groups to sub-items

When assigning shipping groups to sub-items, keep in mind the following:
  • A shippable product property is provided and should be set to indicate that a product, whether a hard good or service, can be physically shipped to a purchase. When the shippable product property for a product is set to FALSE, it can be assigned to a Virtual Shipping Group so that Oracle Commerce does not attempt to calculate shipping charges for this product..
  • If a product is a service then the physical address where the service is to be provided is provided by the fulfillment system based on the service account assigned to the item. This information is also provided by the client. Address information is mandatory for virtual shipping groups as it is required for tax calculations.
  • If the product is a non-shippable good, (for example, a movie download, extended warranty etc.), address information is again mandatory as it is required for tax calculations.
Note: Address information is something used extensively in Commerce transactions. For all procedures and SSEs that require address information for endpoint inputs, in addition to using Commerce's default address formats, you can also use the REST API to create multi-country custom address formats. This lets you create country-specific address formats to ensure that your address formats align with the requirements of any external service that you might use. This means that addresses appearing in profiles, accounts, registration requests, order addresses and more can be customized. For more complete information on creating custom addresses and understanding how to use custom address formatting, refer to the following:
An assetable product property is provided which identifies those products that are sold as a service or subscription (for example a mobile phone tariff, magazine subscription etc). Assetable products must be assigned to the following when purchased:
  • Customer Account
  • Service Account
  • Billing Account
  • Billing Profile

These type of products are then assigned to a Virtual Shipping Group. Even if the product is a good (for example, a physical product), it must be assigned to a virtual shipping group This is because in these circumstances the Commerce purchasing process is not responsible for calculating shipping charges and the physical address where the item must be shipped but will be based on the service account assigned to the item.

The onlineOnly property is provided to identify products that can be purchased online but cannot be picked up in store. This means that an item can only be assigned an inStorePickupShippingGroup value if the onlineOnly property value for that product is FALSE.

In summary, configured item shipping groups are assigned at all of the following levels of the configured item:
  • Root item of type configurableCommerceItem
  • Branch items of type configurableSubSkuCommerceItem
  • Leaf items of type subSkuCommerceItem
The assignment of shipping groups to configured items is then dependent on whether individual products are one of (or a combination of) the following types:
  • Shippable
  • Assetable
  • Available for purchase online only
  • Being sold as a package (soldAsPackage SKU property). The soldAsPackage property default is set to TRUE. Setting soldAsPackage = FALSE should only be considered for SKUs that have their configurable value set to TRUE. If the configurable value of a SKU is set to FALSE, the soldAsPackage property must be set to TRUE.

Understand the store features related to assigning shipping groups to sub-items

The following store features are provided to support the assigning of shipping groups to sub-items:
  • The ability to assign all items in a configuration hierarchy to an appropriate shipping group type.
  • The ability to change the assignment of shipping groups at all levels in a configuration hierarchy.
  • The ability to update the tax calculation process to support shipping group assignment at all levels of a configuration hierarchy.
  • The ability to update the shipping charge calculation process to support shipping group assignment at all levels of a configuration hierarchy.
  • The ability to update to the proportional application of promotion discounts to all items in a configuration hierarchy
See the rest of the topics in this section for more information.