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
    • Recent Topics

    • Sharing Knowledge Base articles across multiple departments

      It would be useful to share some Knowledge Base articles across multiple departments where they are applicable, rather than having to go into other departments to find the article you're looking for. For example. Our reception uses the 'Admin' desk whereas our IT guys use the 'Support' desk, however both divisions would find KB articles about our company intranet useful. Reception does not have access to the support desk, so cannot see articles created in the Support KB. Perhaps you could install
    • Contacts marked as Spam are shown as Contacts in tickets.

      Hi Zoho, If a ticket is marked manually as Spam you get an option to set the contact as Spam as well. It would be great if there was another option to delete this Contact. This would be based on the understanding that it wouldn't be marked automatically
    • Is possible to use ${webhookTrigger.payload.street==null?"No street":${webhookTrigger.payload.street}} for to detect inline a null parameter

      Hi Team I need to know if it's possible to evaluate inline the following parameter, with the objetive to detect a null value ? I would like to use ${webhookTrigger.payload.street==null?"No street":${webhookTrigger.payload.street}} Regards, Pablo
    • Real Estate CRM

      How can I tailor my CRM for real estate? I had seen an image where the CRM included property tabs.
    • Issue with Bulk Edit Triggering Function Multiple Times in Zoho Report

      In our Zoho report, we have observed an issue where executing a function during a bulk edit operation runs the function multiple times—once for each selected report entry. This behavior is causing errors due to overlapping or redundant executions. Our
    • Is there a Kanban view of Tasks across all Projects?

      As the title indicates, I could use a Kanban view of my Tasks across my Projects. If it's there, I don't see it. If it isn't there, I'd like to submit this as a feature request. Thx.
    • Set recurring tasks in Zoho Support?

      Hello,   We use the task function in Zoho Support to set reminders for "due dates" of important events, such as lease expirations, etc. Is it possible to set some of these as recurring yearly? As of now, we have to reset every task manually after one year. Is there a way to have it reset automatically?   Additionally, is there a way to import a list of tasks and their dates into Zoho Calendar? I have not been able to do it from Zoho Support to Calendar. I tried exporting tasks from Zoho Support,
    • Help - How Can I Enter a Hourly Rate (Global Cost) for our Team for Profitability Reporting?

      Hi everyone, I'm hoping someone can help as I am at a loss and am quite shocked (if true) at the lack of functionality in Zoho Books. We run a company in which we do hourly jobs for clients and we bill based on the hours of work completed. Projects are
    • Schedule a regular backup

      In CRM I have a regular backup setup. I cannot find an option to backup Desk? I would like to take a backup before I test syncing products between CMR and Desk.
    • Opening & working multiple tickets

      We work in multiple tickets at the same time. Currently to do this, we have to open multiple instances of Desk.  Is there a way to do this by just opening multiple ticket tabs within 1 instance of Desk?  
    • Limit who can submit a support ticket to your site?

      Does anyone have a use case for needing to limit who can submit tickets via your help portal? Some of our customers want to have end-users view our knowledge base articles and see tickets their IT groups have submitted but they do not want end-users to
    • Is there a way to request a password?

      We add customers info into the vaults and I wanted to see if we could do some sort of "file request" like how dropbox offers with files. It would be awesome if a customer could go to a link and input a "title, username, password, url" all securely and it then shows up in our team vault or something. Not sure if that is safe, but it's the best I can think of to be semi scalable and obviously better than sending emails. I am open to another idea, just thought this would be a great feature.  Thanks,
    • Allow us to disable the Reopen Ticket button after a ticket is closed

      Disabling the Reopen Ticket will allow us to have more control over the ticket's flow. According to support, this is currently not possible. Please add this to let us, the customers, mold the ticketing system into something that we can use for our business
    • How to Enforce Mandatory Fields (Category/Sub-category) Before Closing a Ticket?

      Hi, I'm currently using Zoho Desk and encountering an issue where agents are able to close tickets without filling out mandatory fields, specifically Category and Sub-category. I’ve already set them both as a mandatory field, but it can still be bypassed
    • Admin Control for Default Email Templates in Zoho Desk

      Hi Zoho Desk Team, We would like to request a feature enhancement related to default email templates. Currently, agents can select and set their own default email templates when replying to tickets. However, we believe this setting should be managed centrally
    • Lock out of account after password update

      This is a bit of a catch 22 situation. I updated my account password using password generator in ZohoValut. Now I am locked out of everything, as I cannot get into OneAuth for 2FA, as the password is randomly generated, without getting into ZohoValut,
    • Guidance on Making Zoho Desk Connections Available for All Data Centers

      Hi Team, I’m currently developing an application using Zoho Desk connections to manage OAuth for my third-party products. Could you please advise on the steps required to make it available across all data centers? Looking forward to your thoughts on
    • Multibrand Help Center - Share knowledge base catgories between multiple departments

      Hello, I would like to know if it is possible to share categories between multiple departments when the multi brand feature is enabled. So that then one portal exists per department, but certain categories are visible in multiple portals. After all, we
    • Unable to upload document error on zoho sign

      i am creating a document using laravel php and here is my code and i get this reponse {"code":2005,"message":"Unable to upload the document","status":"failure"} $path = storage_path($file); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://sign.zoho.com/api/v1/requests');
    • Cloud to cloud folder migration from Sharepoint to Workdrive

      I am aware of OneDrive migration: https://help.zoho.com/portal/en/kb/workdrive/migrations/microsoft/articles/migrate-from-onedrive-to-zoho-workdrive#Whats_migrated would this cover a Sharepoint migration meaning I can move a whole Sharepoint (team) folder
    • Zoho Sign / Prefill By You - Editable by Them!

      Zoho Sign seems to have two field options available - an empty field for signer(s) to complete or a field that has been prefilled by you, that becomes read only once sent.  What I would like is an option on the pre-filled by you fields, to leave them
    • How to sort a data in summary report with Monthly ?

      Hi Team, Can any one help me out how to sort a data based on monthly, Month was shuffled based on aliphatic order. i want to sort the below data monthy?
    • Is this link the transparent pixel used to track opens?

      Could someone please help me identify this highlighted link? It is automatically created by Zoho and a lot of contacts receiving campaigns will click on this link. I don't believe that it is the "update your preferences link" because on the Link Clicks
    • Kiosk Studio wrap-up | How our community used kiosks in 2024

      Hello, everyone! Happy new year! The end of 2024 has been busy, and 2025 promises to be bigger and better. As we ring in the new year, let's rewind and look at Kiosk Studio, our no-code customization tool. The past 300 days have seen the CRM community
    • Zoho Crm - Inventory Integration

      Hello, I need help about Map Fields between CRM and Inventory. For Example, I can't match amount of stock between these 2. I can put opening stock number  in Inventory but I can't see it on CRM. Also I want to see categories and parent categories on Inventory, in CRM too. Best Regards.
    • Inventory Valuation Method Feature

      Zoho added another feature so called Inventory Valuation Method of each Item. This is actually good to see and it will benefit us so much but I have a question on this. For Existing Items that already have transactions, Zoho made it a default and assumed
    • Where is the customization and extendibility of zoho inventory?

      After delving into zoho one subscription to test out systems we need for our business, I'm really disappointed after working in Zoho Inventory. Its features and customizability are extremely lacking compared to the other tools like CRM. In our case we
    • Organization Variables - Restrict Access

      Currently, there is no way to restrict the access to organization variables. This leads to a problem when storing API related values that should be kept secret as anyone with access to create and edit email templates, workflow rules, or inventory templates
    • Values in multi pick list are not copied to copied deal

      Hi, After a deal is completed in our sales funnel we copy the deal to an automatically created new deal in our project funnel. All fields are copied properly, but only a Multi Pick List is not copied. How can we copy the selected values in this field
    • Zoho takes too long to load...

      I am based in Europe and in the last couple of weeks, Zoho CRM takes minutes even to load modules. Is there a specific reason this is happening? Is this happening to other people?
    • Modules are continuously loading

      Hi! We are not able to open the task modules, it keeps continuously loading
    • Execution failure when fetching a Name field from another app

      In creator I have one app [Employee Directory] with a form [Employees]. One of the fields is a name field called [Name]. Here is a sample that works, if executed from the Employees app: test_Employee = Employees[Name.first_name == "Alex"]; info test_Employee.Name;
    • Accessing Subform Data using getRecordByID

      I am getting data from Zoho Creator using deluge zoho.creator.getRecordByID task, from another application. The report contains a subform, and that subform is in the detail view of the report. I do not appear to have any subform data in the JSON response,
    • Allow "add new" option to picklists and multiselection fields from add or edit pages

      Hello zoho, please insert an add option (ie +)sign) to pick and multiselect fields so we can add new options while entering or editing records. For example. in my lead module, while adding a new record, I realized I had a new lead source. I went to my
    • Allow customer to select meeting duration

      I would love to see a feature where I can give the customer the option to select the meeting duration they require based on a dropdown list which I have predefined in the service settings. For example: 15, 30, 45, 60, 90 minutes.
    • Can you internally tag/categorize posts for campaigns?

      Would love to easily sort through posts by tags or categories (i.e. we have multiple memberships and share studies from each. It would be nice to pull reports in a second for "membership A studies" for a campaign etc.).
    • Zoho and Hostaway webhok integration.

      I want to receive data coming from hostaway webhook and receive it in zoho crm to create or update record in a module based on conditions. The hostaway webhook sends data every time a reservation is created or modified or cancelled. The hostaway sends
    • Function 56: Automatically enable the option for customers to pay via bank account

      Hello everyone and welcome back to our series! One of the key features of Zoho Books is its integration with multiple payment gateways, allowing you to receive online payments for your invoices. This ensures faster payments, automates payment tracking
    • Connect multiple Facebook ad accounts to Zoho Social

      Hi there. I'm doing the Facebook Ads and Zoho Social integration to automate the leads that come from Potential Customer campaigns on Facebook to Zoho CRM. I have a company (1 fanpage, 1 brand), but within the business or brand on Facebook, I manage several
    • Custom service report or Zoho forms integration

      Hello, So far the experience with Zoho FSM and the integration with Books has been good, however there are limitations with service reports. As with my business, many organisations send technicians to different types of jobs that call for a different
    • Next Page