{"id":22320,"date":"2026-07-30T09:38:29","date_gmt":"2026-07-30T09:38:29","guid":{"rendered":"https:\/\/tenthplanet.in\/idempiere\/?p=22320"},"modified":"2026-08-13T04:51:02","modified_gmt":"2026-08-13T04:51:02","slug":"how-to-configure-schedule-in-idempiere","status":"publish","type":"post","link":"https:\/\/tenthplanet.in\/idempiere\/how-to-configure-schedule-in-idempiere\/","title":{"rendered":"How to Configure Schedule in iDempiere"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Learn how the Schedule window in iDempiere lets you configure Frequency or Cron based timing to automate execution of background processes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Introduction<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Schedule window in iDempiere defines reusable scheduling configurations that determine when a background process should run. Each Schedule specifies either a Frequency-based interval or a Cron Scheduling Pattern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A Schedule does not run a process by itself. It is assigned to a Schedule Process, which uses the configuration to control execution timing for reports, maintenance jobs, and synchronization tasks.<\/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-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"322\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/Schedule-1024x322.png\" alt=\"\" class=\"wp-image-22321\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/Schedule-1024x322.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/Schedule-300x94.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/Schedule-768x241.png 768w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/Schedule-1536x483.png 1536w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/Schedule.png 1693w\" 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>Tenant is mandatory; every Schedule belongs to a Tenant.<\/li>\n\n\n\n<li>Organization is mandatory and must be specified for each Schedule.<\/li>\n\n\n\n<li>A descriptive Name is required to identify the Schedule.<\/li>\n\n\n\n<li>Schedule Type determines whether Frequency or Cron Scheduling Pattern is used.<\/li>\n\n\n\n<li>Frequency Type and Frequency are both required for frequency-based scheduling.<\/li>\n\n\n\n<li>Cron Scheduling Pattern is validated on save; invalid patterns are rejected.<\/li>\n\n\n\n<li>An invalid Cron expression displays the error InvalidCronPattern.<\/li>\n\n\n\n<li>Only Active schedules are intended for use in scheduling processes.<\/li>\n\n\n\n<li>A single Schedule can be reused across multiple Schedule Process records.<\/li>\n\n\n\n<li>The Schedule itself does not execute a process; Schedule Process performs execution.<\/li>\n\n\n\n<li>Run only on IP accepts an IP address or hostname for scheduler evaluation.<\/li>\n\n\n\n<li>Ignore Processing Time is inherited by the associated Schedule Process.<\/li>\n\n\n\n<li>System Schedule is an optional configuration field on the Schedule record.<\/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 must have System Administrator access or a role with rights to General Rules.<\/li>\n\n\n\n<li>A valid Tenant and Organization must already exist in the system.<\/li>\n\n\n\n<li>The Process intended for scheduling should be available for later assignment in Schedule Process.<\/li>\n\n\n\n<li>Basic familiarity with Cron expression syntax if Cron Scheduling Pattern will be used.<\/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: Create a Schedule<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This step is required to establish a new, reusable scheduling definition before it can be linked to any background process.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open the Schedule window and create a new record. Enter the Tenant, Organization, and a descriptive Name, then select a Schedule Type of Frequency or Cron Scheduling Pattern.<\/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>Identifies the tenant that owns the Schedule record<\/td><\/tr><tr><td>Organization<\/td><td>*<\/td><td>Organization associated with the Schedule<\/td><\/tr><tr><td>Name<\/td><td>30 Minute<\/td><td>Descriptive name identifying the Schedule<\/td><\/tr><tr><td>Schedule Type<\/td><td>Frequency<\/td><td>Determines whether Frequency or Cron Scheduling Pattern is used<\/td><\/tr><tr><td>Active<\/td><td>Checked<\/td><td>Controls whether the Schedule is available for use<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"502\" src=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-Schedule.png\" alt=\"\" class=\"wp-image-22322\" title=\"\" srcset=\"https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-Schedule.png 1024w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-Schedule-300x147.png 300w, https:\/\/tenthplanet.in\/idempiere\/wp-content\/uploads\/sites\/13\/2026\/07\/TenthPlanet-iDempiere-GeneralRules-Schedule-768x377.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Saving the record creates a new Schedule that can later be assigned to a Schedule Process.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 2: Configure a Frequency Schedule<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This step is required when recurring execution should occur at a fixed, repeating interval such as every few minutes or hours.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Set Schedule Type to Frequency, then select a Frequency Type and enter a Frequency value representing the repeat interval.<\/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>Schedule Type<\/td><td>Frequency<\/td><td>Enables interval-based scheduling fields<\/td><\/tr><tr><td>Frequency Type<\/td><td>Minute<\/td><td>Unit of time used for the repeat interval<\/td><\/tr><tr><td>Frequency<\/td><td>30<\/td><td>Number of Frequency Type units between executions<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">With these values, the Schedule represents an execution interval of every two hours once assigned to a Schedule Process.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 3: Configure a Cron Schedule<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This step is required for more complex or precise timing needs that a simple interval cannot express, such as running only on specific days or times.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Set Schedule Type to Cron Scheduling Pattern and enter a valid Cron expression. The pattern is validated when the record is saved.<\/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>Schedule Type<\/td><td>Cron Scheduling Pattern<\/td><td>Enables Cron-based scheduling<\/td><\/tr><tr><td>Cron Scheduling Pattern<\/td><td>Valid Cron expression<\/td><td>Defines the exact execution timing pattern<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If an invalid value such as &#8220;abc&#8221; is entered, iDempiere displays the error InvalidCronPattern and prevents saving until a valid expression is provided. A valid pattern is saved and made available for assignment to a Schedule Process.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 4: Configure Optional Settings<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">These optional fields refine how and where the Schedule is applied once assigned to a Schedule Process.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enter an IP address or hostname in Run only on IP if execution should be restricted to a specific scheduler node. Enable System Schedule or Ignore Processing Time as needed, and confirm 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>Run only on IP<\/td><td>192.168.0.53<\/td><td>IP address or hostname evaluated during scheduler registration<\/td><\/tr><tr><td>System Schedule<\/td><td>Unchecked<\/td><td>Optional flag identifying the record as a System Schedule<\/td><\/tr><tr><td>Ignore Processing Time<\/td><td>Unchecked<\/td><td>Optional setting inherited by the associated Schedule Process<\/td><\/tr><tr><td>Active<\/td><td>Checked<\/td><td>Determines whether the Schedule is available for use<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once saved, the Schedule is ready for selection in the Schedule Process window, where it controls the execution timing of the assigned process.<\/p>\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>InvalidCronPattern error<\/td><td>Invalid Cron Scheduling Pattern entered<\/td><td>Enter a valid Cron Scheduling Pattern before saving<\/td><\/tr><tr><td>Frequency fields unavailable<\/td><td>Schedule Type is set to Cron Scheduling Pattern<\/td><td>Change Schedule Type to Frequency<\/td><\/tr><tr><td>Cron Scheduling Pattern field unavailable<\/td><td>Schedule Type is set to Frequency<\/td><td>Change Schedule Type to Cron Scheduling Pattern<\/td><\/tr><tr><td>Schedule unavailable for selection<\/td><td>Schedule record is inactive<\/td><td>Activate the Schedule record<\/td><\/tr><tr><td>Run only on IP behavior differs from expectations<\/td><td>Runtime behavior depends on scheduler registration and environment<\/td><td>Verify scheduler configuration and environment settings<\/td><\/tr><tr><td>Schedule Process not executing as expected<\/td><td>Schedule not yet assigned to a Scheduler Process<\/td><td>Assign the Schedule within the Scheduler Process window<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Next Steps<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the Schedule Process window.<\/li>\n\n\n\n<li>Create a new Schedule Process record.<\/li>\n\n\n\n<li>Select the required Process to be automated.<\/li>\n\n\n\n<li>Assign the previously created Schedule.<\/li>\n\n\n\n<li>Configure process parameters if required.<\/li>\n\n\n\n<li>Start the scheduler to enable automatic execution.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Learn how the Schedule window in iDempiere lets you configure Frequency or Cron based timing to automate execution of background [&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-22320","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\/22320","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=22320"}],"version-history":[{"count":1,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts\/22320\/revisions"}],"predecessor-version":[{"id":22323,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/posts\/22320\/revisions\/22323"}],"wp:attachment":[{"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/media?parent=22320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/categories?post=22320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tenthplanet.in\/idempiere\/wp-json\/wp\/v2\/tags?post=22320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}