Variations
Product version: 1.0.0+1 Last updated: 2026-08-03 Audience: Tenant users with
product:variant:read(mutations useproduct:variant:*)
A. What Are Variations?
A Variation defines a dimension along which a product can have multiple variants. Variations are the building blocks of configurable products — products that come in multiple flavors, sizes, colors, materials, or any other differentiation.
Common variation examples:
| Variation | Example Options |
|---|---|
| Size | Small, Medium, Large, XL |
| Color | Red, Blue, Green, Black |
| Material | Cotton, Polyester, Linen |
| Storage | 128 GB, 256 GB, 512 GB |
| Screen Size | 13", 15", 17" |
Variations are optionally scoped to a category. When a variation has a category_id set, it only appears for products in that category. Unscoped variations (with category_id = null) are available to all products.
Note: A variation without a category association is a global variation and can be used across any product in the tenant.
B. Viewing the Variations List
- Go to Product Catalog > Variations from the main navigation.
- The variations list shows all variations in your tenant, paginated at 10 per page.
- Each row displays:
| Column | Description |
|---|---|
| Name | Variation name (e.g., "Color") |
| Category | Scoped category name, or "Global" if not scoped |
| Options | Count of options defined for this variation |
| Updated | Last modification timestamp |
Use the Category filter to show only variations scoped to a specific category.
C. Creating a Variation
Required permission:
product:variant:create
- Go to Product Catalog > Variations.
- Click Add Variation (the "+" button).
- Fill in the form fields:
| Field | Required | Description |
|---|---|---|
| Name | Yes | Variation name (max 255 characters). Use singular form: "Color" not "Colors" |
| Category | No | Select a category to scope this variation. Leave empty to make it a global variation |
- Click Save.
The variation appears in the list. You can now add options to it (see Creating Variation Options).
Tip: Plan your variation names carefully. They appear in product item configuration selectors and in the UI. Consistent naming (e.g., always singular) creates a better experience.
D. Creating Variation Options
Required permission:
product:variant:create
A variation is only useful once it has options — the specific values that users select when configuring a product item.
- Open the variation from the variations list by clicking its Name.
- In the Options section, click Add Option.
- Enter the option Value (e.g., "Red", "Small", "Cotton").
- Optionally set a Display Order to control position in dropdowns.
- Click Save.
Repeat for each option value you need.
Tip: Add all options for a variation before creating product items. This ensures all variation combinations are available when configuring items.
E. Editing Variations
Required permission:
product:variant:update
- From the variations list, tap a variation row to open its options list page.
- Click the Edit button (pencil icon).
- Modify the fields:
| Field | Editable |
|---|---|
| Name | Yes |
| Category | Yes (changing the scope may affect which products see this variation) |
- Click Save.
Warning: Changing a variation's name or category scope affects all product items that use this variation's options. Existing item configurations remain intact, but the variation name updates everywhere.
F. Associating Variations with Categories
Variations can be associated with a category at creation or edit time. This scoping determines which products can use the variation.
How scoping works
| Scope | Availability |
|---|---|
Global (category_id = null) |
All products in the tenant |
Category-scoped (category_id set) |
Products assigned to the specified category or any of its child categories |
Use cases for scoping
- Clothing department: Scope "Size" and "Color" to the "Clothing" category. Products in "Electronics" won't see these variations.
- Electronics department: Scope "Storage Capacity" to "Electronics > Computers". Only computer products will show this variation.
- Global: "Material" can be global if used across furniture, clothing, and accessories.
Checking a category's variations
- Open the category detail page (see Categories).
- The Variations section lists all variations scoped to that category.
- Variations inherited from parent categories are also shown (with an "inherited" indicator).
G. How Variations Create Product Item Configurations
Variations and their options combine to create product item configurations. This is how you represent a specific variant of a product.
The process
- Define variations — Create the dimensions (e.g., "Color", "Size").
- Define options — Add values for each dimension (e.g., "Red", "Blue", "S", "M", "L").
- Create product items — For each unique combination, create one product item and select the matching options. You can update an item's variation configuration later if needed.
Configuration example
Given: - Variation: Color → Options: Red, Blue - Variation: Size → Options: S, M, L
The product would have 6 possible items (2 colors × 3 sizes):
| Item SKU | Color Configuration | Size Configuration |
|---|---|---|
| TSH-RED-S | Color: Red | Size: S |
| TSH-RED-M | Color: Red | Size: M |
| TSH-RED-L | Color: Red | Size: L |
| TSH-BLU-S | Color: Blue | Size: S |
| TSH-BLU-M | Color: Blue | Size: M |
| TSH-BLU-L | Color: Blue | Size: L |
Database mapping
Each product item links to its variation options through the product_configurations junction table (ProductItemConfiguration). For the TSH-RED-S item:
| Configuration ID | Product Item ID | Variation Option ID |
|---|---|---|
| ... | TSH-RED-S | Red (option ID) |
| ... | TSH-RED-S | S (option ID) |
The system enforces that each combination of variation options is unique per product — you cannot create two items with identical configurations.
Previous: Categories Next: Variation Options
Related: Overview · Products · Items · Brands
See also: Tenant Owner Manual · Employee Manual