{"id":9383,"date":"2026-08-27T11:38:47","date_gmt":"2026-08-27T08:38:47","guid":{"rendered":"https:\/\/machinser.com\/?p=9383"},"modified":"2026-08-27T13:33:12","modified_gmt":"2026-08-27T10:33:12","slug":"how-to-configure-approval-rules-in-odoo-19-using-studio","status":"publish","type":"post","link":"https:\/\/machinser.com\/ar\/how-to-configure-approval-rules-in-odoo-19-using-studio\/","title":{"rendered":"How to Configure Approval Rules in Odoo 19 Using Studio"},"content":{"rendered":"<p>In many businesses, certain operations should not be completed by every user without authorization. For example, a sales quotation may need to be reviewed by a sales manager before it can be confirmed, or a sensitive transaction may require approval from a specific department.<\/p>\n<p>Instead of handling these approvals through emails, messages, or manual follow-ups, <strong>Odoo 19 Studio<\/strong> allows approval controls to be added directly to existing buttons and workflows.<\/p>\n<p>With Studio approval rules, you can decide who is allowed to authorize an action, whether approval should come from a particular user or user group, and whether additional approval steps are required before the action can be completed.<\/p>\n<p>This article explains how to configure such an approval workflow in Odoo 19 using a sales order confirmation as an example.<\/p>\n<h2><strong>What Are Approval Rules in Odoo 19?<\/strong><\/h2>\n<p>Approval rules allow an organization to place an authorization layer on top of an existing Odoo operation.<\/p>\n<p>For instance, suppose sales employees are allowed to create quotations, but management wants every quotation to be reviewed before it becomes a confirmed sales order.<\/p>\n<p>Instead of restricting access to the entire Sales Order form, an approval rule can be attached specifically to the <strong>Confirm<\/strong> button.<\/p>\n<p>This provides a more controlled workflow:<\/p>\n<p><strong>Sales User \u2192 Creates Quotation \u2192 Requests Confirmation \u2192 Approver Reviews \u2192 Order Confirmed<\/strong><\/p>\n<p>The same concept can be applied to different buttons and business operations depending on the requirements of the organization.<\/p>\n<p>Odoo 19 Studio also supports multiple approval stages, allowing businesses to create workflows where more than one person or group must authorize an operation.<\/p>\n<h2><strong>Why Use Approval Rules?<\/strong><\/h2>\n<p>Approval rules can be useful when a company wants tighter control over important transactions without introducing a complicated custom development process.<\/p>\n<p>Some common scenarios include:<\/p>\n<ul>\n<li>Sales orders requiring management approval<\/li>\n<li>Purchase transactions requiring department authorization<\/li>\n<li>Discount approvals<\/li>\n<li>Expense approvals<\/li>\n<li>Important record status changes<\/li>\n<li>Financial or operational actions requiring management review<\/li>\n<li>Multi-level authorization workflows<\/li>\n<\/ul>\n<p>The main advantage is that the approval requirement becomes part of the Odoo workflow itself rather than being managed separately.<\/p>\n<h3><strong>Step 1: Open the Sales Order Form<\/strong><\/h3>\n<p>First, open the <strong>Sales<\/strong> application and create or open a quotation.<\/p>\n<p>The quotation form contains the <strong>Confirm<\/strong> button that normally changes the quotation into a confirmed sales order.<\/p>\n<p>To configure an approval rule for this action, activate <strong>Studio<\/strong> from the Odoo interface.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-9398 size-medium\" src=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image2-1-300x160.png\" alt=\"\" width=\"300\" height=\"160\" srcset=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image2-1-300x160.png 300w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image2-1-1024x545.png 1024w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image2-1-768x408.png 768w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image2-1-1536x817.png 1536w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image2-1-18x10.png 18w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image2-1.png 2048w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<h3><strong>Step 2: Select the Button That Requires Approval<br \/>\n<\/strong><\/h3>\n<p>Once Studio is active, click the <strong>Confirm<\/strong> button on the sales order form.<\/p>\n<p>Odoo Studio will display configuration options for the selected button.<\/p>\n<p>Look for the option related to configuring approval rules and choose:<\/p>\n<p><strong>Add an approval step<\/strong><\/p>\n<p>This allows an approval layer to be attached to the selected button.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-medium wp-image-9399\" src=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image7-300x155.png\" alt=\"\" width=\"300\" height=\"155\" srcset=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image7-300x155.png 300w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image7-1024x529.png 1024w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image7-768x397.png 768w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image7-1536x794.png 1536w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image7-18x9.png 18w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image7.png 2048w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<h3><strong>Step 3: Define the Approver<\/strong><\/h3>\n<p>After adding an approval step, Odoo provides options for deciding who should authorize the action.<\/p>\n<p>Depending on the company&#8217;s workflow, the approval can be assigned to:<\/p>\n<ul>\n<li>A specific Odoo user<\/li>\n<li>A user group<\/li>\n<\/ul>\n<p>For example, if all sales orders must be reviewed by the Sales Manager, the appropriate user or group can be selected as the approver.<\/p>\n<p>This is particularly useful when the approval responsibility belongs to a department rather than one individual employee.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-medium wp-image-9400\" src=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image4-1-300x161.png\" alt=\"\" width=\"300\" height=\"161\" srcset=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image4-1-300x161.png 300w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image4-1-1024x551.png 1024w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image4-1-768x413.png 768w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image4-1-1536x827.png 1536w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image4-1-18x10.png 18w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image4-1.png 2048w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Step 4: Configure Notifications<\/strong><\/h3>\n<p>The approval configuration can also be used to notify the relevant users when their approval is required.<\/p>\n<p>This is useful in situations where the person responsible for approval may not be actively monitoring the transaction.<\/p>\n<p>For example:<\/p>\n<p><strong>Salesperson creates quotation \u2192 Confirmation requested \u2192 Manager receives notification \u2192 Manager reviews quotation<\/strong><\/p>\n<p>This keeps the approval process inside Odoo and reduces the need for manual communication.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-9401\" src=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image9-300x167.png\" alt=\"\" width=\"300\" height=\"167\" srcset=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image9-300x167.png 300w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image9-1024x569.png 1024w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image9-768x427.png 768w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image9-1536x854.png 1536w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image9-18x10.png 18w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image9.png 2048w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Step 5: Add Additional Approval Levels<\/strong><\/h3>\n<p>A business may require more than one person to authorize a transaction.<\/p>\n<p>For example, a company could have the following approval structure:<\/p>\n<p><strong>Level 1:<\/strong> Sales Manager<br \/>\n<strong>Level 2:<\/strong> Finance Manager<br \/>\n<strong>Level 3:<\/strong> General Manager<\/p>\n<p>Odoo Studio allows additional approval steps to be added to the same button.<\/p>\n<p>Use the option to add another approval step and configure the next responsible user or group.<\/p>\n<p>You can therefore create a sequential approval workflow without creating a separate custom approval application.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-9402\" src=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image8-300x225.png\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image8-300x225.png 300w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image8-1024x769.png 1024w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image8-768x576.png 768w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image8-1536x1153.png 1536w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image8-16x12.png 16w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image8.png 2048w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Step 6: Save the Approval Configuration<\/strong><\/h3>\n<p>After defining the required approvers and approval levels, save the Studio customization.<\/p>\n<p>It is recommended to test the configuration with a normal user account rather than immediately testing with an administrator account.<\/p>\n<p>This helps confirm that the approval restriction is actually being applied to users who are not authorized to perform the action directly.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-9389\" src=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image6_1280x720-300x169.png\" alt=\"Odoo 19 Approval Rules\" width=\"300\" height=\"169\" srcset=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image6_1280x720-300x169.png 300w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image6_1280x720-1024x576.png 1024w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image6_1280x720-768x432.png 768w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image6_1280x720-18x10.png 18w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image6_1280x720.png 1280w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<h3><strong>Step 7: Test the Workflow as a Normal User<\/strong><\/h3>\n<p>Now log in using a user who is not configured as an approver.<\/p>\n<p>Create a new quotation and enter the required sales information.<\/p>\n<p>When the user attempts to click <strong>Confirm<\/strong>, Odoo will recognize that the action requires approval.<\/p>\n<p>Instead of allowing the transaction to proceed immediately, the system will display the approval requirement.<\/p>\n<p>This ensures that the configured authorization process is enforced at the point where the restricted action is attempted.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-9403\" src=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image1-2-300x133.png\" alt=\"\" width=\"300\" height=\"133\" srcset=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image1-2-300x133.png 300w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image1-2-1024x454.png 1024w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image1-2-768x340.png 768w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image1-2-1536x680.png 1536w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image1-2-18x8.png 18w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image1-2.png 2048w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Step 8: Review the Approval Status<\/strong><\/h3>\n<p>Odoo provides visibility into the approval process from the transaction itself.<\/p>\n<p>An approval indicator can be used to inspect the current approval status and understand whether the required authorization has been completed.<\/p>\n<p>This makes it easier for users to identify why an operation has not yet been completed.<\/p>\n<h3><strong>Step 9: Open the Approval Details<\/strong><\/h3>\n<p>Clicking the approval information allows users to see additional details about the configured approval step.<\/p>\n<p>Depending on the configuration, this can show information such as:<\/p>\n<ul>\n<li>Approval responsibility<\/li>\n<li>Assigned approver<\/li>\n<li>Current approval status<\/li>\n<li>Approval stage<\/li>\n<li>Pending approvals<\/li>\n<\/ul>\n<p>This provides better visibility into where the transaction currently stands.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-9404\" src=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image5-1-300x127.png\" alt=\"\" width=\"300\" height=\"127\" srcset=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image5-1-300x127.png 300w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image5-1-1024x433.png 1024w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image5-1-768x325.png 768w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image5-1-1536x650.png 1536w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image5-1-18x8.png 18w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image5-1.png 2048w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Step 10: Approver Reviews the Request<\/strong><\/h3>\n<p>The designated approver can now review the transaction before authorizing it.<\/p>\n<p>For example, the Sales Manager may check:<\/p>\n<ul>\n<li>Customer information<\/li>\n<li>\u0645\u0646\u062a\u062c\u0627\u062a<\/li>\n<li>Quantities<\/li>\n<li>Pricing<\/li>\n<li>Discounts<\/li>\n<li>Payment terms<\/li>\n<li>Delivery information<\/li>\n<\/ul>\n<p>After reviewing the transaction, the approver can complete the assigned approval.<\/p>\n<h3><strong>Step 11: Track the Approval in the Chatter<\/strong><\/h3>\n<p>Odoo&#8217;s chatter provides a useful audit trail for the approval process.<\/p>\n<p>Once an approval has been completed, the related activity or approval information can be reflected in the chatter.<\/p>\n<p>This gives users a historical view of the workflow and makes it easier to understand who participated in the authorization process.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-9405\" src=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image3-1-300x135.png\" alt=\"\" width=\"300\" height=\"135\" srcset=\"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image3-1-300x135.png 300w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image3-1-1024x460.png 1024w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image3-1-768x345.png 768w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image3-1-1536x690.png 1536w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image3-1-18x8.png 18w, https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/image3-1.png 2048w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Advantages of Using Studio Approval Rules<\/strong><\/h2>\n<p>Using Studio for approval control provides several practical benefits.<\/p>\n<h3><strong>1. No Custom Development<\/strong><\/h3>\n<p>Approval rules can be configured through the Odoo Studio interface without writing custom Python code.<\/p>\n<h3><strong>2. Better Transaction Control<\/strong><\/h3>\n<p>Important operations can be protected from being completed without the required authorization.<\/p>\n<h3><strong>3. Multiple Approval Levels<\/strong><\/h3>\n<p>Businesses can establish sequential approval workflows involving multiple users or groups.<\/p>\n<h3><strong>4. Improved Visibility<\/strong><\/h3>\n<p>Users can see whether an action is waiting for approval and identify the relevant approval stage.<\/p>\n<h3><strong>5. Centralized Workflow<\/strong><\/h3>\n<p>The approval process remains inside Odoo instead of depending on external emails or informal communication.<\/p>\n<h3><strong>6. Better Accountability<\/strong><\/h3>\n<p>Approval activities provide greater visibility into who was responsible for reviewing an operation.<\/p>","protected":false},"excerpt":{"rendered":"<p>In many businesses, certain operations should not be completed by every user without authorization. For example, a sales quotation may need to be reviewed by a sales manager before it can be confirmed, or a sensitive transaction may require approval from a specific department. Instead of handling these approvals through emails, messages, or manual follow-ups, [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":9393,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[313,192],"tags":[260,317,258],"class_list":["post-9383","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-odoo-configuration","category-odoo-erp","tag-erp-customization","tag-erp-customization-erp-customization","tag-erp-implementation"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/machinser.com\/wp-content\/uploads\/2026\/08\/Odoo-studio.jpeg","_links":{"self":[{"href":"https:\/\/machinser.com\/ar\/wp-json\/wp\/v2\/posts\/9383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/machinser.com\/ar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/machinser.com\/ar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/machinser.com\/ar\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/machinser.com\/ar\/wp-json\/wp\/v2\/comments?post=9383"}],"version-history":[{"count":3,"href":"https:\/\/machinser.com\/ar\/wp-json\/wp\/v2\/posts\/9383\/revisions"}],"predecessor-version":[{"id":9406,"href":"https:\/\/machinser.com\/ar\/wp-json\/wp\/v2\/posts\/9383\/revisions\/9406"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/machinser.com\/ar\/wp-json\/wp\/v2\/media\/9393"}],"wp:attachment":[{"href":"https:\/\/machinser.com\/ar\/wp-json\/wp\/v2\/media?parent=9383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/machinser.com\/ar\/wp-json\/wp\/v2\/categories?post=9383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/machinser.com\/ar\/wp-json\/wp\/v2\/tags?post=9383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}