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

        • Download a writer template as .docx instead of .pdf.

          I have been trying to implement a feature to download a writer template as a .docx and got it working partly but it isn't good. Earlier I checked our code and I saw openurl("https://crm.zoho.com/crm/org121314/specific/Template.do?action=print&step=pdfPreview&id="
        • Allow the usage of Multi-Select fields as the primary field on "Layout Rules"

          We want to force our users to enter some explanation strings when a multi-select field has been utilized. I can't understand the reason for the usage restriction of Multi-Select fields as a primary field. This is a simple "Display hidden mandatory field
        • WriterTh

          After every space Writer goes to capital letters mode in my Android tablet. The cap mode stays till the second letter is typed in the word then it comes to normal mode.
        • Extract Archived Projects using Zoho Projects API

          In my organization we archive the projects when they are already completed, charged, invoiced, so that only those that are still pending process remain active. I need to access all projects (active and archived) from an external system, but the API v3
        • Ask the Experts: Five-hour live Q&A session with Zoho WorkDrive product experts

          Have questions about WorkDrive 5.0? Let’s talk! We recently launched Zoho WorkDrive 5.0, packed with powerful updates to help your team work smarter, stay secure, and get more value from your business content. From content-centric workflows and AI-powered
        • File upload support for subforms

          Dear All, Subforms help you add and track data related to your CRM records. We've always supported most of the commonly used field types in subforms, so as to cater to your business requirements. Now we're happy to extend support to file upload fields.
        • Circular record relationship in CRM

          Given there is a lookup in custom module Transactions creating a related list on the chosen Contact record. I. e. a lookup field on Transactions module points to Contacts. The related list on a Contact record can thus have have many transaction records.
        • Is it possible to pull the Zoho desk data into Zoho analytics in real time

          Hi - I am looking to add more dashboards and reports of Zoho Desk in analytics. I see there is a schedule to pull the data into analytics, but I'm wondering if there is an option to pull the data in real time instead of a specific interval?
        • Enhance productivity with the revamped Zoho Sheet View

          Hello folks, For some time now, you've been able to use the Zoho Sheet View to quickly edit multiple records or to insert a batch of new records. Its tabular interface allows users to engage in these tasks productively. Despite this, the existing Sheet
        • How to set value of dropdown field to variable

          For the life of me, I can't figure out why the following code won't set input.status to the previousSelection. Steps to reproduce: 1. Click input.complete 2. input.status dropdown updates from '1-Backlog' to '4-Done' 3. Click input.complete again to deselect
        • [Product Update] TimeSheets module is now renamed as Time Logs in Zoho Projects.

          Dear Zoho Analytics customers, As part of the ongoing enhancements in Zoho Projects, the Timesheets module has been renamed to Time Logs. However, the module name will continue to be displayed as Timesheets in Zoho Analytics until the relevant APIs are
        • [WEBINAR][MEA] Learn how to control your inventory and multi-channel sales with the Zoho Inventory & Zoho Books integration

          Hello there, We are hosting an exclusive live webinar tailored for businesses across the Middle East and African countries, where you'll learn how to take full control of your inventory and multi-channel sales while keeping your accounting perfectly in
        • Less clicks, more connection – the usability edge of Zoho Desk

          Imagine joining a new workplace, eager to prove your skills, partner with peers, learn new tools, and build a strong foundation for your career. The standards you've set could drive pressure into your head. You now discover the organization is using Zoho
        • Tip #3 Automating total item weight calculation for your sales orders in Zoho Inventory

          Hello, Hope the day is treating you well. Last week, we saw how we could automate the calculation of total shipping charges from numerous shipments for your sales orders and invoices. This week, we will see how you can automate the calculation of total item weight for your sales orders.  How does this work? First, you are required to capture the weight of all your items using a custom field. And when you create a sales order, you can either have the system display the individual weights for you or
        • Why Format section gets disabled when we create Merge Template over PDF

          I need some assistance I have a Client who is going to give certificates to users who passes his exam. So, I am using mail merge but in ZOHO writer after I upload the PDF and create merge Template over PDF the format Section gets disabled. My problem
        • Whatsapp Integration on Zoho Campaign

          Team: Can the messages from Zoho Campaign delivered through Whatsapp... now customers no longer are active on email, but the entire campaign module is email based.... when will it be available on whatsapp.... are there any thirdparty providers who can
        • How to calculate separate totals for Product Line Items filtered by category in Quotes?

          Hello! I'm working with Quotes in Zoho CRM and need help calculating conditional totals for line items. Current setup: I have two tables in my Quote template (Zoho Writer), both displaying Quoted Line Items Table 1 (top): Shows all products where Product
        • I Need Help Verifying Ownership of My Zoho Help Desk on Google Search Console

          I added my Zoho desk portal to Google Search Console, but since i do not have access to the html code of my theme, i could not verify ownership of my portal on Google search console. I want you to help me place the html code given to me from Google search
        • Zoho Desk API Documentation missing a required field

          We are trying to create a section using this information. Even after preparing everything based on that page, we still get an error. The error we get is this: {"errorCode":"INVALID_DATA","message":"The data is invalid due to validation restrictions","errors":[{"fieldName":"/translations","errorType":"missing","errorMessage":""}]}
        • Fetch Subform values through a lookup of a lookup

          Hi, I'm having an issue fetching the values of a subform through a lookup field through another lookup field. The code works perfectly to show me the subform row ID, but the second I try to get any readable data, it says "Error occurred. Please contact
        • Ability to modify what displays in calendar invite?

          I am a long time calendly user and want to make the switch to bookings.  I understand that there is not currently a meets/hangouts integration, is one on the roadmap? Is there anyway I can modify the calendar invite to include the meet link?  I can add it to the emails no problem, but I would also like it to display on their calendar.  Is there some work around I can do to get it on the calendar?  Also am I able to modify the calendar event title?
        • Turn Decision Box to a button

          Dear all, I need your help on CSS to turn a Decision Box to a Button. I have a Decision Box like: Turn on/off to refresh the information. (on User Input, either True or False, will refresh the information) Now I want to simulate to treat it like a Refresh
        • Emails not being received from a particular domain

          Cannot receive any emails sent from atco.com Domain is in the spam whitelist so should be no reason for it not to be coming through. Have filed a ticket and besides a generic response of we are looking at it - it seems there is no actual support workers
        • Stock Count

          The stock count is a nice new feature, but we cannot figure out how to: 1. Use it without assigning to a person, we have a team or one of multiple do stock counts as do most any company. 2. Add any extra fields to what the "counter" sees. The most important
        • Can you import projects into Zoho Projects yet?

          I see some very old posts asking about importing project records into Zoho Projects. But I can't find anything up to date about the topic. Has this functionality been added? Importing tasks is helpful. But we do have a project where importing projects
        • How to delete attachments form Zoho mail accounts

          I can't find a way to delete attachments from Zoho mail messages, either individually or in bulk. Searches here are providing conflicting results and often talk about workspace, whereas I am only interested in how to delete attachments that are seen with
        • Send Whatsapp message from Whatsapp template with custom variables

          Hi, I'm trying to do some basic integration for sending WhatsApp messages from Zoho CRM using Zoho Desk whatsapp templates. When creating new whatsapp template in Zoho Desk we can choose ticket related fields as variables but it's not clear how to use
        • Outgoing blocked: Unusual activity detected.

          I just made payment for my Zohomail Today and have been debited so i will like to be Unblocked because this is what it says (Outgoing blocked: Unusual activity detected) Thank you i await your swift responses
        • Integrating with My Own Application and ZOHO CRM Simultaneously

          I have my own WhatsApp bot that uses my WhatsApp business account. I want to use the same phone number to integrate with ZOHO as well. What is the recommended way to do that? Should I integrate my application with ZOHO, forwarding messages whenever the
        • How do i move multiple tickets to a different department?

          Hello, i have several tickets that have been assigned to the wrong department.  I am talking about hundreds of automatically generated ones that come from a separate system. How can i select them all at once to move them to another department in one go? I can select them in "unsassigned open tickets view" but i can't find a "move to another department" option. I also can't seem to assign multiple tickets to the same agent in that same view. Could somebody advice?
        • Transferring CRM Attachments to Workdrive

          relatedrecords = zoho.crm.getRelatedRecords("Attachments","Conditions",conId); attachid = List(); for each ele in relatedrecords { attachementId = ele.get("id"); attachid.add(attachementId); } for each ele in attachid { counter = 1; downloadFile = invokeurl [ url: "https://www.zohoapis.com/crm/v2/Conditions/" + conId + "/Attachments/" + ele type: GET connection : "work_drive" ]; resp2 = zoho.crm.attachFile("Deals",dealId,downloadFile); resp3 = zoho.workdrive.uploadFile(downloadFile, dealWD, "PlaceHolder"+counter+"",
        • New Customization options in the module builder: Quick Create and Detail view

          Hello everyone, We have introduced two new components to the module builder: Quick create and Detail view. The Quick Create Component It is a mini form used to create a record and associate it to the parent record from a lookup field. For example, if you have a Deals lookup in the Contacts module, then you can associate existing deals or create a deal and associate it with the contact. You can customize this Quick Create form by adding standard as well as custom fields. There is no limit to the number
        • unblock my zoho mail account. outlines@zoho.com

          please unblock my zoho mail account, outlines@zoho.com
        • SMTP email sending problem

          Hello, I've sent emails before, but you haven't responded. Please respond. My work is being disrupted. I can't send emails via SMTP. Initially, there were no problems, but now I'm constantly receiving 550 bounce errors. I can't use the service I paid
        • Mailk got blocked / Inquiry About Email Sending Limits and Upgrade Options

          Dear Zoho Support Team, My name is Kamr Elsayed I created this account to use for applying for vocational training in Germany. As part of this process, I send multiple emails to different companies. However, after sending only 8 emails today, I received
        • Forwarder

          Hi, I tried to add a forwarder from which emails are sent to my main zoho account email . However, it asks me for a code that should be received at the forwarder email, which is still not activated to send to my zoho emial account. So how can I get the
        • No chat option

          Chat option is not supported.
        • Direct “Add to Google Calendar” Option in Zoho Meeting

          Hello Zoho Meeting Team, Hope you are doing well. We would like to request an enhancement related to the “Add to Calendar” functionality in Zoho Meeting. Currently, when we open Zoho Meeting and view our meetings under My Calendar, there is an Add to
        • Default Tagging on API-generated Transactions

          If one assigns tags to an Item or Customer, those tags get auto-populated in each line item of an Invoice or Sales Order when one creates those documents. However, if one creates the Sales Order or Invoice via the API (either directly coding or using
        • DKIM cannot be enabled for the domain as no verified default selector present

          Hi Support Team, For Domain DKIM record trying to enable status. but showing error "DKIM cannot be enabled for the domain as no verified default selector present" So, please resolve the issue. Thank you.
        • Next Page