Returns kit options for a designated, kitted product.


The item_kitting function is used to display editable kit component items, e.g here on Skeletal.

The selected SKU is checked for nostock checkout options and if none are present, changes it so that when stock quantity is less than the specified minimum assemble amount, the corresponding fields change to un-selectable/inactive.

If the kit is non-editable, the item_kitting function can be used to list out the kit components within the kit.

Kitted Product Components

Individual kit components can be assigned to a kit group, allowing for kit group logic to occur and to group them on the product page. Individual limits can be set per group/per component, e.g: min/max purchase limits. Group panels and inputs can be applied in the group_header and hidden until necessary.

[%param *group_header%]
    <input type="hidden" id="model[@rndm@][@SKU@]" name="model" value="[@model@]">
    <input type="hidden" id="thumb[@rndm@][@SKU@]" name="thumb" value="[@thumb@]">
    <input class="input-tiny btn-large" id="qty[@rndm@][@SKU@]" name="qty" value="[%if [@min_qty@]%][@min_qty@][%else%]1[%/if%]" size="2" type="hidden">
    <input type="hidden" id="sku[@rndm@][@SKU@]" name="sku" value="[@SKU@]">
    <input type="hidden" id="sku[@rndm@][@SKU@]" name="sku" value="[@QTY@]">
    <div class="row">
        <div class="col-xs-12">
            <div class="panel panel-default">
                [%if [@assemble_group_fullname@]%]
                    <div class="panel-heading"><h3 class="panel-title">[@assemble_group_fullname@]</h3></div>

Regarding individual kit component quantity: If store quantity exceeds the allotted assembly quantity, default quantity will be used for kit components. Otherwise, minimum quantity will be used instead.

Editable Kit

Editable kits allow for the kit component quantities to be adjusted by the shopper. They can have variation products as kit components, and are created when you apply a parent product (product with variations) as a kit component item.

In Skeletal on the products/includes/components template, item_kitting includes an [%if ![@has_variation@]%] check in the body parameter, outputting a different product thumbnail to cater for the variation logic.

Standard product thumbnail in item_kitting

[%param *body%]
    [%if ![@has_variation@]%]
        <div class="col-xs-12 col-md-4 wrapper-components-thumbnail">
            <input type="checkbox" id="[@sku@]a" class="hidden" checked>
            <div class="components-thumbnail thumbnail component[@group_count@]">
                <img class="component-var-thumb" component-id="[@component_count@]" src="[%asset_url type:'product' id:'[@SKU@]' thumb:'thumb'%][%/asset_url%]" alt="[@model@]" border="0" id="main-image">
                <div class="caption">
                    <h4 class="title">[%format type:'text' maxlength:'50' rmhtml:'1'%][@model@][%/FORMAT%]</h4>
                    <p class="price">
                        [%if [@itm_price@]%][%format type:'currency'%][@itm_price@][%/ format%]
                            [%if [@inpromo@]%]<strong>Now</strong> [%format type:'currency'%][@promo_price@][%/format%]
                            [%else%][%format type:'currency'%][@store_price@][%/format%]
                    <div class="input-group">
                        <span class="input-group-addon">QTY</span><input type="number" min="[@min_assemble@]" [%if [@max_assemble@]%]max="[@max_assemble@]" [%/if%] id="productkitting[@rndm@][@kitting_sku@][@component_count@]" value="[@qty@]" ref="[@sku@]" class="component-config-input form-control" [%if [@fixed_assemble@]%]readonly[%/if%]>
        <!-- variation thumbnail -->

The main difference to the variation kit component thumbnail is that it includes a section for the variation select as select inputs using the list_item_variations function:

[%list_item_variations id:'[@current_sku@]'%]
    [%param *variation_header%]
        <select class="component-var-opt form-control component-config-input" component-id="[@component_count@]" ref="[@specific_id@]">
            <option value="" disabled selected>[@specific_name@]</option>
    [%param *variation_body%]
            <option value="[@value_id@]">[@value_name@] [%IF ![@variation_qty@]%](Out of Stock)[%/IF%]</option>
    [%param *variation_footer%]


Name Options Description
`id:''` String The SKU you want to query
`variation_kitting:''` `1`,`0` Determines whether a component has variations applied to it. `0` will disable selecting variations
`template:''` Name of the template without the .template.html Loads the template specified. If there is no value, it will load the default product template
`*header` HTML & b@se tags Renders a single usable space above the body
`*body` HTML & b@se tags Runs an array for result
`*footer` HTML & b@se tags Renders a single usable space below the variation options
`*group_header` HTML & b@se tags Renders a single usable space above the group body
`*group_footer` HTML & b@se tags Renders a single usable space below the group body
`group_id` HTML & b@se tags ID specific to grouped kit components
Data Tag Example Description
`[@kit_price_total@]` 7.95 Minimum cost of the components that are required in the kit
`[@total_components@]` 2 Total number of components
`[@total_results@]` 2 Number of components displayed
Name Product Field Example Description
`[@assemble_group_fullname@]` Full Name (Group) Accessories Kitting group Full Name
`[@assemble_group_id@]` 23 Internal ID number of the kitting group
`[@assemble_group_name@]` Internal Name (Group) Additional options Kitting group Internal Name
`[@assemble_group_paramsuffix@]` Parameter Suffix (Group) colour Set this to override the parameter sent to the **item_kitting** tag in front-end templates. eg set this to "colour" and the system will first look for a param called **body_colour** for the items, and **group_header_colour** and **group_footer_colour**. They will default to **body**, **group_header** and **group_footer** if this is not set.
`[@assemble_min_qty@]` Min Qty (Group) 1 Minimum order quantity for the kitting group
`[@assemble_max_qty@]` Max Qty (Group) 10 Minimum order quantity for the kitting group
`[@kit_price_total@]` 7

Data Tags (body)

Name Product Field Example Description
`[@acc_code@]`, `[@custom_label@]` Custom Label/Code 220/MDC Product identifier for eBay or accounting integration
`[@actual_height@]` Assembled Height 0.420 Assembled height in metres
`[@actual_length@]` Assembled Length 0.990 Assembled length in metres
`[@actual_width@]` Assembled Width 1.200 Assembled width in metres
`[@allow_oversell@]` Inventory Policy y **y** - Don't track inventory for this SKU, **n** - Track inventory for this SKU
`[@approval@]` Approved to show on Webstore y Display on webstore. **n** - no, **y** - yes
`[@approval_pos@]` Approved to show on POS y Available to be sold on POS
`[@arrival_date@]` Date arrival 2018-12-31 Date at which the item is available. Displays date if in the future or nothing if the date is today or in the past (YYYY-MM-DD)
`[@artist_author@]` Author/Artists John Green Name of the author or artist
`[@assemble_group_fullname@]` Full Name (Group) Accessories Kitting group Full Name
`[@assemble_group_id@]` 23 Internal ID number of the kitting group
`[@assemble_group_name@]` Internal Name (Group) Additional options Kitting group Internal Name
`[@assemble_group_paramsuffix@]` Parameter Suffix (Group) colour Set this to override the parameter sent to the **item_kitting** tag in front-end templates. eg set this to "colour" and the system will first look for a param called **body_colour** for the items, and **group_header_colour** and **group_footer_colour**. They will default to **body**, **group_header** and **group_footer** if this is not set.
`[@assemble_min_qty@]` Min Qty (Group) 1 Minimum order quantity for the kitting group
`[@assemble_max_qty@]` Max Qty (Group) 10 Minimum order quantity for the kitting group
`[@assemble_qty@]` Qty 1 Default quantity of this component in the kit
`[@asset_account@]` Asset Account 203 Accounting platform asset mapping
`[@auto_url_update@]` Automatically update URL y If **y**, the product web address will change when the name is updated
`[@availability_description@]` Availability Description New stock arriving in December Details of when the product will be available
`[@available_preorder_quantity@]` 79 The total of the **Qty on Hand** and **Preorder Qty**
`[@avg_cost_price@]`, `[@cost@]` Cost Price (Excl Tax) 2.03750000 The cost price of the product
`[@barcode@]` UPC/EAN 9300675031301 Product barcode
`[@barcode1@]` UPC/EAN 1 9300675031302 Second product barcode
`[@barcode2@]` UPC/EAN 2 9300675031303 Third product barcode
`[@barcode3@]` UPC/EAN 3 9300675031304 Fourth product barcode
`[@barcode_height@]` 0 Height of the barcode image on the product label (adds extra white space). See [barcode_url](
`[@base_unit@]` Base Unit of Measure kg The base unit of measure (ctn, ea, L,ml, cm, m, lb, g, kg)
`[@base_unit_qty@]` Base Unit Per Qty 2.0000 For display purposes only. Multiplies the actual qty by this qty. For example if base unit qty is 1.9 then a qty of 2 will display as 3.8
`[@brand@]` Brand Kingston Product brand
`[@brochure_url@]` Web address of the PDF brochure. This is not the brochure in the *Images* section of the product details
`[@build_quantity@]` 88 Number of this product(s) available based on the **Min Qty** and **Max Qty**
`[@buy_qty@]` 1 Used for purchasing, buy quantity is a reference typically used for the box size order quantity when you purchase one "Unit" from the supplier
`[@cogs_account@]` Cost of Goods Account 5-2035 Accounting platform Cost of Goods mapping. Displays the number or ID of cost of goods/sale account
`[@committed_quantity@]` Total Qty Committed 5 Number of this product committed to orders
`[@component_count@]`, `[@count@]` 0 Unique number for each component displayed started at **0**
`[@coupons@]` 1 Is this a required product in a Discount Coupon? **0** - no, **1** - yes
`[@created_at@]` 2017-04-21 10:07:34 (YYYY-MM-DD HH:MM:SS)
`[@cubic@]` Cubic 0.010626 Shipping length x width x height in cubic metres
`[@date_created@]` 2017-11-08 Date the product was created (YYYY-MM-DD)
`[@default_purchase_price@]` Default Purchase Price (Excl Tax) 9.35910000 Default purchase price of the item. Used with third party accounting systems
`[@description@]` Description

Latest novel from John Green

Product description
`[@display_template@]` Website Design Template custom Name of the theme template assigned to the child product. Blank is default
`[@ebay_description@]` eBay Description

Latest novel from John Green

eBay product description
`[@ebay_quantity@]` Available 9 Product quantity devoted to eBay listings
`[@editable_bundle@]` Editable Kit n Is this product an editable kit. **n** - no, **y**- yes
`[@expense_acc@]` Expense Account 315 Expense account ID or number from the linked accounting software
`[@extra@]` Extra Options **Gift Message;*-TEXT_FIELD-;LENGTH=+80 Non-inventoried extras you offer the customer at the point of purchase. See [Product Import and Export Field Definitions](
`[@features@]` Features

Signed by the author

Product features
`[@format@]` Format Soft Cover The format of the product
`[@free_gifts@]` 0 Free gifts applied from a discount/coupon
`[@gp_restriction@]` Visible to User Groups 0 If visible to user group the customer is assign to, returns `0` otherwise it returns a high number
`[@group_count@]` 0 Counter of the items in the kitting group
`[@handling_time@]` Handling Time 2 Number of days between receiving an order from the customer, and having the order ready for shipping
`[@has_child@]` 0 Boolean that when true indicates the SKU has child items / variations
`[@has_components@]` 0 Does this product have kit components. **0** - no, **1** - yes
`[@has_from_price@]` 1 Is the price of this child product is used on the thumbnail. Normally the cheapest but can be changed to the dearest. **1** - yes, **0** - no
`[@has_mlp@]` 0 Does this product have Multi Level Pricing. **0** - no, **1** - yes
`[@has_variation@]` 1 Has variation / child products. **1** - yes, blank - no
`[@height@]` Shipping Height 0.230 Shipping height in metres
`[@hs_tariff_number@]` HS Tariff Number 490591 The products Harmonized Commodity Description and Coding System number. This number is used when shipping products overseas. Import duties and taxes are calculated based on this number
`[@image_url@]` Download Image From URL (optional) URL of an image fetched from a third party website. It will be downloaded to your site and updated whenever the third party image is updated. Only use this feature if you have the permission of the third party website owner
`[@image_url_check_days@]` Image Download Check Interval 15 The image URL in `[@image_url@]` will be re-checked every of these days. Set to **0** to disable periodic checking
`[@income_account@]` Income Account 215 Income account in the linked accounting software
`[@incoming_quantity@]` Incoming Qty 12 Expected qty you have coming into stock on pending purchase orders
`[@inpromo@]` 1 Is the product on promotion. **0** - no, **1** - yes
`[@instock@]` 1 Is the product in stock. **0** - no, **1** - yes
`[@internal_note@]` Internal Notes Get more stock for Christmas Displays the internal note stored on the product
`[@inventory_id@]` 22343 Unique number for this product
`[@is_au_gst_exempted@]` AU GST Exempt 0 If you are based outside Australia and need to pay GST, this indicates if GST is applicable on this product. **0** - no, **1** - yes
`[@is_bought@]` Item Is Bought n Can this product be purchased from a supplier? Used for accounting platform integrations. **n** - no, **y** - yes
`[@is_inventoried@]` Item Is Inventoried n Tracks stock for a product. Used for accounting platform integrations. **n** - no, **y** - yes
`[@is_kit@]` 0 Is this a kitted product. **0** - no, **1** - yes
`[@is_neto_utility@]` 0 Internal product such as SHIPPING and ROUNDING. Using for POS and accounting integrations. **0** - no, **1** - yes
`[@is_sold@]` Item Is Sold n Can this product by purchased by a customer? Used for accounting platform integrations. **n** - no, **y** - yes
`[@itm_gp_id@]` 0 A unique id for kits/variations/parent items, typically for internal use
`[@itm_price@]` Price 110.00 Price for one of this component product
`[@itm_sortorder@]` Sort Order 1 1 Sort order (ascending order)
`[@itm_sortorder2@]` Sort Order 2 2 Sort order (ascending order)
`[@itm_subtype@]` Subtype Paperback The product subtype
`[@keywords@]` Search Keywords vlogbrothers,youtube Hidden search keywords are words that people may use when trying to find your products
`[@kitting_sku@]` Kitting A1865 The SKU of the kitted product
`[@length@]` Shipping Length 0.220 Shipping length in metres
`[@limited_stock@]` 1 Displays true when the stock is lower then the global configuration for "low stock"
`[@manufacturer_model@]` Manufacturer model number A7DC/K The manufacturers model number of the product
`[@min_assemble@]` Min Qty 1 Minimum order quantity. If it is a non-editable kit, it is the value of the `Qty` field
`[@max_assemble@]` Max Qty 10 Maximum order quantity. If it is a non-editable kit, it is the value of the `Qty` field
`[@misc1@]`, `[@misc2@]`, etc *custom field name* The Fault in Our Stars Custom product fields
`[@mlp_price@]` Multilevel Pricing 71.00 Cheapest multi level price unless regular price is cheaper
`[@model@]`, `[@name@]` Name Turtles All the Way Down Product name
`[@notax@]` Tax Free Product n Tax Free Product. **n** - does attract tax, **y** - does not attract tax
`[@origin_country@]` Origin Country AU Country where the product was made. This is the [ISO 3166-1 alpha-2]( code for the country
`[@parent_inventory_id@]` - 22237 If the item is a child item, returns the ID number of the parent product
`[@parent_sku@]` Parent BA72-4 If the item is a child item, returns the SKU of the parent product
`[@pick_priority@]` FIFO Will display either `FIFO` (First in, first out), `FEFO` (First expired, first out) or `LIFO` (Last in, first out)
`[@pick_scan_qty@]` Pick Qty Per Scan 1 When using Pick n Pack, the number of products marked picked when the product is scanned
`[@pick_zone@]` Pick Zone A225 Where this product is located in your warehouse
`[@preorder@]` 1 Is the product on pre-order. **0** - no, **1** - yes
`[@preorder_date@]` Date arrival 2018-12-31 Returns date if in the future otherwise blank
`[@preorder_quantity@]` Preorder Qty 80 Quantity of the product available to be purchased on pre-order
`[@price@]` Price 100.00 Product price based on the group the customer is assigned to. Does not take into account promo pricing
`[@primary_suppliers_id@]` Primary Supplier PENG ID of the products primary supplier
`[@primary_warehouse_id@]` Primary Warehouse 3 ID number of the warehouse that sales will be allocated to
`[@print_label@]` Print Item Labels During Pick? 1 Determines if a product label is printed when the order is processed. **-1** - every item, **0** - none, **1** - one, **2**, etc - custom
`[@product_subtype@]` Subtype Paperback The product subtype
`[@product_type@]` Type Book The product type
`[@product_url@]` Link to the full external product URL. Can only be exported using the export wizard/template or added/updated/retrieved with Maropost Commerce Cloud API
`[@promo_end@]` Promo End 2018-08-04 12:00:00 Promotion end date (YYYY-MM-DD HH:MM:SS)
`[@promo_id@]` Promotion Tag Winter Sale For internal tagging of promotions. Used reporting and tracking purposes
`[@promo_price@]` Promo Price 90.00 Product promotional price based on the group the customer is assigned to
`[@promo_save@]` 10.00 Difference between the regular price and the promo price (percentage)
`[@promo_start@]` Promo Start 2018-08-04 12:00:00 Promotion start date (YYYY-MM-DD HH:MM:SS)
`[@purchase_taxcode@]` Purchase Tax Code INPUT Tax code that will apply to purchase orders when tax is assigned on an order line
`[@qty@]` Qty 1 Default quantity of this product in the kit
`[@ref@]` 0 Import specific reference number
`[@regen_url@]` n If set to **y**, it will regenerate the product URL next time the batch job is run which will then switch this field to **n**
`[@reorder_quantity@]` Reorder Qty 30 The quantity to reorder from the supplier, used for accounting systems.
`[@req_pack@]` This Product Can Be Packaged (Boxed) With Other Products y Product can be packed or boxed with other products. **n** - no, **y** - yes
`[@restock_quantity@]` Restock Qty 100 When stock quantity gets below this level you will be alerted in purchasing reports
`[@restock_warning_level@]` Restock Warning Level 10 If this feature is turned on, an email notification will be sent if the stock on hand gets below this number
`[@retail@]` RRP 125.00 Recommended retail price
`[@sales_commission_percent@]` Referral Commission 2.30 Percentage of commission given to salesperson
`[@save@]` 28.00 Percentage difference between the RRP and the selling price
`[@sell_qty@]` 1 Used for purchasing, sell quantity is the quantity of a box of items sold to the customer
`[@sequence@]` 0 Counter of the displayed products in the kit
`[@serial_tracking@]` Serial Tracking y Track serial number on this product. **n** - no, **y** - yes
`[@service_only@]` Service Item n Service product. Shipping methods and rates are ignored for service items
`[@sh_type_id@]` Shipping Category 1 ID number of the shipping category. Blank if **Service Item** is selected
`[@shipping@]` Shipping Weight 0.5100 Shipping weight for the product in kilograms
`[@short_description@]` Short Description Turtles All the Way Down is a young adult novel written by American author John Green Short product description (up to 255 characters)
`[@single_price@]` 110.00 Price for one of this product
`[@sku@]` SKU 17MD-Black Product SKU
`[@specifications@]` Specifications 329 pages Product specifications
`[@split_for_picking@]` Split for Warehouse Picking n Whether kit is split for picking. **n** - no, **y** - yes
`[@start_date@]` Date arrival 2018-07-31 The date the next order from the supplier is due to arrive (YYYY-MM-DD)
`[@stockpriceupd_date@]` 2018-07-24 19:36:17 Last time the stock price was updated, even if it was the same figure. (YYYY-MM-DD HH:MM:SS)
`[@store_price@]` 110.00 Price for one of this product
`[@store_quantity@]` Qty On Hand 26 Available stock to sell. It is calculated by the total of all the warehouses minus the committed stock
`[@subtitle@]` Subtitle Fiction Normally appears below the name of the product on product pages
`[@supplier_code@]` Supplier Item Code B17H902 Your supplier's SKU or product code for this product
`[@supplier_product_name@]` Turtles All the Way Down, Paperback Supplier's name for the product
`[@tax_inc@]` Tax Inclusive y Price includes tax. **n** no, **y** - yes
`[@thumb@]` Main /assets/thumb/17MD-Black.jpg Main product image thumbnail. If the child product has no image the parent image is returned
`[@thumb_1@]`, `[@thumb_2@]`, etc Alt 1, Alt 2, etc /assets/alt_1_thumb/17MD-Black.jpg Alt product images thumbnails
`[@timestamp@]` 2018-07-25 05:34:28 Date and time when the product was last updated (YYYY-MM-DD HH:MM:SS)
`[@tnc@]` Terms & Conditions Refund only available if product is not used Product terms & conditions
`[@unit@]` Selling Unit of Measure g The selling unit of measure. Can appear on invoices, etc
`[@url@]` Product URL Product web address
`[@warranty@]` Warranty

1 year manufacturers warranty

Product warranty details
`[@weight@]` Shipping Weight 0.1000 Shipping weight on kilograms
`[@width@]` Shipping Width 0.210 Shipping width in metres

Was this article useful?

Be notified when this page is updated. Optional.