Help · Products · Attributes

Product Attributes: Variants, Option Types, and Rules

How to set up attributes in XONIC: from color selection to free-text fields and order tables, to combinations with their own item numbers, if-then rules, and prices that the store calculates based on your customers’ inputs.

The guide as a video (3:16 min., German audio with English subtitles): selection or information, creating attributes, option types, attribute groups, order table, rules and pricing formulas. AI-generated voice-over.

Video transcript

0:00 · Introduction

Color, size, a custom text or a made-to-measure price: With attributes, you turn one product into many variants. This video shows you in a few minutes how it works in XONIC.

0:15 · Selection or information

First, the most important distinction. If the customer has to choose something, such as color or size, it is a variant. Variants can change the price and have their own item number, their own stock and their own image. If it is just information, such as material or care instructions, use the option type “Show only”. This information appears on the product page under “Characteristics”.

0:42 · Creating and assigning attributes

You create attributes once under Products › Product features, for example “Size” with the values S to XXL. The sort order determines the order in the shop. In the product, you assign the attributes in the “Features” tab. Here you define how the customer chooses, whether they first see “Please select” and whether the selection is required. Each value has its own row: surcharge, item number, GTIN, stock and weight. The surcharge is entered as a net amount. The shop appends the value’s item number to the item number of the product, creating a unique number for every selection.

1:24 · Option types

Eleven option types are available: drop-down lists, radio buttons, large buttons with images, checkboxes, free-text fields and more. You define a text field in more detail via “Details”: as a number, date or text, with minimum and maximum values or a maximum length. The shop shows the limits directly below the field.

1:50 · Attribute groups and configurator

If you need stock or a GTIN for every combination, such as “Black in M”, combine color and size into an attribute group. A click on the plus sign links the attributes, “Add all values” creates all combinations. In the shop, the attributes then appear individually. The customer chooses the color first, then the size. Combinations that do not exist are locked.

2:20 · Order table

For bulk orders, there is the order table. The customer enters the quantity per size and adds everything to the cart with one click.

2:32 · Rules and pricing formulas

With the add-on module “Advanced Feature Functions”, the shop reacts to the selection. For example, a rule says: If the shirt is black, hide the print color black. Other rules show notes or prevent impossible combinations. And with a formula in the option price, the shop calculates the price from the inputs, here width times height.

2:59 · Wrap-up

You can find all settings, examples and tips in the “Product attributes” guide on xonic-solutions.de. And if you need help with the setup: our support team in Chemnitz is there for you.

11 Option Types for Individual Attributes
5 Displays for attribute groups
7 Reactions in the rule set
Per Value Price, GTIN, and Inventory

At a Glance

  • Selection or Information: If the customer must choose something (color, size, text), it is a selection attribute. If it is only a piece of information (material, care instructions), select the “Show only” option type.
  • Attributes apply store-wide: You create an attribute such as “Size” once under “Product features” and assign it to as many products as you like. You configure the option type, required field, and prices on a per-product basis.
  • Data per Value: You can manage surcharges, item numbers, GTINs, inventory, weight, and images directly for each value in the “Features” tab of the product.
  • Combinations: If you need inventory or GTIN for each combination (e.g., “Black / M”), group the attributes into an attribute group.
  • Indicator: Advanced Feature Functions refers to functions of the add-on module XONIC Premium: Advanced Feature Functions (rule set, pricing formulas, additional values, blocks, related products). Everything else is included in every XONIC Shop. The images show XONIC 4.9.140.

In this guide


The Terms: Attribute, Value, Option Type

In the backend, product attributes are called “Produktmerkmale” (German interface) or “Product features” (English interface). You’ll encounter these terms in all forms:

TermMeaningExample
Attribute (also option)A property that a product can haveColor, size, material
Value (also option value)One specific value of the attributeNavy, M, 100% organic cotton
Option typeHow the customer views and selects the attributeDrop-down list, buttons, text field, display only
Attribute groupMultiple attributes whose values are maintained as a combinationColor + Size = “Black » M”
Family (Master/Slave)Each variant is a separate product with its own pageA black shirt and a navy shirt as two separate items

The section Attributes or Separate Products explains which approach fits when.


Selection or Information: Variants and Display Attributes

The most important difference: Is the customer making a decision, or are they just reading?

Selectable Variants

The customer must or can make a selection before placing an order.

  • Typical attributes: color, size, style, custom text
  • Can affect the price (surcharge or formula)
  • Can have their own item number, GTIN, inventory, and image
  • Option types: Select, Radio, Checkbox, their button and popup variants, Text, Textarea, Cart

Display attributes

Purely informational; the customer does not select anything.

  • Typical attributes: Material, weight, care instructions, compatibility
  • Appear on the product page under “Properties”
  • Do not affect the price and do not prevent purchase from the product list
  • Suitable as filters and for imports from your inventory management system
  • Option type: Show only (visible) or Hide (invisible)
Product page for the Organic T-Shirt Classic with the color selection as image buttons, size M in the drop-down list, item number DW-TS-100-WEI-M, and the expanded properties material, fabric weight, and care instructions

The selection (color, size) appears at the top; the display attributes appear below under “Properties.” The item number is composed of the selected combination. Click to enlarge.

Rule of thumb: Does the customer need to make a selection? Then it’s a variant. Is it just information? Then it’s a “Show only” attribute. “Hide” is intended for attributes that should not appear in the store at all, such as an internal identifier. A “Hide” attribute can still carry a surcharge if its value is preselected.

Creating Attributes and Values

Under Products → Product features (German interface: “Produkte → Produktmerkmale”), you can manage all of the store’s attributes in one place.

List of product attributes with columns for ID, Name, Comment, Sort Order, Listing Status, Assigned Products, and Assigned Values, as well as the "Edit Attribute" button

The list shows how many products and values are associated with each attribute. Click to enlarge.

  1. Create an attribute: Click the “Insert” tab, enter a name for each language, and save. A comment helps distinguish between attributes with similar names (e.g., “Clothing Size” and “Shoe Size”).
  2. Create values: Use “Edit Attribute” and the “Attribute Values…” tab to create the values and determine their sort order. This order applies wherever you haven’t specified a custom order within the product.
  3. Set defaults: In the “Edit Attribute” tab, under “Preselection when adding to products,” specify the settings with which the attribute is added to a product: required field, option type, option image display, and item number sorting. This saves time when working with many products.
"Edit Size Attribute" form with sorting, listing status, name, comment, and the "Preselection when adding to products" block with a required field, one-time cost, option type, option image display, and item number sorting

Default settings that determine how the attribute is added to new products. Click to enlarge.

"Size Attribute Values" tab, showing the values S, M, L, XL, and XXL, their sort order from 1 to 5, and the number of products assigned to each

The values and their sort order. Click to enlarge.

Additional functions on this page:

  • Listing Status: If set to “visible,” “Show only” values for this attribute will also appear in the product list.
  • Merge: “Merge Option” and “Merge Option Value” clean up duplicate attributes and values, such as those created after an import.
  • Clean Up: “Delete unused product attributes” removes attributes without a product; “Delete unused values” does the same for values.
  • Edit Additional Values Advanced Feature Functions: Custom number columns per value for pricing formulas; see Pricing Formulas.
Attributes are also created during import: The xoPort interface automatically creates unknown attributes and values during product import. After an initial import, check the list for duplicates with different spellings.

Assign Attributes to a Product

Assignment takes place within the product: Products → Categories / Products → Edit Product → “Features” tab (German interface: “Merkmale”). This tab becomes available once the product has been saved.

"Features" tab for the organic T-shirt, with the toolbar and the expanded "Color" attribute: option type Radio (Button), option image display combined, item number sorting 1, and the values White, Black, and Navy with images and item number suffixes

Toolbar and the expanded “Color” attribute with its values. Click to enlarge.

The toolbar

  • Expand/Collapse (double arrow on the left side of the toolbar): opens or closes all attributes.
  • Add a Single Attribute (green plus sign): Add an attribute with selected values.
  • Attributes and Attribute Quick Selection (checkmark icon): Select multiple attributes and values at once.
  • Add Block Advanced Feature Functions: Organize attributes on the product page into sections with headings.
  • (Number) Rules Advanced Feature Functions: the product’s rule set.
  • Select Primary Option: The attribute whose values appear as tiles in the product list; see Primary Option.
  • Configure extension types (gear icon): Order and display of the “Purchase Price,” “MSRP,” and “Related Products” buttons below each value.
  • Product Attribute Profiles (selection on the right): A saved set of attributes that you assign to the product. The pencil icon next to it opens the profiles for editing.

Settings per Attribute

SettingEffect
Show “Please select”The customer first sees “Please select” instead of a preselected value. Combined with “Required field,” this prevents someone from accidentally ordering the first value.
Required fieldThe product cannot be added to the cart without a selection.
Option TypeThe display; see Option Types.
Option Image DisplayWhere the image of a value appears: “directly upon selection,” “in the image gallery,” or “combined (both).”
Item Number SortingHow the item number of the value is combined with that of the product; see Variant Data.
Details (text option type only)Data type and limits of the input field; see Option Types.
Save first, then check: Changes made in the “Features” tab are not applied until you click “Update” or “Save and Close.” The store will reject a required attribute without an active value with a message when you try to save it, to prevent the product from becoming unsellable.

Overview of Option Types

Eleven option types are available for individual attributes. They determine only the display; the data in the value remains the same.

Option TypeHow the customer sees the attributeTypical for
SelectDrop-down listMany values, e.g., sizes 36 through 48
RadioList with radio buttons; surcharges are shown after each valueFew values, e.g., print color, material
Radio (Button)One button per value, with an image if the value has oneColors with preview images, sizes as tiles
Radio (Popup)Selection in a separate windowMany values with images, e.g., designs, fabrics
CheckboxA toggle switch for each value; multiple selections allowed at onceAdditional Services
Checkbox (Button)Buttons, multiple selections possible at once, surcharge shown in the buttonExtras such as gift wrapping
TextSingle-line input field, can also be a number, date, color, or email addressCustom text, dimensions, delivery date
TextareaMulti-line input fieldOrder notes
Show onlyDisplayed only under “Properties”Material, technical specifications
HideHidden, even in the shopping cartInternal labeling, filter values
CartOrder table with quantity field for each valueBulk orders across multiple sizes; see order table
Selection options for the T-shirt with custom print: Color selected as image buttons with white, size M from the drop-down list, print color selected as radio buttons with gold for a 1.50 euro surcharge, custom text “TEAM NORD,” an empty text field labeled “Printing Notes,” and extras selected as buttons with gift wrapping

Six option types on a product page: Radio (Button), Select, Radio, Text, Textarea, and Checkbox (Button). Click to enlarge.

Where the selection appears on the product page

If there are up to three selection attributes, the selection appears in the price box next to the image; if there are more, it appears below under “Please make a selection.” You can set this limit under Settings → Design → Product Detail View → Maximum number of options in the price box (product info page) (DISPLAY_MAX_OPTIONS). On smartphones, the selection is always displayed in the price box.

Define Input Fields More Precisely (Text Option Type)

For the “Text” option type, the “Details” field appears next to the attribute. The button next to it (Input Help for HTML Attributes) opens the “Select Text Input Field Parameters” dialog. There, you specify:

  • Data type: text, number, date, color, or email. For “date,” a calendar appears; for “number,” a field with plus and minus signs appears.
  • Minimum and maximum lengths for text, minimum and maximum values and increment for numbers. The store displays these limits below the field.
  • Note regarding empty fields (placeholder text) and predefined content.

The dialog box writes the information into the “Details” field, e.g., maxlength=20;placeholder=z. B. Teamname. You can also enter it there directly.

"Select Text Input Field Parameters" dialog with data type "text," maximum length of 20, and the prompt "e.g., team name or slogan" when the field is empty

Custom text: maximum 20 characters, with placeholder text. Click to enlarge.

Ad banner inputs: Width 200 and height 100 as numeric fields with plus and minus buttons, along with the notes: minimum value 50, maximum value 500, increment 10; below that, material options: PVC banner at 29.80 euros and mesh banner at 37.79 euros

Number fields with limits. The material surcharge is calculated based on the entries. Click to enlarge.


Price, item number, GTIN, and inventory per value

Each value of a selection attribute has its own row with these fields:

The "Size" attribute in the Features tab with values ranging from S to XXL: Item number suffixes -S through -XXL, stock levels 20, 35, 40, 20, and 5; and for the value XXL, the option price is 1.6807

Size with stock per value and surcharge for XXL. The option price is shown net in the field. Click to enlarge.

FieldHow the store calculates
Option ImageImage of the value, depending on the “Option Image Display” setting—in the button, in the gallery, or both. Additional images are also possible for combinations.
Option PriceNet surcharge. The calculator next to the field displays the gross amount. With the add-on module XONIC Premium: Advanced Feature Functions, a formula may also be entered here.
Item NumberIs combined according to the “Item Number Sorting” setting of the attribute: 0 replaces the product’s item number; a negative value prepends it; a positive value appends it. Multiple attributes are sorted by their numerical value.
GTINThe store uses the first non-empty GTIN from the selected values. A unique GTIN per combination is only available with an attribute group.
Product QuantityEmpty: The product’s inventory applies. Non-empty: The inventory is the smaller of the product inventory and the value inventory. The product inventory should therefore be at least as high as the highest value inventory.
WeightAdded to the product’s weight, for example, to calculate shipping costs.
Purchase price, MSRPButtons below the image for cost calculations and price information.
Related Products Advanced Feature FunctionsAdds further products to the cart together with the value, or turns it into a bundle.
Example Item Number: The product has the item number DW-TS-100. “Color” has item number sorting 1 and the value “Black” with -SWZ; “Size” has 2 and the value “M” with -M. After making a selection, the customer sees the item number DW-TS-100-SWZ-M, and that is how it appears in the order. Separators must be included in the suffix; the store does not add its own.

The value’s stock is only deducted if Settings → Checkout → Inventory → Adjust inventory (STOCK_LIMITED) is enabled. With “Set sold-out products to inactive” (SOLD_OUT_SET_INACTIVE), the store deactivates a value as soon as its stock falls below 1.


Attribute Groups: Combinations with Their Own Item Number, GTIN, and Inventory

With two individual attributes, the store can track inventory and GTIN only per value, not per combination. If you have different quantities of “Black / M” and “Navy / M,” combine color and size into a single attribute group. Then each combination will have its own row.

How to create an attribute group

  1. Assign the first attribute to the product, e.g., “Color.”
  2. Click the green plus sign in the header of this attribute (tooltip: “Add option value to option group”) and select the second attribute, e.g., “Size.” The second attribute must not yet be assigned to the product individually; otherwise, it will not appear in the list.
  3. Click “Add Value.” The store will prompt you for the values one after the other—first the color, then the size. “Add All Values” creates all combinations at once (up to just under 200 combinations).
  4. For each combination, enter the item number, GTIN, inventory, and, if necessary, the image and price, then save by clicking “Update.”
Popover "Add Option Value to Option Group" with the red warning "Caution: All option values previously set for this option group will be removed!", a search field, and the list of attributes

Step 2: Select the second attribute. Click to enlarge.

"Color and Size" attribute group with the "Add Value to Color - Size" popover, the colors white, black, and navy, and the "Add All Values" button

Step 3: “Add All Values” creates all combinations. Click to enlarge.

Important note when restructuring: When you add an attribute to the group, the store removes the values previously set for that group. Therefore, only restructure existing products if you can re-enter the item numbers, GTINs, and inventory levels afterward—preferably via import.
The "Color and Size" attribute group of the team shirt with the "Radio (Button)" option type and the combination rows "White » S" through "White » XXL," each with its own item number (e.g., DW-TS-400-WEI-S), its own GTIN, and its own inventory

Each combination has its own row with an item number, GTIN, and stock level. Click to enlarge.

Display in the store: Configurator mode

There are five display options for attribute groups: Select, Radio, Radio (Button), Radio (Popup), and Cart. If a group contains two or more attributes, the store displays each attribute as its own field (configurator mode). The fields are interdependent: Size becomes selectable only after a color has been chosen (“Please select a color first”), and combinations that do not exist or are disabled appear with ⁽¹⁾ and are locked.

Product page for the Premium Team Shirt in configurator mode: Navy selected as the color; sizes S through XL available; XXL marked with a superscript 1 is disabled; above that, the note “Combinations of color and size marked with a 1 are not available!”; and below that, the summary: Color: Navy

Navy selected: The Navy/XXL combination is disabled and therefore locked. The image of the combination appears in the gallery. Click to enlarge.

You can set the threshold under Settings → Design → Product Listing → Option group size at which the split view (“configurator mode”) should be displayed (OPTIONS_SPLIT_NUM, default 2). Below this threshold, the store displays the group as a single field with entries such as “Black / M.” You can switch the summary below the fields on or off with “Option group summary in split view” (OPTIONS_SPLIT_SUMMARY).


Order Table: Multiple Variants in a Single Step (Cart Option Type)

With the “Cart” option type, a table appears below the product with one row per value. The customer enters the quantity for each row, and “Add to cart” adds all rows with a quantity greater than 0 as individual items to the shopping cart. This is suitable for clubs, companies, and resellers who order multiple sizes at once.

Order table for club shirts in sizes S through XXL, item numbers DW-TS-300-S through DW-TS-300-XXL, prices of 16.90 and 18.90 euros, and quantities of 3 for size M and 2 for size XL

Enter quantities by size, then click “Add to cart” once. Click to enlarge.

Shopping cart containing two items of the club shirt: size M (quantity 3) and size XL (quantity 2)

Result: two items in the shopping cart. Click to enlarge.

  • Only one “Cart” attribute is allowed per product. Use the attribute to which item numbers and stock levels are linked.
  • A “Cart” attribute cannot be a required field; the checkbox is not displayed.
  • Each row displays the value, its item number, the delivery information, and the price including any surcharge, along with the value’s image, if it has one.

Primary Option: Variants in the Product List and in the Google Feed

Use “Select Primary Option” in the “Features” tab to designate an attribute whose effect extends beyond the product itself.

Category page for textile printing featuring four T-shirts. Under two products, the tiles White, Black, and Navy, each with a preview image, appear under "Color:".

In the product list, the values of the primary option appear as tiles below the product. Click to enlarge.

  • Product list: The values appear as tiles with an image and name. Clicking on a tile opens the product page with that value preselected. The maximum number of tiles that can appear is set under Settings → General → Maximum Values → Maximum number of primary option images and names in the listing (MAX_PRIMARY_OPTIONS_IN_LISTING).
  • Google Feed: The feed for Merchant Center splits the product into individual entries based on the primary option, e.g., “Organic T-Shirt Classic - Color: Navy,” each with a price, image, and link to the preselected value. Only values with their own item number are split.
Item Number for the Feed: The feed adopts the item number of the value exactly as it appears in the field and does not combine it with the product’s item number. If you maintain the values of the primary option with only a suffix (e.g., -SWZ), the suffix appears as the item number in the feed. Enter complete item numbers for the feed and set the item number sorting of this attribute to 0.

Attributes as Filters in the Product List

Attributes can be used as filters on category and search pages; this applies to selection attributes as well as “Show only” and “Hide” attributes. You can configure which attributes appear as filters under Products → Product Filters. The guide Search the Store describes how the store filters and searches.

If you work with families (master/slave), the master inherits the filterable attributes of its slaves so that the family can be found in the filter along with all its variants.


Attributes or Separate Products (Families)?

Variants can be mapped in two ways. Both have their own item number, GTIN, and inventory.

Attributes on the productFamily (Master/Slave)
Product pageOne page for all variantsOne page per variant with its own URL
Text and ImagesShared, or one image per value or combinationSeparate description and images for each variant
PricesBase price plus a surcharge per valueSeparate price per variant, including tiered pricing and special prices
MaintenanceMinimal effort, all in one tabMore effort, but maximum flexibility
Suitable forColor, size, style, configuration, free textVariants that require custom content or need to be found individually

You set up product families in the product’s “General” tab: “Product Group (Master/Slave Products),” “Master Product,” and “Slave Display Type” (Listing, Select, Radio, Radio (Button), or Radio (Popup)). Both can be combined—for example, one family per color with the “Size” attribute in each slave.


Rule Set: If-Then Rules for Selection

Advanced Feature Functions The rule set reacts to the customer’s selection: It hides values or entire attributes, sets values, displays notes, or prevents invalid combinations. It is part of the add-on module XONIC Premium: Advanced Feature Functions.

You can open it in the “Features” tab using the “(Number) Rules” button. The “Manage Rules for …” dialog lists all rule blocks for the product. Each block consists of one or more conditions and one or more reactions.

"Manage Rules for DW-TS-200" dialog box with four rule blocks: Color = Black hides the value "Black" in the print color; Color = White hides the value "White"; Size = XXL displays a note about delivery time; Number of items ≥ 50 displays a note about the volume discount; below that are the buttons "New Entry," "Copy Rules," and "Paste Rules"

Four rule blocks for the T-shirt with custom print. Click to enlarge.

Rule block being edited: "All Rules (and)" logic, status: active, condition: color equals black, and reaction: "hide option value" for the black print color, with the buttons "New Condition," "New Reaction," and "Save as New Rule"

One block: If color = Black, then hide the “Black” print color. Click to enlarge.

Conditions

  • Customer selection/attribute entry: the attribute being checked. There are also “--Number of items--” (the quantity in the shopping cart) and “--No condition (always execute)--”.
  • Comparison operators: < (less than), ≤ (less than or equal to), = (equal to), ≠ (not equal to), ≥ (greater than or equal to), > (greater than). This also allows you to check text entries and numbers, such as “Width > 300.”
  • Comparison: a fixed value (“--Select Value--”), a formula (“--Enter Formula--”), or another attribute.
  • Logic: For each block, either “All Rules” (and) or “At Least One Rule” (or) applies. If you need both, create two blocks.

The Seven Reactions

ReactionEffectExample
Warning MessageA note at the top of the page; the customer can still order“We manufacture size XXL to order.”
Error messageA note; the product cannot be added to the shopping cart, and the affected attributes are highlighted in red“This combination is not possible.”
Change option valueSets a value; if the target is “--Number of items--,” it also sets the quantityFor “Express Production,” automatically set “Express Shipping”
Hide option valueHides a value (including “all option values”)Print color: Black for a black shirt
Show option valueShows a valueSpecial color only for the “Deluxe” version
Hide optionHides an entire attribute and removes its required field statusHide “Engraving” for glass
Show optionShows an entire attribute“Custom Text” only appears when “With Print” is selected

The “Immediate reaction without waiting for a click on the shopping cart” toggle (arrow icon next to the reaction) triggers the reaction as soon as the customer makes a selection. Without it, the store checks only when “Add to cart” is clicked—which is suitable for error messages. The server evaluates the rules, not the browser, so they cannot be bypassed.

Product page showing the color black and size XXL: The print color options now only include white and gold; black is hidden

Black Shirt: The print color “Black” is hidden. Click to enlarge.

Yellow note at the top of the product page: “We manufacture size XXL to order. Delivery time is extended by 3 business days.” and the price is 26.90 euros with an XXL surcharge

Size XXL: The warning message appears at the top of the page. Click to enlarge.

  • Status: Each block can be disabled individually. If a block cannot function in this state, the store saves it as disabled and reports this.
  • Copy and Paste Rules: Transfers rules to another product via the clipboard, either as an addition or a replacement.
  • Via API: Rules can also be read and written via the xoPort API (options_rules field).
Without a license: If the add-on module expires, existing rules remain in effect but can no longer be edited. Therefore, be sure to disable any rules you no longer need beforehand.

Pricing Formulas and Additional Values

Advanced Feature Functions With the add-on module XONIC Premium: Advanced Feature Functions, you can enter a formula instead of a number in the “Option Price” field. This allows the store to calculate prices based on the customer’s inputs, such as area, length, or quantity.

The "Material" attribute of the advertising banner with the values "PVC tarpaulin 510 g/m²" and "mesh tarpaulin", each with a formula such as ov10*ov11/10000*12.52 in the "Option Price" field

Formula in the option price: Area in m² multiplied by price per m². Click to enlarge.

How the example works

The advertising banner has the text fields “Width in cm” (attribute ID 10) and “Height in cm” (ID 11), both with the data type “number.” For the value “PVC tarpaulin 510 g/m²,” the option price is:

ov10*ov11/10000*12.52

Width times height divided by 10,000 equals the area in m², multiplied by €12.52 net (€14.90 gross) per m². For 200 × 100 cm, that is 2 m², so the surcharge is €25.04 net or €29.80 gross. The attribute ID is listed under “Product features.”

Price box of the made-to-measure advertising banner showing the calculated price of 39.70 euros, including 19 percent VAT

200 × 100 cm in PVC: €9.90 base price plus €29.80 area price. Click to enlarge.

PlaceholderMeaning
ov10Number entered by the customer in attribute 10; for selection attributes, the number in the name of the selected value (e.g., 25 for “25 m”)
bpBase price of the product without attributes
op5Option price of the selected value in attribute 5
oa5_2Additional value of the selected value in attribute 5, column 2 (from “Edit Additional Values”)
ex12Content of product extra field 12
trTax rate for the product
  • + - * / ( ) and numbers with a period as the decimal separator (12.52, not 12,52) are allowed. Division by 0 results in 0.
  • Formulas calculate using net prices, just like the option price itself.
  • The “Weight” field also accepts a formula, such as weight per m².
  • Additional values are managed under Products → Product features → “Edit Additional Values”: a table with separate columns for each value, such as price per m² and weight per m² for each material.
The formula will not calculate without a license: If the add-on module expires, a formula in the option price will result in €0. Check products with formulas before canceling the module.

Practical Examples

Advertising Materials
Custom banners, films, and signs: Width × Height × Price per m², with eyelets and material as selectable options.
Textile Printing
Print color matching the shirt color, custom text with a character limit, and a note once a certain quantity is reached.
Furniture and Custom Cuts
Price based on dimensions, upholstery fabrics by furniture type, error message for invalid combinations.
Sold by the Meter
Length as a numeric field with increment, price per meter calculated by formula.
Technology and Replacement Parts
Compatibility as “Show only” and as a filter; accessories via “Related Products.”
Clubs and Companies
Order table for bulk orders; logo position as a selection with images.

Import, Export, and Interface

  • CSV: Under Tools → xoPort CSV Import/Export Manager, there is a port called “Product Options (Attributes)” for attributes, values, prices, item numbers, and inventory levels.
  • REST API: The product import accepts attributes in the field options and creates missing attributes and values. The export provides individual attributes in options and attribute groups with all combinations in option_groups. Rules are specified in the field options_rules. Details are available in the API documentation for Products.
  • Inventory Management: “Show only” attributes are well-suited for data from your inventory management system because they do not affect the ordering process.

Protection Against Incorrect Orders

Three checks prevent orders from being placed without a valid selection:

  • When saving a product: The store rejects a required attribute without an active value or a preselection set to an inactive value, displaying a message.
  • When restoring a shopping cart: If a customer logs in and an older shopping cart is retrieved, the store checks the saved selections. If a value no longer exists, it points this out instead of calculating the item incorrectly.
  • At checkout: Under Settings → Privacy → GEO IP Policies → Check for missing attribute selection at checkout (CHECKOUT_ATTRIBUTE_GUARD_MODE), you can specify what happens when an item lacks a required attribute: off (no check), log (log only; default), or block (block checkout). Such items are not created via the product page, but rather through the upload of an item list, for example. If a saved selection is no longer available for order, the checkout process will always block the transaction.

Overview of Settings

SettingWhereEffect
Maximum number of options in the price box (product info page)
DISPLAY_MAX_OPTIONS
Settings → Design → Product Detail ViewUp to this number, the selection is displayed in the price box (default: 3)
Option group size at which the split view (“configurator mode”) should be displayed
OPTIONS_SPLIT_NUM
Settings → Design → Product ListingWhen the number of attributes reaches this value, a group appears as individual fields (default: 2)
Option group summary in split view
OPTIONS_SPLIT_SUMMARY
Settings → Design → Product ListingSummary of the selection below the fields
Images in the product properties box
ATTRIBUTES_SHOWONLY_WITH_IMAGES
Settings → Design → Images“Show only” values with their images under “Properties”
Maximum number of primary option images and names in the listing
MAX_PRIMARY_OPTIONS_IN_LISTING
Settings → General → Maximum ValuesMaximum number of tiles in the product list
Base price function on/off
BASE_PRICE_OPTION
Settings → General → Basic SettingsShows the “Base Price Factor” column next to the value
Adjust inventory
STOCK_LIMITED
Settings → Checkout → InventoryDeducts the inventory of the product and the value
Set sold-out products to inactive
SOLD_OUT_SET_INACTIVE
Settings → Checkout → InventoryDisables sold-out products and values
Check for missing attribute selection at checkout
CHECKOUT_ATTRIBUTE_GUARD_MODE
Settings → Privacy → GEO IP Policiesoff, log, or block; see above

Pitfalls and Tips

  • Product stock is too low: The stock level is determined by the lower of the product’s stock and the value’s stock. If the product’s stock is 0, the variant is considered out of stock, even if the value’s stock is 50.
  • Second attribute missing when grouping: An attribute that is already assigned to the product individually cannot be added to the group. Remove it first.
  • Option price is net: If you want a €2 gross surcharge, enter 1.6807 for 19% VAT or use the calculator next to the field.
  • Comma in formulas: In formulas, only the period is used as the decimal separator.
  • No selection enforced: Without “Please select,” the first value is already selected by default. For sizes, this can lead to incorrect orders. Enable both “Please select” and “Required field” together.
  • Duplicate attributes after imports: “Größe” and “Groesse” are treated as two separate attributes by the store. Merge them under “Product features.”
  • Item Numbers in the Google Feed: The values for the primary option require complete item numbers; see Primary Option.
  • Converting to an attribute group: When grouping, the group’s existing values will be lost. Back up item numbers, GTINs, and inventory levels beforehand, for example via a CSV export.

Checklist for a New Variant Product

  1. Create attributes and values under Products → Product features, then sort the values.
  2. Decide: individual attributes, attribute group, or family?
  3. Assign attributes in the “Features” tab and set the option type, “Please select,” and the required field.
  4. For each value, enter the surcharge, item number, GTIN, inventory, and image.
  5. Set the product’s inventory at least as high as the highest value inventory.
  6. Specify the primary option if you want the variants to appear in the product list and in the Google feed.
  7. If necessary, create rules and formulas Advanced Feature Functions.
  8. Save, then click through each selection once on the product page: Price, Item Number, Image, and Stock.

Frequently Asked Questions

How many option types are there?

Eleven for individual attributes: Select, Text, Radio, Radio (Button), Radio (Popup), Checkbox, Checkbox (Button), Textarea, Show only, Hide, and Cart. For attribute groups, the display options are Select, Radio, Radio (Button), Radio (Popup), and Cart.

Can each variant have its own inventory?

Yes, in the “Product Quantity” field of the value. To have a stock level per combination (e.g., “Black / M”), group the attributes into an attribute group.

How does each variant get its own GTIN?

For a single attribute (e.g., size only), enter the GTIN in the “GTIN” field of the value. For two attributes, use an attribute group, since each combination has its own row there. Alternatively, create a family with separate products.

Why doesn’t the product image change with the color?

Check the “Option Image Display” setting of the attribute: “directly upon selection” displays the image only in the button. For attribute groups, the image of the combination appears in the gallery.

Can I calculate the price based on area or length?

Yes, with the add-on module XONIC Premium: Advanced Feature Functions. Create text fields with the “number” data type and enter a formula such as ov10*ov11/10000*12.52 in the option price field.

How do I prevent invalid combinations?

With the rule set from the add-on module XONIC Premium: Advanced Feature Functions. Hide the invalid value (“hide option value”) or display an error message. For attribute groups, simply do not create the combination or disable it; it will then appear locked.

What happens to rules and formulas when the add-on module expires?

Rules remain active but can no longer be edited. Formulas in the option price will result in €0. Check affected products beforehand.

Can a customer order multiple sizes at once?

Yes, using the “Cart” option type: It displays an order table, and clicking “Add to cart” adds all rows with a quantity to the shopping cart.

Further Guides

We’ll help set up your variants

We can help with attributes, attribute groups, rules, and pricing formulas, including imports from your inventory management system.

Contact Support Now