Variants, Composite Items, and... Configurable Items with Ad Ons?

Variants, Composite Items, and... Configurable Items with Ad Ons?

So I had to review a few of these concepts, and felt like there may need to be some clearer distinction made between the abstractions that we use to create associations between multiple items in inventory - sometimes with selections available to the customer, sometimes bundling multiple items into a single SKU, either because something's been manufactured or discounted at a bundled price, or simply for marketing purposes and how we'd like to group associated items on our product pages..

In this regard, I think there's a lot of room for confusion and that it may be helpful to others if I share my personal understanding of these concepts, and invite others to enhance or correct as necessary.

Hopefully this will help provide a better understanding as to how and when these features can or should be used in order to achieve both better inventory management and product presentation within your store.

As such, the following are how I've come to understand define the following concepts that can easily be confused.  These are - Item Variants, Composite Items, and Configurable Items / Add Ons (the last is not currently a Commerce feature, but one that I would propose should be, and is functionality within several other ecommerce systems.  More on that below...):

Variants
A Variant generally should be in item that comes prepackaged from a supplier, usually with its own dedicated UPC or SKUs. It's a variant because it may be conceptually grouped along-side with other very similar items with variations that pivot on one or more specific attributes. Some of these attributes might be size, color, flavor, etc. Each one of these attributes will multiply the number of SKUs by the number of new options within that attribute. (It's worth mentioning that you don't need to keep all of possible the variants SKUs if, for example, all colors are not being ordered for all sizes of a particular item - in which case the automatically generated SKUs can simply be deleted).

The inventory for any variant is increased when it's received and decreased when it's sold.  

Presentation at the point of sale is such that all variants are presented on a single product page.  Selecting the appropriate attribute options on a product page allows the customer to ultimately arrive at the specific product variant they wish to order.  

It's important to emphasize that selecting a variant on the product page is a "deductive" process during the point of sale, whereby each attribute option that is selected further hones in and reduces the number of remaining variants until the last attribute is selected.  This makes it much easier for your customer to quickly and specifically identify one variant among perhaps hundreds of other similar items without having to wade through pages of items.

Composite Items
A Composite Item is a pre-bundled "composite" of multiple SKUs. (Note the word "PRE-bundled"). This feature is really meant for those who bring in various pieces, parts, and components (which may or may not also be sold individually), but are assembled into AND presented as a single bigger product - hense the name "Composite Item".

As such, from a presentation standpoint, the Composite Item is a single SKU that you sell to your customer.  Behind the scenes, a composite item comprises of the pieces and parts initially received and inventoried as other SKUs.  The magic here is in the bundling.  Once bundled into a composite item, the inventory quantities are automatically reallocated reducing the on-hand counts all of those parts that are used to manufacture the Composite Items.

Composite Items are quite useful to you if you are a manufacturer in order to help you maintain and track your on-hand parts, make adjustments, and see if you're running short on this part or that for one product or another.

Generally, Composite Items are planned for in advance, and are usually bundled, allocated, and typically prepackaged well before the sale.

Composite Items are meant to define in your inventory a finished product from the parts that it's made from. This provides a means for automatic parts allocation for the purpose of assembling components into finished goods with the needed visibility and reporting that you otherwise would have to deal with manually in other painstaking ways (e.g. maintaining multiple inventories, one for manufacturing, and one for sales, etc.).

As such, the Composite Items feature allow manufacturers to have both the parts and the finished products coexist happily in one place and allocate the former into the latter as needed. It's inclusion into Inventory (and now into Commerce) has likely been a big deal for many, and a pretty significant accomplishment on Zoho's part.  Considering that that EDI can also available be integrated with Zoho Inventory, this is a pretty serious level of functionality for manufacturers that would otherwise be difficult to rival at Zoho's price point.
  
Configurable Items / Add Ons
There is however a third concept however, which I believe is very much desired, but is not yet included as part of Commerce, and oddly I think it's the arguably a feature that would probably be fairly east for the Commerce group to implement, being that it shouldn't be contingent on the changes to the Inventory Schema shared by the other Zoho apps.

I also think that it's something that is one of the more desired features, but not identified as such because it gets confused for and/or grouped in with certain other features when it's really quite a separate feature all together, for example... by that I mean that Variants and Composite Items are often being mistaken by users for what should really be considered as an entirely different and separate feature - that being the "Configurable Item with Add Ons".

The feature I'm describing here is used and implemented frequently on websites selling computers.  You sell the "bare-bones" system, which might be the enclosure and the motherboard, then you have a dropdown box to select what CPU, another dropdown box allows you to select the RAM, and another for the power supply.

It's important to understand that this is not a deductive selection (like it is with variants) in that each of the selections under each of these drop-downs is not honing down to a singular SKU.  Nor is it a Composite Item in which a single SKU is the composite of many that were preallocated into a final product.

Rather, this is an additive process at the point of sale, enabling the customer to configure their own system by selecting from multiple SKUs that are simply associated to a base "Configurable Item".  It's a function of presentation, and requires no preallocation of inventory.

It's important to understand that the base Configurable Item can be sold by itself, but is presented with optional "Add Ons".  When Add Ons are selected, pressing the "Add to Cart" button ads the base Configurable Item, along with the SKUs (and relevant Quantities, which should also be optionally presentable) of the other associated "Add On" items.

So in this way, there is never any sort of preallocation required for Add Ons within a Configurable Item.  It's only the relationship between the Configurable Item and its available Add Ons that needs to be established (e.g. perhaps within the Configurable Item's product page editor) that determines that such "Add Ons" be presented within the product page. 

Since this is only a function of presentation, the SKUs for the individual items (the base Configurable Item plus the Add On items) are still maintained within the cart, with no need to package them for the purpose of how they're seen from the perspective of the customer.

One other important distinction in this regard might be with respect to discounting.  Composite Items (not Configurable Items) can also be presented with package discounts.  Applying package discounts to Configurable Items might not be so straight forward if desired.

Anyhow, hopefully this will provide better understanding for those who are trying to strategize how to setup their inventory, and also serve as a proposed implementation that Zoho might consider in order to add in some sort of "Configurable Item / Add Ons" capability within the product page templates and be manageable on the back end via the product page editor.

This can theoretically be accomplished using custom fields and some modification to the Face product template files, but it would be nice if this functionality was part of Commerce itself without needing to hack it in.

Thanks,
Bryan

    Access your files securely from anywhere

        All-in-one knowledge management and training platform for your employees and customers.






                              Zoho Developer Community




                                                    • Desk Community Learning Series


                                                    • Digest


                                                    • Functions


                                                    • Meetups


                                                    • Kbase


                                                    • Resources


                                                    • Glossary


                                                    • Desk Marketplace


                                                    • MVP Corner


                                                    • Word of the Day


                                                    • Ask the Experts





                                                              Manage your brands on social media



                                                                    Zoho TeamInbox Resources



                                                                        Zoho CRM Plus Resources

                                                                          Zoho Books Resources


                                                                            Zoho Subscriptions Resources

                                                                              Zoho Projects Resources


                                                                                Zoho Sprints Resources


                                                                                  Qntrl Resources


                                                                                    Zoho Creator Resources



                                                                                        Zoho CRM Resources

                                                                                        • CRM Community Learning Series

                                                                                          CRM Community Learning Series


                                                                                        • Kaizen

                                                                                          Kaizen

                                                                                        • Functions

                                                                                          Functions

                                                                                        • Meetups

                                                                                          Meetups

                                                                                        • Kbase

                                                                                          Kbase

                                                                                        • Resources

                                                                                          Resources

                                                                                        • Digest

                                                                                          Digest

                                                                                        • CRM Marketplace

                                                                                          CRM Marketplace

                                                                                        • MVP Corner

                                                                                          MVP Corner







                                                                                            Design. Discuss. Deliver.

                                                                                            Create visually engaging stories with Zoho Show.

                                                                                            Get Started Now


                                                                                              Zoho Show Resources

                                                                                                Zoho Writer

                                                                                                Get Started. Write Away!

                                                                                                Writer is a powerful online word processor, designed for collaborative work.

                                                                                                  Zoho CRM コンテンツ




                                                                                                    Nederlandse Hulpbronnen


                                                                                                        ご検討中の方




                                                                                                                • Recent Topics

                                                                                                                • Zoho Inventory. Preventing Negative Stock in Sales Orders – Best Practices?

                                                                                                                  Dear Zoho Inventory Community, We’re a small business using Zoho Inventory with a team of sales managers. Unfortunately, some employees occasionally overlook stock levels during order processing, leading to negative inventory issues. Is there a way to
                                                                                                                • Automation #10 - Auto Assign Ticket based on Keywords

                                                                                                                  This is a monthly series designed to help you get the best out of Desk. We take our cue from what's being discussed or asked about the most in our community. Then we find the right use cases that specifically highlight solutions, ideas and tips on optimizing
                                                                                                                • Automate attendance tracking with Zoho Cliq Developer Platform

                                                                                                                  I wish remote work were permanently mandated so we could join work calls from a movie theatre or even while skydiving! But wait, it's time to wake up! The alarm has snoozed twice, and your team has already logged on for the day. Keeping tabs on attendance
                                                                                                                • Reusable Custom Functions Across Department Workflows

                                                                                                                  Dear Zoho Desk Team, We appreciate the powerful workflow automation capabilities in Zoho Desk, particularly the ability to create and use custom functions within workflows. However, we have encountered a limitation that impacts efficiency and maintainability.
                                                                                                                • Don't Allow Customer to Edit Values After Submitting Ticket

                                                                                                                  After a customer submits a ticket through the customer portal, they can go into the ticket and see some of the values from the questions they answered in the sidebar. Currently, a customer can edit these values even after they submitted them. This makes no sense. We ask very specific questions that we don't want customers to later change! Please disable the ability for customers to edit the values to their submission questions in the portal. Screenshot attached.
                                                                                                                • Analytics <-> Invoice Connection DELETED by Zoho

                                                                                                                  Hi All, I am reaching out today because of a big issue we have at the moment with Zoho Analytics and Zoho Invoice. Our organization relies on Zoho Analytics for most of our reporting (operationnal teams). A few days ago we observed a sync issue with the
                                                                                                                • text length in list report mobile/tablet

                                                                                                                  Is there a way to make the full text of a text field appear in the list report on mobile and tablet? With custom layouts, the text is always truncated after a certain number of characters.
                                                                                                                • Automation #4 - Auto Delete Tickets based on Rules

                                                                                                                  This is a monthly series in which we pick some common use cases that have been either discussed or most asked about in our community and explain how they can be achieved using one of the automation capabilities in Zoho Desk. Unwanted tickets spamming
                                                                                                                • Zoho Community Digest — Enero 2026

                                                                                                                  ¡Hola, comunidad! 🌟 Aquí os traemos las novedades más interesantes de Zoho durante este mes de enero, incluyendo actualizaciones de productos, integraciones y un recordatorio sobre los workshops certificados que vuelven a España. 🎓 Eventos y Comunidad
                                                                                                                • Automation #11 - Auto Update Custom Fields with Values from Emails

                                                                                                                  This is a monthly series designed to help you get the best out of Desk. We take our cue from what's being discussed or asked about the most in our community. Then we find the right use cases that specifically highlight solutions, ideas and tips to optimize
                                                                                                                • Automation #13 - Auto assign tickets based on agent shift time

                                                                                                                  This is a monthly series designed to help you get the best out of Desk. We take our cue from what's being discussed or asked about the most in our community. Then we find the right use cases that specifically highlight solutions, ideas and tips to optimize
                                                                                                                • Automation #14: Capture Jira Issue Key/ID in a Ticket Custom Field

                                                                                                                  Hello Everyone! This month's edition brings you a custom function to consolidate your records associated with Jira integration. Jira integration enables support engineers and R&D units to collaborate seamlessly on feature development, product improvement,
                                                                                                                • Automation #16: Automate Ticket Reopening on Scheduled Timestamp

                                                                                                                  Hello Everyone! This edition uncovers the option to schedule reopening a ticket automatically. Zylker Finance tracks insurance policyholder activities through Zoho Desk. For policyholders who pay monthly premiums, tickets are closed upon payment completion.
                                                                                                                • Automation#19:Auto-Close Tickets Upon Task Completion

                                                                                                                  Hello Everyone! We’re excited to bring you another custom function this week. In this edition, we’ll show you how to automatically close tickets when all associated tasks are marked as completed. Let’s see how ZylkaPure, a leading water filter company,
                                                                                                                • Automation #15: Automatically Adding Static Secondary Contacts

                                                                                                                  Rockel is a top-tier client of Zylker traders. Marcus handles communications with Rockel and would like to add Terence, the CTO of Zylker traders to the email conversations. In this case, the emails coming from user address rockel.com should have Terence
                                                                                                                • Improved UX design for Projects CRM integration

                                                                                                                  The current integration embeds the entier projects inteface into the CRM this is confusing and allows users to get lost. For example as a user i navigate to an account and go down to the related projects list and want to get information about a specific
                                                                                                                • Transformer vos stocks en décisions intelligentes avec Zoho Inventory et Zoho Analytics

                                                                                                                  Zoho Inventory permet de suivre facilement les niveaux de stock et d’anticiper les restockages. Pour de nombreuses entreprises, cela suffit à gérer les opérations au quotidien. Mais à mesure que l’activité se développe, cette clarté peut commencer à montrer
                                                                                                                • Security Enhancements | Migrate to the Updated Policies

                                                                                                                  Hello everyone, Zoho Directory's security policies have been updated and reorganized into three new policies with features that enhance the overall organization security. These policies provide a stronger and more secure sign-in methods and improve the
                                                                                                                • Bring Zoho Shifts Capabilities into Zoho People Shift Module

                                                                                                                  Hello Zoho People Product Team, After a deep review of the Zoho People Shift module and a direct comparison with Zoho Shifts, we would like to raise a feature request and serious concern regarding the current state of shift management in Zoho People.
                                                                                                                • How to block a WhatsApp user for sending spam

                                                                                                                  Is there a way to block those whatsapp users that just come to play and annoy our service, they also spam us. We have a waba service with sales iq
                                                                                                                • Inquiry regarding auto-save behavior for Zoho Sign Embedded Sending

                                                                                                                  Dear Zoho Support Team, I am currently integrating Zoho Sign's Embedded Sending functionality using iframes on my website. I would like to know if there is a way to ensure that the document state (including any added fields) is automatically saved as
                                                                                                                • Introducing Connected Records to bring business context to every aspect of your work in Zoho CRM for Everyone

                                                                                                                  Hello Everyone, We are excited to unveil phase one of a powerful enhancement to CRM for Everyone - Connected Records, available only in CRM's Nextgen UI. With CRM for Everyone, businesses can onboard all customer-facing teams onto the CRM platform to
                                                                                                                • Automation#17: Auto-Create Tasks in Zoho Projects Upon Ticket Creation in Zoho Desk

                                                                                                                  Hello Everyone, This edition delivers the solution to automatically create a task in Zoho Projects when a ticket is created in Zoho Desk. Zylker Resorts uses Zoho Desk for bookings and handling guest requests. Zylker resorts outsources cab bookings to
                                                                                                                • Automation#20 : Auto-Add Ticket Tags based on Keywords

                                                                                                                  Hello Everyone! Welcome to unveiling custom functions on our Community series. This week's post lets you add tags to your tickets automatically based on the keywords in the ticket subject and the ticket thread. Discover how this custom function helps
                                                                                                                • Automation#21: Track Ticket Transfers Across Departments

                                                                                                                  Hello Everyone! With Halloween just around the corner, we'd like to let you know the Zoho Desk team is always there to sweep away your customer service troubles! This week, we’re excited to introduce a custom function that tracks tickets moved between
                                                                                                                • Email Integration - Zoho CRM - OAuth and IMAP

                                                                                                                  Hello, We are attempting to integrate our Microsoft 365 email with Zoho CRM. We are using the documentation at Email Configuration for IMAP and POP3 (zoho.com) We use Microsoft 365 and per their recommendations (and requirements) for secure email we have
                                                                                                                • Homepage not assignable to group

                                                                                                                • MS Teams for daily call operations

                                                                                                                  Hello all, Our most anticipated and crucial update is finally here! Organizations using Microsoft Teams phone system can now integrate it effectively with Zoho CRM for tasks like dialling numbers and logging calls. We are enhancing our MS Teams functionality
                                                                                                                • Automation#22 Track Ticket Duration at Specific Status

                                                                                                                  Hello Everyone! Welcome back to the Community Learning Series! Today, we explore how Zylker Techfix, a gadget servicing firm, boosted productivity by tracking the time spent at a particular ticket status in Zoho Desk. Zylker Techfix customized Zoho Desk’s
                                                                                                                • Automation#23: Automate Guided Conversations in Zoho Desk with Business Hours

                                                                                                                  Hello Everyone, This week's edition introduces a custom function designed to automate Guided Conversations in Zoho Desk, based on your business hours. With this feature, you can align the bot's behavior with your business schedule, ensuring a smooth and
                                                                                                                • Address changes in quote form

                                                                                                                  When entering a quote, the first piece of information required is the Account, which properly populates the billing and shipping address fields. Then I use the lookup function to select a contact, and when I do, the billing and shipping addresses are
                                                                                                                • Automation#24: Auto-Update custom field from Accounts to Tickets

                                                                                                                  Hello Everyone! Welcome back to the Community Learning Series! This episode dives into how Zylker Techfix streamlines account-related ticket references. Previously, employees had to manually check account details to retrieve specific customer information,
                                                                                                                • Kaizen #227 : Client Script Support for List Page (Canvas)

                                                                                                                  Hello everyone! Welcome to another week of Kaizen. In today's post lets see how Client Script can be used in Canvas List Page to mask sensitive information from specific roles and add colors to Canvas List Page records based on custom criteria.This use
                                                                                                                • Automation#25: Move Tickets to Unassigned When the Owner Is Offline

                                                                                                                  Hello Everyone, Welcome to this week's Community Series! 'Tis the holiday season—a time when work often takes a brief pause. The holiday spirit is in full swing at Zylker Techfix too, with employees taking some well-deserved time off. During this period,
                                                                                                                • Automation#27: Retain Ticket Owner on Moved Tickets

                                                                                                                  Hello Everyone! This week, we present to you a custom function that retains the ticket owner when a ticket is moved from one department to another. Here’s more to help you understand the custom function: At Zylker Techfix, Alex, the Support Engineer manages
                                                                                                                • Automation#28 Notify Agents on Article Expiry

                                                                                                                  Hello Everyone! This week, we’re bringing you a feature that notifies your team when articles in the Knowledge Base are set to expire to keep your content relevant and helpful for customers. The Zoho Desk's Knowledge Base is an asset for customers to
                                                                                                                • Automation#29 Retain ticket status on moved tickets

                                                                                                                  Hello Everyone, Hear out Zylker Techfix’s Success Story on Smoother Ticket Transitions! Zylker Techfix, a gadget servicing firm committed to quick repairs and timely deliveries, faced a challenge when ticket statuses changed automatically while moving
                                                                                                                • Automation#32:Auto Add New Portal Users to the Help Center User Groups

                                                                                                                  Hello Everyone, Introducing a custom function that automates the process of adding new portal users to Help Center user groups, making user management effortless! By default, Zoho Desk allows you to assign new portal users to groups manually. But with
                                                                                                                • Automation#34 : Automate Email threading for Ticket notification

                                                                                                                  Hello Everyone, It's been a while since we've presented an automation. However, our community has been buzzing with ideas, use cases, and discussions with our community experts and Ask the Experts session. So, here we are again, presenting an automation
                                                                                                                • Automation#35 : Auto-Add Comments under the Owner's Name in Tickets via Macros

                                                                                                                  Hello Everyone, This week's custom function provides simple steps to configure a Macro for adding comments to tickets with the name of the Comment owner. When managing tickets, you can use the Comment feature to communicate internally with your team and
                                                                                                                • Next Page