<!DOCTYPE html>
<html xmlns:MadCap="http://www.madcapsoftware.com/Schemas/MadCap.xsd" lang="en-us" xml:lang="en-us" class="_Skins_HTML5___Top_Navigation" data-mc-search-type="Stem" data-mc-help-system-file-name="Default.xml" data-mc-path-to-help-system="../../../" data-mc-has-content-body="True" data-mc-conditions="Spryker.B2B,Spryker.MultiCurrency,Spryker.MultiLanguage,Spryker.MultiStore" data-mc-target-type="WebHelp2" data-mc-runtime-file-type="Topic;Default" data-mc-preload-images="false" data-mc-in-preview-mode="false" data-mc-toc-path="Features|Packaging &amp; Measurement Units|Packaging Units">
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="msapplication-config" content="../../../Skins/Favicons/browserconfig.xml" />
        <meta name="description" content="Unit of measure that is used as packaging for a product is referred to as packaging unit and a shop can sell the same product in different packaging units." />
        <link rel="apple-touch-icon" sizes="180x180" href="../../../Skins/Favicons/apple-touch-icon.png" />
        <link rel="shortcut icon" href="../../../Skins/Favicons/favicon-32x32.png" />
        <link rel="icon" sizes="96x96" href="../../../Skins/Favicons/favicon-96x96.png" />
        <link rel="icon" sizes="32x32" href="../../../Skins/Favicons/favicon-32x32.png" />
        <link rel="icon" sizes="16x16" href="../../../Skins/Favicons/favicon-16x16.png" />
        <meta charset="utf-8" />
        <meta name="description" content="" />
        <meta name="author" content="" /><title>Packaging Units Feature Overview | Spryker</title>
        <!-- Google Tag Manager -->
        <script>/* <![CDATA[ */(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
			new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
			j=d.createElement(s),dl=l!='dataLayer'?'&amp;l='+l:'';j.async=true;j.src=
			'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
		})(window,document,'script','dataLayer','GTM-NP24S2');/* ]]> */</script>
        <!-- End Google Tag Manager -->
        <script>/* <![CDATA[ */
			var s = document.createElement("script");
			s.type = "text/javascript";
			s.src = "https://www.googletagmanager.com/gtag/js?id==UA-56589105-4";
			document.getElementsByTagName('head').item(0).appendChild(s);
		/* ]]> */</script>
        <script>/* <![CDATA[ */
			window.dataLayer = window.dataLayer || [];
			function gtag(){dataLayer.push(arguments);}
			gtag('js', new Date());
			gtag('config', 'UA-56589105-4');
		/* ]]> */</script>
        <link href="../../../Skins/Default/Stylesheets/Slideshow.css" rel="stylesheet" />
        <link href="../../../Skins/Default/Stylesheets/TextEffects.css" rel="stylesheet" />
        <link href="../../../Skins/Default/Stylesheets/Topic.css" rel="stylesheet" />
        <link href="../../../Skins/Default/Stylesheets/Components/Styles.css" rel="stylesheet" />
        <link href="../../../Skins/Default/Stylesheets/Components/Tablet.css" rel="stylesheet" />
        <link href="../../../Skins/Default/Stylesheets/Components/Mobile.css" rel="stylesheet" />
        <link href="../../../Skins/Fluid/stylesheets/foundation.6.2.3.css" rel="stylesheet" />
        <link href="../../../Skins/Fluid/stylesheets/styles.css" rel="stylesheet" />
        <link href="../../../Skins/Fluid/stylesheets/tablet.css" rel="stylesheet" />
        <link href="../../../Skins/Fluid/stylesheets/mobile.css" rel="stylesheet" />
        <link href="../../../resources/stylesheets/perfect-scrollbar.css" rel="stylesheet" />
        <link href="../../../resources/stylesheets/prism.css" rel="stylesheet" />
        <style>/*&lt;meta /&gt;*/

.button.previous-topic-button
{
	-pie-background: url('../../../Skins/Default/Stylesheets/Images/navigate-previous.png') no-repeat center center, linear-gradient(#ffffff, #ececec);
}

.button.next-topic-button
{
	-pie-background: url('../../../Skins/Default/Stylesheets/Images/navigate-next.png') no-repeat center center, linear-gradient(#ffffff, #ececec);
}

.button.print-button
{
	-pie-background: url('../../../Skins/Default/Stylesheets/Images/printer.png') no-repeat center center, linear-gradient(#ffffff, #ececec);
}

.button.expand-all-button
{
	-pie-background: url('../../../Skins/Default/Stylesheets/Images/expand.png') no-repeat center center, linear-gradient(#ffffff, #ececec);
}

.button.collapse-all-button
{
	-pie-background: url('../../../Skins/Default/Stylesheets/Images/collapse.png') no-repeat center center, linear-gradient(#ffffff, #ececec);
}

.needs-pie
{
	behavior: url('../../../resources/scripts/PIE-no-motw.htc');
}

</style>
        <link href="../../../resources/stylesheets/mainstyles.css" rel="stylesheet" />
        <link href="../../../resources/tablestyles/patternedrows2.css" rel="stylesheet" />
        <script src="../../../resources/scripts/custom.modernizr.js">
        </script>
        <script src="../../../resources/scripts/jquery.min.js">
        </script>
        <script src="../../../resources/scripts/require.min.js">
        </script>
        <script src="../../../resources/scripts/require.config.js">
        </script>
        <script src="../../../resources/scripts/foundation.6.2.3_custom.js">
        </script>
        <script src="../../../resources/scripts/plugins.min.js">
        </script>
        <script src="../../../resources/scripts/MadCapAll.js">
        </script>
    </head>
    <body>
        <div class="foundation-wrap off-canvas-wrapper">
            <div class="off-canvas-wrapper-inner" data-off-canvas-wrapper="">
                <aside class="off-canvas position-right" id="offCanvas" data-off-canvas="" data-position="right" data-mc-ignore="true">
                    <ul class="off-canvas-drilldown vertical menu off-canvas-list" data-drilldown="" data-mc-back-link="Back" data-mc-css-tree-node-expanded="is-drilldown-submenu-parent" data-mc-css-tree-node-collapsed="is-drilldown-submenu-parent" data-mc-css-sub-menu="vertical menu slide-in-right is-drilldown-submenu" data-mc-include-indicator="False" data-mc-include-icon="False" data-mc-include-parent-link="True" data-mc-include-back="True" data-mc-defer-expand-event="True" data-mc-expand-event="click.zf.drilldown" data-mc-toc="True">
                    </ul>
                </aside>
                <div class="off-canvas-content inner-wrap" data-off-canvas-content="">
                    <div data-sticky-container="" class="title-bar-container">
                        <nav class="title-bar tab-bar sticky" data-sticky="" data-options="marginTop:0" style="width:100%" data-sticky-on="small" data-mc-ignore="true">
                            <div class="middle title-bar-section outer-row clearfix">
                                <div class="menu-icon-container relative clearfix">
                                    <button class="menu-icon" data-toggle="offCanvas"><span></span>
                                    </button>
                                </div>
                            </div>
                            <div class="title-bar-layout outer-row">
                                <div class="logo-wrapper"><a class="logo" href="../../../home.htm" alt="Logo"></a>
                                </div>
                                <div class="navigation-wrapper nocontent">
                                    <ul class="navigation clearfix" data-mc-css-tree-node-has-children="has-children" data-mc-css-sub-menu="sub-menu" data-mc-expand-event="mouseenter" data-mc-top-nav-menu="True" data-mc-max-depth="3" data-mc-include-icon="False" data-mc-include-indicator="False" data-mc-include-children="True" data-mc-include-siblings="True" data-mc-include-parent="True" data-mc-toc="True">
                                        <li class="placeholder" style="visibility:hidden"><a>placeholder</a>
                                        </li>
                                    </ul>
                                </div>
                                <div class="nav-search-wrapper">
                                    <div class="nav-search row">
                                        <form class="search" action="#">
                                            <div class="search-bar search-bar-container needs-pie">
                                                <input class="search-field needs-pie" type="search" placeholder="Search the Academy" />
                                                <div class="search-filter-wrapper">
                                                    <div class="search-filter">
                                                        <div class="search-filter-content">
                                                            <ul>
                                                                <li>All Files</li>
                                                            </ul>
                                                        </div>
                                                    </div>
                                                </div>
                                                <div class="search-submit-wrapper" dir="ltr">
                                                    <div class="search-submit" title="Search">
                                                    </div>
                                                </div>
                                            </div>
                                        </form>
                                    </div>
                                </div>
                            </div>
                        </nav>
                    </div>
                    <section class="main-section">
                        <div class="row outer-row sidenav-layout">
                            <div class="sidenav-wrapper">
                                <div class="sidenav-container">
                                    <ul class="off-canvas-accordion vertical menu sidenav" data-accordion-menu="" data-mc-css-tree-node-expanded="is-accordion-submenu-parent" data-mc-css-tree-node-collapsed="is-accordion-submenu-parent" data-mc-css-sub-menu="vertical menu accordion-menu is-accordion-submenu nested" data-mc-include-indicator="False" data-mc-include-icon="False" data-mc-include-parent-link="False" data-mc-include-back="False" data-mc-defer-expand-event="True" data-mc-expand-event="click.zf.accordionMenu" data-mc-toc="True" data-mc-side-nav-menu="True">
                                    </ul>
                                </div>
                            </div>
                            <div class="body-container" data-mc-content-body="True">
                                <!-- Google Tag Manager (noscript) -->
                                <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NP24S2" height="0" width="0" style="display:none;visibility:hidden"></iframe>
                                </noscript>
                                <!-- End Google Tag Manager (noscript) -->
                                <div class="search-container">
                                    <form class="search" action="#">
                                        <div class="search-bar search-bar-container needs-pie _Skins_SearchTopics mc-component">
                                            <input class="search-field needs-pie" type="search" placeholder="Search" />
                                            <div class="search-filter-wrapper">
                                                <div class="search-filter">
                                                    <div class="search-filter-content">
                                                        <ul>
                                                            <li>All Files</li>
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>
                                            <div class="search-submit-wrapper" dir="ltr">
                                                <div class="search-submit" title="Search">
                                                </div>
                                            </div>
                                        </div>
                                    </form>
                                </div>
                                <div class="row collapse">
                                    <div class="top-bar">
                                        <div class="breadcrumbs-block">
                                            <div class="nocontent">
                                                <div class="MCBreadcrumbsBox_0 breadcrumbs" data-mc-breadcrumbs-divider=" &gt; " data-mc-breadcrumbs-count="3" data-mc-toc="True"><span class="MCBreadcrumbsPrefix">You are here: </span>
                                                </div>
                                            </div>
                                        </div>
                                        <div>
                                        </div>
                                        <form class="search" action="#">
                                            <div class="search-bar search-bar-container needs-pie _Skins_SearchHome mc-component">
                                                <input class="search-field needs-pie" type="search" placeholder="Search" />
                                                <div class="search-filter-wrapper">
                                                    <div class="search-filter">
                                                        <div class="search-filter-content">
                                                            <ul>
                                                                <li>All Files</li>
                                                            </ul>
                                                        </div>
                                                    </div>
                                                </div>
                                                <div class="search-submit-wrapper" dir="ltr">
                                                    <div class="search-submit" title="Search">
                                                    </div>
                                                </div>
                                            </div>
                                        </form>
                                    </div>
                                    <div class="topic-layout">
                                        <div>
                                            <div class="side-menu">
                                                <div data-sticky-container="" id="MgY5_ndEq0uo95PEme7Tmw">
                                                    <div class="sticky sticky-menu" style="width:100%" data-sticky="" data-top-anchor="MgY5_ndEq0uo95PEme7Tmw:top" data-bottom-anchor="contentBody:bottom" data-sticky-on="small" data-scroll-container-on="small">
                                                        <ul class="nocontent menu _Skins_SideMenu mc-component" data-mc-is-context-sensitive="True" data-mc-linked-toc="Data/Tocs/master.js" data-mc-side-menu="True" data-mc-max-depth="1" data-mc-include-icon="False" data-mc-include-indicator="False" data-mc-include-children="True" data-mc-include-siblings="True" data-mc-include-parent="True" data-mc-toc="True">
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                        <div>
                                            <div class="side-menu">
                                                <div class="toolbar-wrapper">
                                                    <div class="widget-github js-widget-github"><a class="widget-github-link js-widget-github-link" href="https://github.com/spryker/spryker-documentation" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26"><path d="M13.5 0C6.057 0 0 6.057 0 13.5c0 5.888 3.791 10.905 9.058 12.745a.463.463 0 0 0 .258.088c1.316.43 2.724.667 4.184.667C20.943 27 27 20.943 27 13.5S20.943 0 13.5 0zm0 .931c6.93 0 12.569 5.639 12.569 12.569 0 5.428-3.459 10.061-8.287 11.818a1.903 1.903 0 0 1-.092-.527v-2.446c0-.975-.477-2.037-.946-2.75 2.584-.436 5.537-1.776 5.537-6.779 0-1.37-.429-2.58-1.275-3.598.186-.611.415-1.9-.225-3.52a.47.47 0 0 0-.291-.272c-.13-.04-1.326-.35-3.806 1.277a12.921 12.921 0 0 0-6.36 0c-2.481-1.63-3.68-1.319-3.809-1.277a.47.47 0 0 0-.29.273C5.582 7.319 5.811 8.607 6 9.218c-.85 1.018-1.279 2.227-1.279 3.598 0 4.957 2.9 6.323 5.463 6.778-.322.407-.66.934-.81 1.47-.661.184-2.018.19-2.929-1.37-.032-.06-.829-1.475-2.4-1.584-.25.002-.882.042-1.035.525-.169.537.424.944.679 1.117l.058.034c.029.015.707.371 1.213 1.644.105.333 1.03 2.84 4.353 2.399.002.367 0 .552-.004.7v.26c0 .15-.045.378-.096.525C4.386 23.558.931 18.924.931 13.5.931 6.57 6.57.931 13.5.931zm6.51 5.375c.5 1.471.158 2.537.035 2.839a.468.468 0 0 0 .089.49c.805.883 1.214 1.952 1.214 3.181 0 4.72-2.796 5.666-5.535 5.97a.464.464 0 0 0-.253.815c.368.314 1.199 1.68 1.199 2.744v2.446c0 .009.001.414.134.809a12.513 12.513 0 0 1-6.792-.002c.135-.396.139-.802.139-.81l.001-.248c.002-.211.006-.497 0-1.266a.473.473 0 0 0-.174-.362.47.47 0 0 0-.391-.09c-3.126.681-3.802-1.576-3.828-1.67l-.016-.047c-.448-1.135-1.037-1.713-1.388-1.975.759.267 1.182 1.007 1.193 1.024 1.231 2.107 3.264 2.162 4.328 1.685a.463.463 0 0 0 .27-.36c.095-.665.826-1.545 1.196-1.87a.464.464 0 0 0 .136-.488.461.461 0 0 0-.39-.324c-2.73-.31-5.524-1.266-5.524-5.98 0-1.228.41-2.3 1.219-3.181a.464.464 0 0 0 .087-.491c-.124-.302-.467-1.364.031-2.837.396.013 1.362.182 2.988 1.286.112.076.256.1.387.063.973-.27 2.058-.416 3.135-.421 1.08.005 2.166.15 3.14.421.131.037.273.013.386-.063 1.635-1.11 2.6-1.275 2.984-1.288z" /></svg></a>
                                                    </div>
                                                    <div class="buttons popup-container clearfix topicToolbarProxy _Skins_TopicToolbar mc-component nocontent" style="mc-topic-toolbar-items: PreviousTopic NextTopic Print ExpandAll CollapseAll;">
                                                        <div class="button-group-container-left">
                                                            <button class="button needs-pie previous-topic-button" title="Navigate previous">
                                                                <img src="../../../Skins/Default/Stylesheets/Images/transparent.gif" alt="previous topic" />
                                                            </button>
                                                            <button class="button needs-pie next-topic-button" title="Navigate next">
                                                                <img src="../../../Skins/Default/Stylesheets/Images/transparent.gif" alt="next topic" />
                                                            </button>
                                                            <button class="button needs-pie print-button" title="Print">
                                                                <img src="../../../Skins/Default/Stylesheets/Images/transparent.gif" alt="print" />
                                                            </button>
                                                            <button class="button needs-pie expand-all-button" data-state1-class="expand-all-button" data-state2-class="collapse-all-button" data-state2-title="Collapse all" title="Expand all" data-state1-title="Expand all">
                                                                <img src="../../../Skins/Default/Stylesheets/Images/transparent.gif" alt="expand all" />
                                                            </button>
                                                        </div>
                                                    </div>
                                                </div>
                                                <div class="js-anchorer main-content">
                                                    <h1>Packaging Units Feature Overview <img src="../../../resources/images/shoptype/b2b_shop.png" /> <img src="../../../resources/images/shoptype/b2c_shop.png" /></h1>
                                                    <p><a href="javascript:void(0);" class="MCTextPopup popup popupHead">MC<span class="MCTextPopupBody MCTextPopupBody_Closed needs-pie popupBody"><span class="MCTextPopupArrow"></span>Multi-currency</span></a> <a href="javascript:void(0);" class="MCTextPopup popup popupHead">ML<span class="MCTextPopupBody MCTextPopupBody_Closed needs-pie popupBody"><span class="MCTextPopupArrow"></span>Multi-language</span></a> <a href="javascript:void(0);" class="MCTextPopup popup popupHead">MS<span class="MCTextPopupBody MCTextPopupBody_Closed needs-pie popupBody"><span class="MCTextPopupArrow"></span>Multi-store</span></a></p>
                                                    <p>Unit of measure that is used as packaging for a product is referred to as <b>packaging unit</b>. A shop can sell the same product in different packaging units, for example apples can be sold as an "Item", a "Bag" of apples or a "Pallet" of apples. The "bag", "pallet", "box" etc. are referred to as packaging unit types. The packaging unit types can be created and managed in the Administration Interface.</p>
                                                    <p>Each packaging unit is defined on an abstract product level and is represented by one product variant, for example:</p>
                                                    <div class="table-wrap">
                                                        <table style="width: 100%;mc-table-style: url('../../../resources/tablestyles/patternedrows2.css');" class="TableStyle-PatternedRows2" cellspacing="0">
                                                            <col class="TableStyle-PatternedRows2-Column-Regular" style="width: 672px;" />
                                                            <col class="TableStyle-PatternedRows2-Column-Regular" style="width: 628px;" />
                                                            <col class="TableStyle-PatternedRows2-Column-Regular" />
                                                            <thead>
                                                                <tr class="TableStyle-PatternedRows2-Head-Header1">
                                                                    <th class="TableStyle-PatternedRows2-HeadE-Regular-Header1">Abstract Product</th>
                                                                    <th class="TableStyle-PatternedRows2-HeadE-Regular-Header1">Concrete Product / Variant</th>
                                                                    <th class="TableStyle-PatternedRows2-HeadD-Regular-Header1">Packaging Unit</th>
                                                                </tr>
                                                            </thead>
                                                            <tbody>
                                                                <tr class="TableStyle-PatternedRows2-Body-LightRows">
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows">Apple</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows">"An apple"</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyD-Regular-LightRows">Item</td>
                                                                </tr>
                                                                <tr class="TableStyle-PatternedRows2-Body-DarkerRows">
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows">Apple</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows">"Bag of apples"</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyD-Regular-DarkerRows">Bag</td>
                                                                </tr>
                                                                <tr class="TableStyle-PatternedRows2-Body-LightRows">
                                                                    <td class="TableStyle-PatternedRows2-BodyB-Regular-LightRows">Apple</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyB-Regular-LightRows">"Pallet of apples"</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyA-Regular-LightRows">Palett</td>
                                                                </tr>
                                                            </tbody>
                                                        </table>
                                                    </div>
                                                    <p>Each packaging unit has a certain amount of products inside it by default (<a href="#Default">default amount</a>). The shop owner can choose whether the packaging unit, for example a bag, has a separate stock or shares stock with the contained item. In our example, the different product variants have their own SKU and price, but they represent the same physical product in the warehouse. To share the information about availability among these variants, we use the concept of a <b>leading product</b>. </p>
                                                    <p>The <b>leading product</b> represents relation between abstract and concrete product and holds the availability. A group of products in a packaging unit, that has a leading product holding the availability, is called a <b>product packaging unit group</b>. </p>
                                                    <p>However leading products are not always relevant. Packaging units that represent a package of items which quantity can not be changed, do not need a leading product. In this case, availability of the packaged items themselves, not individual items in the package, matters. Such packaged products actually behave like normal abstract products for which customers might have a possibility to select applicable sales units (see <a href="../measurement_units/measurement-units-feature-overview.htm">Measurement Units per Product</a> to learn about product sales units). </p>
                                                    <p>Basically, when a packaging unit does not use the leading product, it means that the stock is disjoined. </p>
                                                    <p class="example">For example, if there is a leading product in the product abstract with 3 packagings, where 1 of the packages "has no lead product", it means that the 2 other packages actually consume the same product when you buy them. But the 3rd packaging (which does not use the leading product) is completely independent from stock perspective, it only depends on its own stock.
		</p>
                                                    <p>To reflect availability of a leading product for a packaging unit and to define how the calculation of the availability works, <i>has_lead_product</i> attribute is used.</p>
                                                    <p>Example:</p>
                                                    <div class="table-wrap">
                                                        <table style="width: 100%;mc-table-style: url('../../../resources/tablestyles/patternedrows2.css');" class="TableStyle-PatternedRows2" cellspacing="0">
                                                            <col class="TableStyle-PatternedRows2-Column-Regular" />
                                                            <col class="TableStyle-PatternedRows2-Column-Regular" />
                                                            <col class="TableStyle-PatternedRows2-Column-Regular" />
                                                            <col class="TableStyle-PatternedRows2-Column-Regular" />
                                                            <col class="TableStyle-PatternedRows2-Column-Regular" />
                                                            <col class="TableStyle-PatternedRows2-Column-Regular" />
                                                            <col class="TableStyle-PatternedRows2-Column-Regular" />
                                                            <thead>
                                                                <tr class="TableStyle-PatternedRows2-Head-Header1">
                                                                    <th class="TableStyle-PatternedRows2-HeadE-Regular-Header1">&#160;</th>
                                                                    <th class="TableStyle-PatternedRows2-HeadE-Regular-Header1">Use leading product</th>
                                                                    <th class="TableStyle-PatternedRows2-HeadE-Regular-Header1">Abstract product</th>
                                                                    <th class="TableStyle-PatternedRows2-HeadE-Regular-Header1"><b>Concrete product</b><b>/ Variant</b>
                                                                    </th>
                                                                    <th class="TableStyle-PatternedRows2-HeadE-Regular-Header1">Packaging unit</th>
                                                                    <th class="TableStyle-PatternedRows2-HeadE-Regular-Header1">
                                                                        <p>Current concrete </p>
                                                                        <p>availability</p>
                                                                    </th>
                                                                    <th class="TableStyle-PatternedRows2-HeadD-Regular-Header1">Derived availability</th>
                                                                </tr>
                                                            </thead>
                                                            <tbody>
                                                                <tr class="TableStyle-PatternedRows2-Body-LightRows">
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows">Lead product</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows">Irrelevant</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows">Apple</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows">"An apple"</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows">Item</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows">100</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyD-Regular-LightRows">100</td>
                                                                </tr>
                                                                <tr class="TableStyle-PatternedRows2-Body-DarkerRows">
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows">Packaging unit</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows">Yes</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows">Apple</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows">"Bag of apples"</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows">Bag</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows">never out of stock</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyD-Regular-DarkerRows">FLOOR ((Same as "An apple") / default_amount)</td>
                                                                </tr>
                                                                <tr class="TableStyle-PatternedRows2-Body-LightRows">
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows">Packaging unit</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows">No</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows">Apple</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows">"Palette of apples"</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows">&gt;Palette</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows">never out of stock</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyD-Regular-LightRows">never out of stock</td>
                                                                </tr>
                                                                <tr class="TableStyle-PatternedRows2-Body-DarkerRows">
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows">Packaging unit</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows">No</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows">Apple</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows">"Special boxed apples"</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows">Special box</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows">5</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyD-Regular-DarkerRows">5</td>
                                                                </tr>
                                                                <tr class="TableStyle-PatternedRows2-Body-LightRows">
                                                                    <td class="TableStyle-PatternedRows2-BodyB-Regular-LightRows">Packaging unit</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyB-Regular-LightRows">Yes</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyB-Regular-LightRows">Apple</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyB-Regular-LightRows">"Gift wrapping apples"</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyB-Regular-LightRows">Gift wrap</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyB-Regular-LightRows">10</td>
                                                                    <td class="TableStyle-PatternedRows2-BodyA-Regular-LightRows">MIN ( FLOOR ((Same as "An apple") / default_amount) ; current concrete availability )</td>
                                                                </tr>
                                                            </tbody>
                                                        </table>
                                                    </div>
                                                    <p>The shop owner can define various sales units for the packaging units. For example, for a chocolate bar, the base unit could be set to <i>item</i>, and the sales units could be <i>box</i>, <i>packet</i> or <i>gift box</i> with variable or fixed amount of chocolate bars in them.</p>
                                                    <p>
                                                        <img src="../../../resources/images/packaging_units/sales-units-dropdown.png" style="max-width: 75%;" />
                                                    </p>
                                                    <p>Read on to learn about the product packaging unit amount options.</p>
                                                    <h2>Product Packaging Unit Amount</h2>
                                                    <p>A packaging unit usually contains multiple items of a product. For instance a "Bag of apples" can contain 10, 20, 40... apples. This information is called the <b>amount</b> of a packaging unit. It is always related to the leading product of the product packaging unit group. Therefore, the amounts apply only when leading product is used, otherwise they do not make sense. </p>
                                                    <p>The packaging unit amount can be:</p>
                                                    <div class="table-wrap">
                                                        <table style="width: 100%;mc-table-style: url('../../../resources/tablestyles/patternedrows2.css');" class="TableStyle-PatternedRows2" cellspacing="0">
                                                            <col class="TableStyle-PatternedRows2-Column-Regular" style="width: 672px;" />
                                                            <col class="TableStyle-PatternedRows2-Column-Regular" style="width: 628px;" />
                                                            <thead>
                                                                <tr class="TableStyle-PatternedRows2-Head-Header1">
                                                                    <th class="TableStyle-PatternedRows2-HeadE-Regular-Header1">Packaging Unit Type</th>
                                                                    <th class="TableStyle-PatternedRows2-HeadD-Regular-Header1">Description</th>
                                                                </tr>
                                                            </thead>
                                                            <tbody>
                                                                <tr class="TableStyle-PatternedRows2-Body-LightRows">
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows"><b><a name="Default"></a>Default (<i>default_amount</i>)</b>
                                                                    </td>
                                                                    <td class="TableStyle-PatternedRows2-BodyD-Regular-LightRows">Default amount of items that customer can buy.
                            <p class="example">Customer can buy 40 apples.</p><p> Also, this value is used for calculating price when custom amount is provided. The Amount field in the web shop is pre-filled with a value set in <var>default_amount</var>.</p></td>
                                                                </tr>
                                                                <tr class="TableStyle-PatternedRows2-Body-DarkerRows">
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows"><b>Variable (<i>is_variable=true</i>)</b>
                                                                    </td>
                                                                    <td class="TableStyle-PatternedRows2-BodyD-Regular-DarkerRows">Customer can buy any number of that item (respecting the amount restrictions). In case of a variable amount the price is adjusted by the formula: <var>(Price) * (Customer Input) / (Default Amount)</var>.</td>
                                                                </tr>
                                                                <tr class="TableStyle-PatternedRows2-Body-LightRows">
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows"><b>Fixed (<i>is_variable=false</i>)</b>
                                                                    </td>
                                                                    <td class="TableStyle-PatternedRows2-BodyD-Regular-LightRows">Customer can buy a pre-determined, fixed amount of items. When <i>is_variable</i> is set to "false", <i>all amount_*</i> values are set as NULL. When the amount is non-variable the customer can still see the default amount, but can not change it.
                            <p>However, if a product has sales unit set for it, the customer is able to select a different sales unit for the amount, which will adjust the displayed amount according to that sales unit. </p><p>See <a href="../measurement_units/measurement-units-feature-overview.htm">Measurement Units per Product</a> to learn about product sales units.</p></td>
                                                                </tr>
                                                                <tr class="TableStyle-PatternedRows2-Body-DarkerRows">
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-DarkerRows"><b>Interval amount (<i>amount_interval</i>)</b>
                                                                    </td>
                                                                    <td class="TableStyle-PatternedRows2-BodyD-Regular-DarkerRows">Interval of amounts that a customer can buy.
                            <p class="example">For instance you can only buy 40, 80, 120, ... but not 45. </p><p>The interval is shifted by the minimum value (e.g: minimum = 5, interval = 3; valid values: 5, 8, 11, ...). Only relevant if <i>is_variable=true</i>. </p><p>If the amount is set as variable, by default, the interval amount is set to 1.</p></td>
                                                                </tr>
                                                                <tr class="TableStyle-PatternedRows2-Body-LightRows">
                                                                    <td class="TableStyle-PatternedRows2-BodyE-Regular-LightRows"><b>Minimum amount (<i>amount_minimum</i>)</b>
                                                                    </td>
                                                                    <td class="TableStyle-PatternedRows2-BodyD-Regular-LightRows">Minimum amount that a customer can buy.
                            <p class="example">For instance you cannot buy less than 1 apple. </p><p>Only relevant if <i>is_variable=true</i>. If the amount is set as variable, by default, the minimum amount equals the interval amount.</p></td>
                                                                </tr>
                                                                <tr class="TableStyle-PatternedRows2-Body-DarkerRows">
                                                                    <td class="TableStyle-PatternedRows2-BodyB-Regular-DarkerRows">
                                                                        <p><b>Maximum amount (<i>amount_maximum</i>)</b>
                                                                        </p>
                                                                    </td>
                                                                    <td class="TableStyle-PatternedRows2-BodyA-Regular-DarkerRows">Maximum amount that a customer can buy.
                            <p class="example">For instance you cannot buy more than 10 apples.</p><p> Only relevant if <i>is_variable=true</i>.</p></td>
                                                                </tr>
                                                            </tbody>
                                                        </table>
                                                    </div>
                                                    <p>The schema below shows relations between products, packaging units, their types and amounts:</p>
                                                    <p>
                                                        <img src="../../../resources/images/packaging_units/pu-schema.png" />
                                                    </p>
                                                    <p>All packaging units having leading products, have a base unit of measure and can also have various sales units reflecting the amount of items in the packaging units. </p>
                                                    <p class="example">For example, a packaging unit "bag" can be set to have "item" as base unit and might also have "kg" and "g" as sales units (see <a href="../measurement_units/measurement-units-feature-overview.htm">Measurement Units per Product</a> to learn about base and sales units for products).</p>
                                                    <p>The amount of items contained in a sales unit is referred to as <b>sales unit amount</b>. If a customer chooses a sales unit amount, which is in between 2 available amounts (due to amount restriction settings), he/she is suggested to select a higher or lower amount. </p>
                                                    <p class="info">If there is no lower/higher amount available, the user is suggested to buy just a higher/lower amount respectively.
		</p>
                                                    <p>The following figure shows an example of how quantities and amounts appear in the web-shop:</p>
                                                    <p>
                                                        <img src="../../../resources/images/packaging_units/packaging-units-amounts.png" />
                                                    </p>
                                                    <p>In this example:</p>
                                                    <ul>
                                                        <li value="1">The chocolate bar is an <b>abstract product</b> with various packaging units (product concretes). </li>
                                                        <li value="2">The leading product for this product's packaging units has been set to <b>"chocolate bar"</b>. 
			<p class="info">A customer can select product packaging unit types and quantity for it. </p></li>
                                                        <li value="3">Also, besides the base unit <b>"item"</b>, the chocolate bar is set to have sales units as well - <b>kilograms and grams</b>. 
			<p class="info">It means that if customer wants to buy a box of chocolates and wants to see how many kilograms or grams there will be in the box, he/she can select a respective sales unit. </p></li>
                                                        <li value="4">Moreover, since the chocolate box is not a leading product (<i>however a leading product is used and the amount has been set to be variable</i>) the amount selector is available as well.
			<p class="info">Meaning it is also possible to select the packaging unit amount and sales units of the leading product. In our example, the <b>Amount</b> field has been pre-filled with 5, since the default value for <b>"box"</b> has been set to 5.</p></li>
                                                    </ul>
                                                    <p>When the very same item is added to cart with a different amount of sales units or with the same amount but a different sales unit, then the item appears in the cart in form of separate items. </p>
                                                    <p class="info">Meaning it will be one sales order containing multiple order items.</p>
                                                    <p>The figure below shows how one and the same item bought in different sales units and packaging units appears in the cart. </p>
                                                    <p>In our example, the following conditions are met:</p>
                                                    <ul>
                                                        <li value="1"> We put different packaging units into the cart: <i>box of chocolates with 500g and 100g</i>. (<img src="../../../resources/images/packaging_units/packaging-units-f-o/1_20x20.png" style="width: 20;height: 20;" /> and <img src="../../../resources/images/packaging_units/packaging-units-f-o/2_20x20.png" style="width: 20;height: 20;" /> respectively)</li>
                                                        <li value="2">The products have different sales units: <i>0.5kg vs 1 item</i> (<img src="../../../resources/images/packaging_units/packaging-units-f-o/3_20x20.png" style="width: 20;height: 20;" /> and <img src="../../../resources/images/packaging_units/packaging-units-f-o/4_20x20.png" style="width: 20;height: 20;" /> respectively). </li>
                                                        <li value="3">Amount has different sales units: <i>1st uses grams</i>, <i>2nd uses items</i>. (<img src="../../../resources/images/packaging_units/packaging-units-f-o/5_20x20.png" style="width: 20;height: 20;" /> and <img src="../../../resources/images/packaging_units/packaging-units-f-o/6_20x20.png" style="width: 20;height: 20;" /> respectively) </li>
                                                        <li value="4">The third product with packaging unit (<i>giftbox with chocolate bars</i> <img src="../../../resources/images/packaging_units/packaging-units-f-o/7_20x20.png" style="width: 20;height: 20;" />) has no amount (<img src="../../../resources/images/packaging_units/packaging-units-f-o/8_20x20.png" style="width: 20;height: 20;" />).</li>
                                                    </ul>
                                                    <p>
                                                        <img src="../../../resources/images/packaging_units/packaging-units-f-o/pu-example-in-cart.png" />
                                                    </p>
                                                    <h2>Packaging Units Import</h2>
                                                    <p>The shop owner can import packaging unit information and types. However it should be kept in mind, that packaging unit type import should happen first, otherwise you won't be able to import packaging units if the types don't exist yet.</p>
                                                    <h3>Importing Packaging Unit Types</h3>
                                                    <p>To extend the list of the packaging unit types available by default (box, bag, palette etc.), the shop administrator can import more packaging unit types into the system. The .csv file for import must have name field populated.</p>
                                                    <p>To import packaging units types from <var>ProductPackagingUnitDataImport/data/import/product_packaging_unit.csv</var> file, run</p><pre><code class="language-bash">console data:import product-packaging-unit-type</code></pre>
                                                    <p>Or, if you want to import packaging units types from your file, indicate a path to it:</p><pre><code class="language-bash">console data:import product-packaging-unit-type -f path_to_file.csv</code></pre>
                                                    <p>The imported packaging unit types will appear in the <var>spy_product_packaging_unit_type</var> DB table.</p>
                                                    <h3>Importing Packaging Units Information</h3>
                                                    <p>The shop owner can import product packaging unit information via a .csv file, specifically, he/she can:</p>
                                                    <ul>
                                                        <li value="1">Define a packaging unit for a specific product concrete by populating <i>concrete_sku</i> and <i>packaging_unit_type_name</i> fields. 
			<p>Both fields are required.</p></li>
                                                        <li value="2">Decide if the packaging unit uses the lead product stock by setting 1 or 0 for <i>has_lead_product</i> field. 
			<p>The default value is 0.</p></li>
                                                        <li value="3">Define a lead product in <i>is_lead_product</i> field. If is_lead_product is set as 1, no <var>spy_product_packaging_unit_amount</var> record is created, i.e. <i>default_amount</i>, <i>is_variable, amount_*</i> columns are ignored. Also, when <i>is_lead_product</i> is set as 1, <i>has_lead_product</i> is to be 0. 
			<p>The default value of the <i>is_lead_product</i> field is 0.</p></li>
                                                        <li value="4">Set amount restrictions (<i>is_variable=1</i>) when product is not a lead product. 
			<p>By default, <i>is_variable</i>, <i>amount_min</i>, <i>amount_max</i>, <i>amount_interval</i> are set to 0.</p></li>
                                                    </ul>
                                                    <p>To import packaging units information from <var>ProductPackagingUnitDataImport/data/import/product_packaging_unit.csv</var> file, run</p><pre><code class="language-bash">console data:import product-packaging-unit</code></pre>
                                                    <p>Or, if you want to import packaging unit data from your file, indicate a path to it:</p><pre><code class="language-bash">console data:import product-packaging-unit -f path_to_file.csv</code></pre>
                                                    <p>The import will populate <var>spy_product_packaging_unit</var>, <var>spy_product_packaging_unit_amount</var> and <var>spy_product_packaging_lead_product</var>, <var>spy_product_packaging_unit_amount</var> tables with the respective data.</p>
                                                    <p>The packaging units information is saved in Storage after import: in the Administration Interface, under Maintenace-Storage menu, there ar Redis keys: <var>product_abstract_packaging:{redis_key_suffix_column}</var></p>
                                                    <p class="info">In the current implementation each packaging unit and lead product has to define sales units. It's enough to define the default "item" as base unit for the abstract and to define also "item" as one and the only sales unit for both the lead product and all related packaging units.</p>
                                                    <h2>Current Constraints</h2>
                                                    <ul>
                                                        <li value="1">In the Spryker Commerce OS you cannot define packaging units for products. Currently, they are imported to the database manually.</li>
                                                        <li value="2">We strive to shift all business logic to our backend, however, with Packaging Units, calculations are performed on Yves.</li>
                                                        <li value="3">On the shopping cart as well as the shopping list page, products do not have a dropdown to change the packaging units. You can select a packaging unit on the product details page only.</li>
                                                        <li value="4">A shopper cannot reorder the items with the selected packaging units as they are not added automatically. They should be added manually on the product details page.</li>
                                                        <li value="5">In the <a href="../../cart/quick_order/quick-order-201903.htm">Quick Order</a> form and <a href="../../search_and_filter/search_widget_for_concrete_products/search-widget-for-concrete-products-201903.htm">search widget</a>, the products use the default packaging units that cannot be changed. Flexible packaging units are not supported on the Quick Order page.</li>
                                                    </ul>
                                                    <p class="example">Example: You have a product in your shop - a pen. And there exists a packaging unit for a pen - a box with a minimum amount of 5 items in it up to the maximum amount of 50 pens available. Every shopper can define the necessary amount of pens that will be included in the box and order several such boxes. But on the Quick Order page, if the customer adds a pen with the packaging unit 'box', the box consisting of minimum 5 items will be added by default.</p>
                                                    <p>&#160;</p>
                                                    <p><i>Last review date: Jul 08, 2019 </i>
                                                    </p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div><a class="scroll-top js-scroll-top" href="#"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="16" viewBox="0 0 12 16"><path fill="#FFF" fill-rule="nonzero" d="M11.82 5.22a.54.54 0 0 1 0 .806.636.636 0 0 1-.852 0L6.607 1.937v13.49a.587.587 0 0 1-.602.573c-.336 0-.611-.258-.611-.573V1.937L1.04 6.026a.647.647 0 0 1-.86 0 .54.54 0 0 1 0-.807L5.573.163a.636.636 0 0 1 .852 0L11.82 5.22z" /></svg></a>
                                <script>/* <![CDATA[ */
			function createGithubUrl() {
			var GITHUB_CONTENT_PATH = '/blob/master/public';
			var link = document.querySelector('.js-widget-github-link');
			var href =
			link.getAttribute('href')
			+ GITHUB_CONTENT_PATH
			+ window.location.pathname;
			link.setAttribute('href', href);
			}
			createGithubUrl();
		/* ]]> */</script>
                                <script>/* <![CDATA[ */
			requirejs.config({
				appDir: '',
				paths: {
					'clipboard': ['https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.1/clipboard.min']
					
				}
			});
			require(['clipboard'], function(Clipboard) {
				console.log(Clipboard);
				window.Clipboard = Clipboard;
			});
		/* ]]> */</script>
                                <script src="../../../resources/scripts/perfect-scrollbar.js">
                                </script>
                                <script src="../../../resources/scripts/imagemapster.js">
                                </script>
                                <script src="../../../resources/scripts/script.js">
                                </script>
                                <script src="../../../resources/scripts/prism.js">
                                </script>
                            </div>
                        </div>
                    </section><a data-close="true"></a>
                </div>
            </div>
            <script>/* <![CDATA[ */$(document).foundation();/* ]]> */</script>
        </div>
    </body>
</html>