{"id":34629,"date":"2025-12-04T10:56:51","date_gmt":"2025-12-04T10:56:51","guid":{"rendered":"https:\/\/tenthplanet.in\/odoo\/?p=34629"},"modified":"2025-12-11T05:04:03","modified_gmt":"2025-12-11T05:04:03","slug":"how-bill-control-policies-work-in-odoo-purchase","status":"publish","type":"post","link":"https:\/\/tenthplanet.in\/odoo\/product\/purchase\/how-bill-control-policies-work-in-odoo-purchase\/","title":{"rendered":"How Bill Control Policies work in Odoo Purchase"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In Odoo, the <strong>Bill Control Policies<\/strong> helps determine when a vendor bill (GR Bill) can be created during the purchase process. It controls whether billing happens based on the quantities ordered or the quantities actually received.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><strong>Configuring Bill Control Policies in Odoo<\/strong><\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When you set a control policy in the default configuration, that setting is automatically applied to all newly created products. This ensures consistency for every new product added to the system.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, if you manually change the Control Policy for a <strong>specific product<\/strong>, Odoo will follow the product-level setting during the purchase process, even if the default configuration is different. This allows you to customize billing behavior for certain products whenever needed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If your goal is to apply a single Bill control policy to all products moving forward, you should update the policy in the default configuration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To do this go to the <strong>Purchase<\/strong> module, click <strong>Configuration<\/strong> and select <strong>Settings<\/strong>. Under the Invoicing section, you will find the <strong>Bill Control<\/strong> option. By default, in Odoo it is set to <strong>On received quantities<\/strong> at both the default configuration level and for all newly created products.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"389\" src=\"https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Settings-Bill-Control-1.png\" alt=\"Odoo Purchase Settings Bill Control\" class=\"wp-image-34706\" srcset=\"https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Settings-Bill-Control-1.png 798w, https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Settings-Bill-Control-1-300x146.png 300w, https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Settings-Bill-Control-1-768x374.png 768w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This way, every newly created product will automatically inherit that policy, reducing manual effort and keeping your purchase workflow consistent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then to configure the control policy for a <strong>specific product<\/strong>, go to the <strong>Inventory<\/strong> module, open <strong>Products<\/strong> and search for the product you want to update. Once you select the product, navigate to the <strong>Purchase<\/strong> tab. In the <strong>Control Policy<\/strong> field, choose either <strong>On ordered quantities<\/strong> or <strong>On received quantities<\/strong>, depending on how you want vendor billing to be handled for that particular product.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Billing Based on Ordered Quantities<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If the control policy is set to <strong>On ordered quantities<\/strong>, Odoo allows billing as soon as the purchase order is confirmed.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"785\" src=\"https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Purchase-Order-Ordered-Quanities-Enabled-1024x785.png\" alt=\"Odoo Purchase Purchase Order Ordered Quanities Enabled\" class=\"wp-image-34632\" srcset=\"https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Purchase-Order-Ordered-Quanities-Enabled-1024x785.png 1024w, https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Purchase-Order-Ordered-Quanities-Enabled-300x230.png 300w, https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Purchase-Order-Ordered-Quanities-Enabled-768x589.png 768w, https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Purchase-Order-Ordered-Quanities-Enabled.png 1195w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once the Purchase Order (PO) is approved, the <strong>Create GR Bill<\/strong> button becomes active and appears in green, even if you have not yet received any products. This means GR Bill can be created immediately based on the ordered quantities.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This Bill Control Policy is useful when vendors bill upfront or when billing is not dependent on physical delivery.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Billing Based on Received Quantities<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If the control policy is set to <strong>On received quantities<\/strong>, Odoo requires the actual goods to be received before generating any vendor bill.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After the Purchase Order is approved, the <strong>Create GR Bill<\/strong> button will initially appear in grey and it is not active. You must first receive the products in your warehouse and validate the goods receipt (GR).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"789\" src=\"https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Purchase-Order-Received-Quanities-Enabled-GR-Bill-Validation.png-1024x789.png\" alt=\"Odoo Purchase Purchase Order Received Quanities Enabled GR Bill Validation\" class=\"wp-image-34633\" srcset=\"https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Purchase-Order-Received-Quanities-Enabled-GR-Bill-Validation.png-1024x789.png 1024w, https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Purchase-Order-Received-Quanities-Enabled-GR-Bill-Validation.png-300x231.png 300w, https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Purchase-Order-Received-Quanities-Enabled-GR-Bill-Validation.png-768x592.png 768w, https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Purchase-Order-Received-Quanities-Enabled-GR-Bill-Validation.png.png 1195w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you try to create a bill before receiving any items by clicking the <strong>Create GR Bill<\/strong> button, Odoo prevents the action and displays the warning: \u201c<strong>Invalid Operation:<\/strong> <strong>There is no invoiceable line. If a product has a control policy based on received quantity, please make sure that a quantity has been received.\u201d<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Only after the GR is fully validated does the <strong>Create GR Bill<\/strong> button turn green, allowing you to generate the GR Bill.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"632\" src=\"https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Purchase-Order-Received-Quanities-Enabled-2-1024x632.png\" alt=\"Odoo Purchase Purchase Order Received Quanities Enabled\" class=\"wp-image-34636\" srcset=\"https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Purchase-Order-Received-Quanities-Enabled-2-1024x632.png 1024w, https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Purchase-Order-Received-Quanities-Enabled-2-300x185.png 300w, https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Purchase-Order-Received-Quanities-Enabled-2-768x474.png 768w, https:\/\/tenthplanet.in\/odoo\/wp-content\/uploads\/sites\/8\/2025\/12\/TenthPlanet-Odoo-Purchase-Purchase-Order-Received-Quanities-Enabled-2.png 1195w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This Bill Control Policy ensures that your billing is always accurate and perfectly aligned with the actual quantities recorded in your inventory.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Odoo, the Bill Control Policies helps determine when a vendor bill (GR Bill) can be created during the purchase [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[383],"tags":[712,459],"class_list":["post-34629","post","type-post","status-publish","format-standard","hentry","category-purchase","tag-bill-control-policy","tag-purchase"],"acf":[],"_links":{"self":[{"href":"https:\/\/tenthplanet.in\/odoo\/wp-json\/wp\/v2\/posts\/34629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tenthplanet.in\/odoo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tenthplanet.in\/odoo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tenthplanet.in\/odoo\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/tenthplanet.in\/odoo\/wp-json\/wp\/v2\/comments?post=34629"}],"version-history":[{"count":0,"href":"https:\/\/tenthplanet.in\/odoo\/wp-json\/wp\/v2\/posts\/34629\/revisions"}],"wp:attachment":[{"href":"https:\/\/tenthplanet.in\/odoo\/wp-json\/wp\/v2\/media?parent=34629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tenthplanet.in\/odoo\/wp-json\/wp\/v2\/categories?post=34629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tenthplanet.in\/odoo\/wp-json\/wp\/v2\/tags?post=34629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}