diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 2de3feb9a35..3dcbcbfc2ab 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -2411,6 +2411,9 @@ def make_inter_company_transaction(doctype, source_name, target_doc=None): target.purchase_order = source.purchase_order target.po_detail = source.purchase_order_item + if (source.get("serial_no") or source.get("batch_no")) and not source.get("serial_and_batch_bundle"): + target.use_serial_batch_fields = 1 + item_field_map = { "doctype": target_doctype + " Item", "field_no_map": ["income_account", "expense_account", "cost_center", "warehouse"], diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py index e4f0e8c684c..035dfc6e264 100644 --- a/erpnext/controllers/stock_controller.py +++ b/erpnext/controllers/stock_controller.py @@ -253,6 +253,14 @@ class StockController(AccountsController): "do_not_submit": True if not via_landed_cost_voucher else False, } + if self.is_internal_transfer() and row.get("from_warehouse") and not self.is_return: + self.update_bundle_details(bundle_details, table_name, row) + bundle_details["type_of_transaction"] = "Outward" + bundle_details["warehouse"] = row.get("from_warehouse") + bundle_details["qty"] = row.get("stock_qty") or row.get("qty") + self.create_serial_batch_bundle(bundle_details, row) + continue + if row.get("qty") or row.get("consumed_qty") or row.get("stock_qty"): self.update_bundle_details(bundle_details, table_name, row, parent_details=parent_details) self.create_serial_batch_bundle(bundle_details, row) diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py index d2a15c2bd66..792bbf902fc 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -1310,6 +1310,9 @@ def make_inter_company_transaction(doctype, source_name, target_doc=None): if source.get("use_serial_batch_fields"): target.set("use_serial_batch_fields", 1) + if (source.get("serial_no") or source.get("batch_no")) and not source.get("serial_and_batch_bundle"): + target.set("use_serial_batch_fields", 1) + doclist = get_mapped_doc( doctype, source_name,