From 1e0532f3877b8a27763511731b73f6f77c811298 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Thu, 11 Dec 2025 10:12:42 +0530 Subject: [PATCH 1/2] fix: Serial/Batches not fetching when creating Material Transfer from Purchase Receipt (cherry picked from commit d16c50486a7191ce6fa128fada3c4e87d4649404) # Conflicts: # erpnext/stock/doctype/purchase_receipt/purchase_receipt.py (cherry picked from commit f3c70a66b5daa8eab56cf169b896d771e67a606c) --- .../purchase_receipt/purchase_receipt.py | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py index 53aad87e2da..47e89269b35 100644 --- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py @@ -19,6 +19,15 @@ from erpnext.buying.utils import check_on_hold_or_closed_status from erpnext.controllers.accounts_controller import merge_taxes from erpnext.controllers.buying_controller import BuyingController from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_transaction +<<<<<<< HEAD +======= +from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import StockReservation +from erpnext.stock.serial_batch_bundle import ( + SerialBatchCreation, + get_batches_from_bundle, + get_serial_nos_from_bundle, +) +>>>>>>> d16c50486a (fix: Serial/Batches not fetching when creating Material Transfer from Purchase Receipt) form_grid_templates = {"items": "templates/form_grid/item_grid.html"} @@ -1411,6 +1420,35 @@ def make_stock_entry(source_name, target_doc=None): target.purpose = "Material Transfer" target.set_missing_values() + def update_item(source_doc, target_doc, source_parent): + if source_doc.serial_and_batch_bundle: + serial_nos = get_serial_nos_from_bundle(source_doc.serial_and_batch_bundle) + if serial_nos: + serial_nos = "\n".join(serial_nos) + + batches = get_batches_from_bundle(source_doc.serial_and_batch_bundle) + if batches: + if len(batches) == 1: + target_doc.use_serial_batch_fields = 1 + target_doc.batch_no = next(iter(batches)) + elif not serial_nos: + cls_obj = SerialBatchCreation( + { + "type_of_transaction": "Outward", + "serial_and_batch_bundle": source_doc.serial_and_batch_bundle, + "item_code": source_doc.item_code, + "warehouse": source_doc.warehouse, + } + ) + + cls_obj.duplicate_package() + + target_doc.serial_and_batch_bundle = cls_obj.serial_and_batch_bundle + + if serial_nos: + target_doc.use_serial_batch_fields = 1 + target_doc.serial_no = serial_nos + doclist = get_mapped_doc( "Purchase Receipt", source_name, @@ -1425,6 +1463,7 @@ def make_stock_entry(source_name, target_doc=None): "parent": "reference_purchase_receipt", "batch_no": "batch_no", }, + "postprocess": update_item, }, }, target_doc, From 580e825ec2941f4526ce7b36df1ac05f8822362c Mon Sep 17 00:00:00 2001 From: rohitwaghchaure Date: Thu, 11 Dec 2025 11:36:31 +0530 Subject: [PATCH 2/2] chore: fix conflicts (cherry picked from commit c8565c47a2c2fce59baa6844f73b8205290b2c85) --- erpnext/stock/doctype/purchase_receipt/purchase_receipt.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py index 47e89269b35..7a4101e9dfb 100644 --- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py @@ -19,15 +19,11 @@ from erpnext.buying.utils import check_on_hold_or_closed_status from erpnext.controllers.accounts_controller import merge_taxes from erpnext.controllers.buying_controller import BuyingController from erpnext.stock.doctype.delivery_note.delivery_note import make_inter_company_transaction -<<<<<<< HEAD -======= -from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import StockReservation from erpnext.stock.serial_batch_bundle import ( SerialBatchCreation, get_batches_from_bundle, get_serial_nos_from_bundle, ) ->>>>>>> d16c50486a (fix: Serial/Batches not fetching when creating Material Transfer from Purchase Receipt) form_grid_templates = {"items": "templates/form_grid/item_grid.html"}