{"id":22510,"date":"2026-08-03T10:02:42","date_gmt":"2026-08-03T10:02:42","guid":{"rendered":"https:\/\/tenthplanet.in\/idempiere\/?p=22510"},"modified":"2026-08-20T11:59:24","modified_gmt":"2026-08-20T11:59:24","slug":"how-to-use-preference-in-idempiere","status":"publish","type":"post","link":"https:\/\/tenthplanet.in\/idempiere\/how-to-use-preference-in-idempiere\/","title":{"rendered":"How to Use Preference in iDempiere"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The Preference window in iDempiere stores key-value settings scoped by tenant, organization, user, window or attribute.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Introduction<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Preference window in iDempiere is a system-level administration screen that stores individual key-value settings, known as preferences, against a Tenant, Organization, User, Window or Attribute combination. Each record holds one stored value, called the Search Key, tied to a specific Attribute name.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is used internally by iDempiere to persist behaviour such as recently used menu items, saved field defaults and other cached session values, and can also be reviewed or maintained by administrators for troubleshooting or configuration purposes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Process Flow<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"272\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/08\/TenthPlanet-iDempiere-Preference-WorkFlow.png\" alt=\"\" class=\"wp-image-28136\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/08\/TenthPlanet-iDempiere-Preference-WorkFlow.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/08\/TenthPlanet-iDempiere-Preference-WorkFlow-300x80.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/08\/TenthPlanet-iDempiere-Preference-WorkFlow-768x204.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>Each preference record is uniquely scoped by Tenant, Organization, User\/Contact and Attribute.<\/li>\n\n\n\n<li>A Tenant value of System indicates the preference applies at the system-wide level.<\/li>\n\n\n\n<li>An Organization value of * applies the preference across all organisations within the tenant.<\/li>\n\n\n\n<li>Preference For determines the entity type the preference is linked to, such as Window.<\/li>\n\n\n\n<li>The Window field is only populated when Preference For is set to Window.<\/li>\n\n\n\n<li>Search Key holds the actual stored preference value, which may be a single value or a comma-separated list.<\/li>\n\n\n\n<li>Attribute identifies the specific setting or key the preference record represents.<\/li>\n\n\n\n<li>A blank User\/Contact means the preference is not restricted to a single user.<\/li>\n\n\n\n<li>Only Active preference records are applied by the system.<\/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>User role must have window access granted to the Preference window.<\/li>\n\n\n\n<li>Tenant and, where applicable, Organization must be correctly configured.<\/li>\n\n\n\n<li>The target Window, User\/Contact or Attribute referenced must already exist in the system.<\/li>\n<\/ul>\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 Preference Window<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This step is required to access the list of stored system and user preferences. Navigate to the window using the standard menu path and review the record navigation bar.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><td><strong>Field<\/strong><\/td><td><strong>Sample Value<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Tenant<\/td><td>System<\/td><td>Scope at which this preference is stored.<\/td><\/tr><tr><td>Organization<\/td><td>*<\/td><td>Organization scope; * applies across all organizations.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The navigation bar confirms how many preference records currently exist for the accessible scope.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 2: Identify the Preference Type<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This step is required to understand what kind of entity the preference applies to. Review the Preference For and Window fields.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><td><strong>Field<\/strong><\/td><td><strong>Sample Value<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Preference For<\/td><td>Window<\/td><td>Entity type the preference is associated with.<\/td><\/tr><tr><td>Window<\/td><td>Menu<\/td><td>Specific window the preference relates to, when applicable.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The Window field remains blank when Preference For refers to a non-window entity type.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 3: Review the Stored Value and Owner<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This step is required to see the actual preference value and which user it belongs to. Check the Search Key, User\/Contact and Attribute fields.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><td><strong>Field<\/strong><\/td><td><strong>Sample Value<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Search Key<\/td><td>144,150,495,424,483,200165,200170<\/td><td>Stored preference value, here a list of recent window IDs.<\/td><\/tr><tr><td>User\/Contact<\/td><td>Santhosh<\/td><td>User this preference record belongs to.<\/td><\/tr><tr><td>Attribute<\/td><td>0|RecentMenuItems<\/td><td>Name of the specific setting being stored.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">iDempiere reads the Search Key value against its Attribute name whenever that feature, such as recent menu items, is used.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 4: Confirm the Record is Active<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This step is required to ensure the preference is currently being applied by the system. Check the Active flag.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><td><strong>Field<\/strong><\/td><td><strong>Sample Value<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Active<\/td><td>Checked<\/td><td>Indicates the preference record is active and applied.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Deactivating a preference record stops it from being applied without deleting the underlying data.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 5: Save Changes<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This step is required when an administrator manually adjusts a preference record. Use the standard toolbar Save action to commit any changes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After completing the configuration, the window is ready for use in standard iDempiere transactions.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"378\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/08\/TenthPlanet-iDempiere-GeneralRules-Preference.png\" alt=\"TenthPlanet-iDempiere-GeneralRules-Preference\" class=\"wp-image-22511\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/08\/TenthPlanet-iDempiere-GeneralRules-Preference.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/08\/TenthPlanet-iDempiere-GeneralRules-Preference-300x111.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/08\/TenthPlanet-iDempiere-GeneralRules-Preference-768x284.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/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\"><table><thead><tr><td><strong>Issue<\/strong><\/td><td><strong>Cause<\/strong><\/td><td><strong>Resolution<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Preference not taking effect<\/td><td>Record is set to Active = No<\/td><td>Reactivate the preference record.<\/td><\/tr><tr><td>Unexpected recent items shown<\/td><td>Search Key list contains stale window IDs<\/td><td>Review and correct the Search Key value.<\/td><\/tr><tr><td>Preference applies to wrong scope<\/td><td>Organization set to a specific org instead of *<\/td><td>Update Organization to match the intended scope.<\/td><\/tr><tr><td>Duplicate preference records found<\/td><td>Multiple records exist for the same Attribute and User<\/td><td>Review and deactivate or remove duplicate entries.<\/td><\/tr><tr><td>Cannot locate a preference record<\/td><td>Window field left blank for a non-window preference<\/td><td>Filter by Attribute or User\/Contact instead of Window.<\/td><\/tr><tr><td>Preference missing for a user<\/td><td>No record exists yet for that User\/Contact and Attribute<\/td><td>Standard behaviour; a record is created when the feature is first used.<\/td><\/tr><tr><td>Access denied opening the window<\/td><td>Role lacks access to the Preference window<\/td><td>Grant the appropriate role access under System Admin.<\/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>User Preference window \u2013 manage personal navigation and display settings for a user.<\/li>\n\n\n\n<li>Role window \u2013 review window and menu access tied to the current role.<\/li>\n\n\n\n<li>Window, Tab &amp; Field window \u2013 review the underlying window definitions referenced by preferences.<\/li>\n\n\n\n<li>System Admin menu \u2013 access other system-wide configuration windows.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The Preference window in iDempiere stores key-value settings scoped by tenant, organization, user, window or attribute. Introduction The Preference window [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,91],"tags":[],"class_list":["post-22510","post","type-post","status-publish","format-standard","hentry","category-idempiere-product","category-idempiere-general-rules"],"_links":{"self":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts\/22510","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=22510"}],"version-history":[{"count":0,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts\/22510\/revisions"}],"wp:attachment":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/media?parent=22510"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/categories?post=22510"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/tags?post=22510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}