{"id":18022,"date":"2026-01-30T12:34:28","date_gmt":"2026-01-30T12:34:28","guid":{"rendered":"https:\/\/tenthplanet.in\/idempiere\/?p=18022"},"modified":"2026-01-30T12:34:30","modified_gmt":"2026-01-30T12:34:30","slug":"how-storage-detail-works-in-idempiere","status":"publish","type":"post","link":"https:\/\/tenthplanet.in\/idempiere\/how-storage-detail-works-in-idempiere\/","title":{"rendered":"How Storage Detail Works in iDempiere"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Storage Detail<\/strong> provides real-time inventory visibility in iDempiere at the warehouse, locator, product, and batch level. It is built from live storage records, showing exactly what stock is available, where it is stored, and its condition\u2014critical for batch, lot, or expiry-controlled items.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Inventory data foundation<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Storage Detail reads directly from <strong>M_Storage \/ M_Storage On Hand<\/strong>, joined with <strong>locator<\/strong>, p<strong>roduct<\/strong>, <strong>warehouse<\/strong>, and <strong>attribute set instance (ASI)<\/strong> data. Every row represents a <strong>unique combination of product + locator + ASI<\/strong>, meaning quantity is always context-aware and never merged across incompatible attributes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quantities shown here already reflect all completed inventory-affecting transactions such as material receipts, customer shipments, inventory adjustments, and internal movements. Draft or unprocessed documents do not influence this report.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"896\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Inventory-StorageDetail.png\" alt=\"\" class=\"wp-image-18026\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Inventory-StorageDetail.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Inventory-StorageDetail-300x263.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Inventory-StorageDetail-768x672.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Attribute Set and traceability handling<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If a product uses an attribute set (Lot, Serial No, Expiry, Guarantee Date, etc.), Storage detail expands the stock into <strong>multiple rows<\/strong>, one per attribute set instance. This is why the same product can appear multiple times under the same locator with different lot numbers or expiry dates.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When no attribute set is used, stock is grouped under a default ASI (<code>*<\/code>), clearly distinguishing controlled and non-controlled inventory without ambiguity.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Key traceability fields commonly surfaced include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lot \/ Lot No<\/li>\n\n\n\n<li>Guarantee Date and Remaining Shelf Life<\/li>\n\n\n\n<li>Serial No (if applicable)<\/li>\n\n\n\n<li>Attribute Set Instance description<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">These fields are not derived or calculated at report time; they are persisted attributes tied to each inventory transaction.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Locator and warehouse structure alignment<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Each row is strictly bound to a <strong>single locator<\/strong>. Even within the same warehouse, quantities are never auto-aggregated across locators. This ensures physical storage logic remains intact, supporting bin-level picking, replenishment, and internal audits.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Locator metadata such as locator value, warehouse, and organizational ownership are included to prevent cross-org or cross-warehouse misinterpretation, especially in multi-org environments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Quantity interpretation and reservations<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The primary quantity exposed is <strong>on hand quantity<\/strong>, which represents physically available stock at that locator and ASI. Depending on report configuration and column visibility, additional quantity dimensions can be displayed to provide operational clarity.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Typical quantity-related columns include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>On Hand Quantity<\/li>\n\n\n\n<li>Reserved Quantity<\/li>\n\n\n\n<li>Ordered Quantity<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">These quantities are maintained independently by the system and allow users to understand availability pressure without altering stock figures.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Report parameters and filtering behavior<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The report allows precise filtering to narrow the storage view without changing underlying data. Filters are applied <em>before rendering<\/em>, ensuring performance and accuracy even with large datasets.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Commonly used filters:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Warehouse and Locator<\/li>\n\n\n\n<li>Product or Product Category<\/li>\n\n\n\n<li>Lot \/ Lot No<\/li>\n\n\n\n<li>Attribute Set Instance<\/li>\n\n\n\n<li>Summary vs detailed view<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Using filters does not recalculate stock; it only constrains visibility, preserving data integrity.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"476\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Inventory-StorageDetail-1.png\" alt=\"\" class=\"wp-image-18027\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Inventory-StorageDetail-1.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Inventory-StorageDetail-1-300x139.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/01\/TenthPlanet-iDempiere-Inventory-StorageDetail-1-768x357.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Operational relevance<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Storage detail is the <strong>reference point<\/strong> for downstream operational processes. Picking, replenishment checks, expiry reviews, and discrepancy investigations all rely on this view to validate physical stock reality against expectations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because it is transaction-backed and attribute-aware, this report is trusted in scenarios where inventory accuracy directly affects compliance, customer fulfillment, or financial reconciliation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Storage Detail provides real-time inventory visibility in iDempiere at the warehouse, locator, product, and batch level. It is built from [&hellip;]<\/p>\n","protected":false},"author":19,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[37],"tags":[],"class_list":["post-18022","post","type-post","status-publish","format-standard","hentry","category-inventory"],"acf":[],"_links":{"self":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts\/18022","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\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/comments?post=18022"}],"version-history":[{"count":0,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts\/18022\/revisions"}],"wp:attachment":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/media?parent=18022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/categories?post=18022"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/tags?post=18022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}