From f7cdd89586cd436816b7cc4b1b41681d0d8aec99 Mon Sep 17 00:00:00 2001 From: Charles-Henri Decultot Date: Mon, 3 Mar 2025 18:38:01 +0100 Subject: [PATCH 1/2] fix: don't limit PO to drop shipping + keep first supplier when mapping --- erpnext/selling/doctype/sales_order/sales_order.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index ade2c71b44..a01f3460d4 100755 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -1446,7 +1446,7 @@ def make_purchase_order_for_default_supplier(source_name, selected_items=None, t target.qty = flt(source.qty) - (flt(source.ordered_qty) / flt(source.conversion_factor)) target.stock_qty = flt(source.stock_qty) - flt(source.ordered_qty) target.project = source_parent.project - if source.unit_cost_price: # @dokos + if source.unit_cost_price: # @dokos target.price_list_rate = source.unit_cost_price target.rate = source.unit_cost_price target.margin_rate_or_amount = 0.0 @@ -1504,8 +1504,7 @@ def make_purchase_order_for_default_supplier(source_name, selected_items=None, t "postprocess": update_item, "condition": lambda doc: doc.ordered_qty < doc.stock_qty and doc.supplier == supplier - and doc.item_code in items_to_map - and doc.delivered_by_supplier == 1, + and doc.item_code in items_to_map, # @dokos }, }, target_doc, @@ -1542,7 +1541,7 @@ def make_purchase_order(source_name, selected_items=None, target_doc=None): return drop_ship def set_missing_values(source, target): - target.supplier = "" + target.supplier = source[0].supplier # @dokos target.apply_discount_on = "" target.additional_discount_percentage = 0.0 target.discount_amount = 0.0 @@ -1576,7 +1575,7 @@ def make_purchase_order(source_name, selected_items=None, target_doc=None): target.qty = flt(source.qty) - (flt(source.ordered_qty) / flt(source.conversion_factor)) target.stock_qty = flt(source.stock_qty) - flt(source.ordered_qty) target.project = source_parent.project - if source.unit_cost_price: # @dokos + if source.unit_cost_price: # @dokos target.price_list_rate = source.unit_cost_price target.rate = source.unit_cost_price target.margin_rate_or_amount = 0.0 -- GitLab From 2bdaeb2b582e274cf3be62d659a54afd00ac2140 Mon Sep 17 00:00:00 2001 From: Charles-Henri Decultot Date: Tue, 4 Mar 2025 09:04:51 +0100 Subject: [PATCH 2/2] fix: take the first item --- erpnext/selling/doctype/sales_order/sales_order.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index a01f3460d4..84288a2f22 100755 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -1541,7 +1541,7 @@ def make_purchase_order(source_name, selected_items=None, target_doc=None): return drop_ship def set_missing_values(source, target): - target.supplier = source[0].supplier # @dokos + target.supplier = source.items[0].supplier # @dokos target.apply_discount_on = "" target.additional_discount_percentage = 0.0 target.discount_amount = 0.0 -- GitLab