{"id":31655,"date":"2025-12-31T12:23:14","date_gmt":"2025-12-31T12:23:14","guid":{"rendered":"https:\/\/www.greytrix.com\/blogs\/sagex3\/?p=31655"},"modified":"2025-12-31T12:23:14","modified_gmt":"2025-12-31T12:23:14","slug":"manual-po-line-closure","status":"publish","type":"post","link":"https:\/\/www.greytrix.com\/blogs\/sagex3\/2025\/12\/31\/manual-po-line-closure\/","title":{"rendered":"Manual PO Line Closure"},"content":{"rendered":"\n<p>In <a href=\"https:\/\/www.greytrix.com\/sage-x3-erp\/development-services\/\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/www.greytrix.com\/sage-x3-erp\/development-services\/\" rel=\"noreferrer noopener\">Sage X3<\/a>, when a Purchase Receipt is created against a Purchase Order and the received quantity is equal to or greater than the ordered quantity, the system automatically updates the Purchase Order status from \u201cPending\u201d to \u201cClosed.\u201d<\/p>\n\n\n\n<p>However, one of our clients has requested an enhancement that allows Purchase Orders to be closed manually, regardless of the quantity received. This functionality should apply at the line level, enabling users to update the status of individual lines to \u201cClosed\u201d based solely on a user confirmation.<\/p>\n\n\n\n<p>To support this, the client requires a simple \u201cYes or No\u201d confirmation pop-up during Purchase Receipt creation, allowing them to close any selected line even if the received quantity is less than the ordered quantity.<\/p>\n\n\n\n<p>For example, in Purchase Order BLR102512POH0334, two products have been added on separate lines with quantities of 10 and 100, both of which currently show a status of \u201cPending.\u201d<\/p>\n\n\n\n<p><strong>New Stuff:<\/strong> <a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/2025\/12\/31\/sales-order-update-routine-module-functionality-overview\/\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/2025\/12\/31\/sales-order-update-routine-module-functionality-overview\/\" rel=\"noreferrer noopener\">Sales Order Update Routine Module functionality overview<\/a><\/p>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2025\/12\/Fig-1.-Quantity-entered-in-Purchase-Order-1024x359.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px; align: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2025\/12\/Fig-1.-Quantity-entered-in-Purchase-Order-1024x359.jpg\" alt=\"[Fig 1. Quantity entered in Purchase Order]\"><\/a><\/center>\n<font size=\"2\"><center>[Fig 1. Quantity entered in Purchase Order]<\/center><\/font>\n\n\n\n<p>Next, we created a Purchase Receipt against the same Purchase Order with received quantities of 8 and 80, respectively, as shown in the screenshot below.<\/p>\n\n\n\n<p>In this scenario, the quantity received for both lines is less than the quantity specified in the Purchase Order.<\/p>\n\n\n\n<p><strong>Quantity of purchase receipt &lt; Quantity of Purchase Order<\/strong><\/p>\n\n\n\n<p>Under the standard Sage X3 behaviour, the Purchase Order lines would remain in a \u201cPending\u201d status; however, with the proposed enhancement, the system should allow the user to manually close each line through the confirmation pop-up during receipt creation, even when the received quantity is lower than the ordered quantity.<\/p>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2025\/12\/Fig-2.-Quantity-entered-in-Purchase-Receipt-1024x380.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px; align: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2025\/12\/Fig-2.-Quantity-entered-in-Purchase-Receipt-1024x380.jpg\" alt=\"[Fig 2. Quantity entered in Purchase Receipt]\"><\/a><\/center>\n<font size=\"2\"><center>[Fig 2. Quantity entered in Purchase Receipt]<\/center><\/font>\n\n\n\n<p>Logically, the Purchase Order lines should remain open because the full ordered quantities have not yet been received.<\/p>\n\n\n\n<p>However, based on the client\u2019s requirement, we have introduced a confirmation pop-up that enables users to manually close the lines, as shown in the screenshot below. This pop-up appears during Purchase Receipt creation and allows users to choose whether they want to close each line regardless of the remaining pending quantity.<\/p>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2025\/12\/Fig-3.-Closing-line-confirmation-pop-up-1024x382.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px; align: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2025\/12\/Fig-3.-Closing-line-confirmation-pop-up-1024x382.jpg\" alt=\"[Fig 3. Closing line confirmation pop-up]\"><\/a><\/center>\n<font size=\"2\"><center>[Fig 3. Closing line confirmation pop-up]<\/center><\/font>\n\n\n\n<p>This confirmation pop-up is displayed for each line of the Purchase Order to capture the client\u2019s line-wise decision on whether the line should be closed.<\/p>\n\n\n\n<p>In this case, we selected \u201cYes\u201d for both lines.<\/p>\n\n\n\n<p>As a result, when reviewing the Purchase Order lines afterward, the \u201cClosed\u201d status for each line is updated to \u201cYes,\u201d as shown in the screenshot below.<\/p>\n\n\n\n<center><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2025\/12\/Fig-4.-Lines-closed-on-Purchas-Order-1024x359.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"size-full\" style=\"border: 1px solid #A9A9A9; padding: 2px; margin: 2px; align: center;\" src=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-content\/uploads\/2025\/12\/Fig-4.-Lines-closed-on-Purchas-Order-1024x359.jpg\" alt=\"[Fig 4. Lines closed on Purchas Order]\"><\/a><\/center>\n<font size=\"2\"><center>[Fig 4. Lines closed on Purchas Order]<\/center><\/font>\n\n\n\n<p>This means that, irrespective of the quantities, we have introduced functionality that allows Purchase Order lines to be closed manually. Whether the Purchase Receipt quantity is less than, greater than, or equal to the Purchase Order quantity, the system will now close the lines based on the user\u2019s selection in the confirmation pop-up rather than relying on the standard automatic logic.<\/p>\n\n\n\n<p>Since both lines were manually closed through the pop-up in this example, the <strong>overall status of the Purchase Order is updated to \u201cClosed.\u201d<\/strong><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Sage X3, when a Purchase Receipt is created against a Purchase Order and the received quantity is equal to or greater than the ordered quantity, the system automatically updates the Purchase Order status from \u201cPending\u201d to \u201cClosed.\u201d However, one of our clients has requested an enhancement that allows Purchase Orders to be closed manually,\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.greytrix.com\/blogs\/sagex3\/2025\/12\/31\/manual-po-line-closure\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,13],"tags":[343,4512,3739,4511,4297,1565,1573,1590,2157],"class_list":["post-31655","post","type-post","status-publish","format-standard","hentry","category-sage-erp-x3","category-integration","tag-closed","tag-equal-to","tag-greater-than","tag-less-than","tag-manually","tag-purchase-order","tag-purchase-receipt","tag-quantity","tag-status"],"_links":{"self":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/posts\/31655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/comments?post=31655"}],"version-history":[{"count":8,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/posts\/31655\/revisions"}],"predecessor-version":[{"id":31663,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/posts\/31655\/revisions\/31663"}],"wp:attachment":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/media?parent=31655"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/categories?post=31655"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagex3\/wp-json\/wp\/v2\/tags?post=31655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}