{"id":20166,"date":"2026-07-10T11:17:43","date_gmt":"2026-07-10T11:17:43","guid":{"rendered":"https:\/\/tenthplanet.in\/idempiere\/?p=20166"},"modified":"2026-08-20T11:38:13","modified_gmt":"2026-08-20T11:38:13","slug":"how-product-attribute-grid-works-in-idempiere","status":"publish","type":"post","link":"https:\/\/tenthplanet.in\/idempiere\/how-product-attribute-grid-works-in-idempiere\/","title":{"rendered":"How Product Attribute Grid Works in iDempiere"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>Introduction<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Product Attribute Grid is an iDempiere Core window that displays product stock or price data as a matrix built from two product attributes, such as Color and Capacity.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is used in retail and distribution operations that sell variant-based products, letting warehouse and sales staff view availability across an entire attribute range in one screen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This consolidated view speeds up stock checks, quoting, and order entry, reducing the need to open individual product records for every variant combination.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Process Flow Diagram<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"254\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-ProcessFlow.png\" alt=\"\" class=\"wp-image-28093\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-ProcessFlow.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-ProcessFlow-300x74.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-ProcessFlow-768x191.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Business Rules<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Only active Attribute Set Instances (ASI) appear in the grid.<\/li>\n\n\n\n<li>Attribute 1 and Attribute 2 must belong to the product&#8217;s Attribute Set to show data.<\/li>\n\n\n\n<li>Grid values are filtered by the selected Warehouse and Price List combination.<\/li>\n\n\n\n<li>Mode on the Attribute Grid tab decides whether cells show quantity on hand or price.<\/li>\n\n\n\n<li>Combinations with no stock or no price show as blank cells.<\/li>\n\n\n\n<li>The grid refreshes based on the Selection tab criteria confirmed before switching tabs.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Prerequisites<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Attribute Set configured with at least two Attributes (e.g., Color, Capacity).<\/li>\n\n\n\n<li>Attribute Set assigned to the relevant Products.<\/li>\n\n\n\n<li>Attribute Set Instances created through receipts or product setup.<\/li>\n\n\n\n<li>Warehouse configured and active.<\/li>\n\n\n\n<li>Price List configured with an active Price List Version.<\/li>\n\n\n\n<li>Products included in the selected Price List Version.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Navigation<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:15px\"><code><strong>Menu \u2192 Material Management and Pricing \u2192 Product Attribute Grid<\/strong><\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"474\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-1-1024x474.png\" alt=\"TenthPlanet-iDempiere-Form-ProductAttributeGrid-1\" class=\"wp-image-20168\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-1-1024x474.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-1-300x139.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-1-768x356.png 768w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-1-1536x711.png 1536w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-1-2048x948.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Opening the window shows the Selection tab with four dropdown fields: <strong>Attribute 1<\/strong>, <strong>Attribute 2<\/strong>, <strong>Price List<\/strong>, and <strong>Warehouse<\/strong>. No data displays until these are chosen and confirmed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Configuration Steps<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 1: Open the Product Attribute Grid Window<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This step loads the Selection tab where the attribute pair and filter criteria are defined before any matrix data is generated.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Instructions<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Navigate to the Product Attribute Grid. The window opens directly on the <strong>Selection tab<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"376\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-2-1024x376.png\" alt=\"TenthPlanet-iDempiere-Form-ProductAttributeGrid-2\" class=\"wp-image-20169\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-2-1024x376.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-2-300x110.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-2-768x282.png 768w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-2-1536x564.png 1536w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-2-2048x752.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 2: Choose Attribute 1 and Attribute 2<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">These two attributes define the row and column axis of the matrix, so they must be picked before generating the grid.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Instructions<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open the <strong>Attribute 1<\/strong> dropdown and pick the <strong>row attribute<\/strong> (e.g., Color). Open <strong>Attribute 2<\/strong> and pick the <strong>column attribute<\/strong> (e.g., Capacity).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"376\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-3-1024x376.png\" alt=\"TenthPlanet-iDempiere-Form-ProductAttributeGrid-3\" class=\"wp-image-20170\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-3-1024x376.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-3-300x110.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-3-768x282.png 768w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-3-1536x564.png 1536w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-3-2048x752.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table><thead><tr><td><strong>Field<\/strong><\/td><td><strong>Sample Value<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Attribute 1<\/td><td>Color<\/td><td>Attribute used as the row axis of the grid<\/td><\/tr><tr><td>Attribute 2<\/td><td>Capacity<\/td><td>Attribute used as the column axis of the grid<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 3: Select Price List and Warehouse<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">These filters scope the grid to one price list and one warehouse so the displayed figures are business-relevant and accurate.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Instructions<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Select the applicable Price List, then select the Warehouse to check. Confirm the Selection tab using the checkmark button.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"376\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-4-1024x376.png\" alt=\"TenthPlanet-iDempiere-Form-ProductAttributeGrid-4\" class=\"wp-image-20171\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-4-1024x376.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-4-300x110.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-4-768x282.png 768w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-4-1536x564.png 1536w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-4-2048x752.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table><thead><tr><td><strong>Field<\/strong><\/td><td><strong>Sample Value<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Price List<\/td><td>Standard<\/td><td>Price list used to filter pricing data shown in the grid<\/td><\/tr><tr><td>Warehouse<\/td><td>HQ Warehouse<\/td><td>Warehouse used to filter stock quantities shown in the grid<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>Note:<\/strong> Selecting the same attribute for both Attribute 1 and Attribute 2 produces a matrix with no meaningful comparison.<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 4: Switch to the Attribute Grid Tab<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Attribute Grid tab renders the actual matrix, so the Selection tab criteria must be confirmed first.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Instructions<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Click the Attribute Grid tab. Set Mode to choose between quantity or price view, then review the generated matrix.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"633\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-5-1024x633.png\" alt=\"\" class=\"wp-image-20172\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-5-1024x633.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-5-300x185.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-5-768x475.png 768w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-5-1536x950.png 1536w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-Form-ProductAttributeGrid-5-2048x1266.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table><thead><tr><td><strong>Field<\/strong><\/td><td><strong>Sample Value<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Mode<\/td><td>View<\/td><td>Determines whether the grid readonly or editable<\/td><\/tr><tr><td>Row Header<\/td><td>BLACK, BLUE, BROWN, GREEN, GREY, NAVY BLUE<\/td><td>Values of Attribute 1 displayed as rows<\/td><\/tr><tr><td>Column Header<\/td><td>64 GB, 128 GB, 256 GB, 512 GB<\/td><td>Values of Attribute 2 displayed as columns<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Common Issues and Resolutions<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table><thead><tr><td><strong>Issue<\/strong><\/td><td><strong>Cause<\/strong><\/td><td><strong>Resolution<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Grid displays empty<\/td><td>No Attribute Set Instance exists for the combination<\/td><td>Receive stock or create the ASI for that combination<\/td><\/tr><tr><td>Attribute 1 \/ Attribute 2 list is empty<\/td><td>Attribute Set not assigned to any product<\/td><td>Assign the Attribute Set to relevant Products<\/td><\/tr><tr><td>Warehouse dropdown has no options<\/td><td>Warehouse inactive or Organization access missing<\/td><td>Activate the Warehouse and check user Organization access<\/td><\/tr><tr><td>Price values missing in grid<\/td><td>Product not listed in the selected Price List Version<\/td><td>Add the product to the Price List Version<\/td><\/tr><tr><td>Quantities do not match physical count<\/td><td>Grid reflects last processed transaction only<\/td><td>Complete pending Material Receipt or Inventory Move documents<\/td><\/tr><tr><td>Matrix looks meaningless<\/td><td>Same attribute chosen for Attribute 1 and Attribute 2<\/td><td>Select two distinct attributes<\/td><\/tr><tr><td>Mode change has no effect<\/td><td>Selection tab not confirmed before switching tabs<\/td><td>Confirm the Selection tab, then reopen the Attribute Grid tab<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Next Steps<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Product Attribute Set window \u2013 define attributes and values.<\/li>\n\n\n\n<li>Product window \u2013 assign the Attribute Set to products.<\/li>\n\n\n\n<li>Price List and Price List Version \u2013 maintain pricing per variant.<\/li>\n\n\n\n<li>Warehouse and Locators \u2013 configure storage for variant stock.<\/li>\n\n\n\n<li>Material Receipt \/ Inventory Count \u2013 record stock for new combinations.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Introduction The Product Attribute Grid is an iDempiere Core window that displays product stock or price data as a matrix [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37,10],"tags":[],"class_list":["post-20166","post","type-post","status-publish","format-standard","hentry","category-idempiere-inventory","category-idempiere-product"],"_links":{"self":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts\/20166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/comments?post=20166"}],"version-history":[{"count":2,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts\/20166\/revisions"}],"predecessor-version":[{"id":28105,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts\/20166\/revisions\/28105"}],"wp:attachment":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/media?parent=20166"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/categories?post=20166"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/tags?post=20166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}