diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 88ad6b37db7..46913dc3af2 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -395,14 +395,18 @@ class SalesInvoice(SellingController): if pos.get('account_for_change_amount'): self.account_for_change_amount = pos.get('account_for_change_amount') - for fieldname in ('territory', 'naming_series', 'currency', 'taxes_and_charges', 'letter_head', 'tc_name', - 'company', 'select_print_heading', 'cash_bank_account', 'company_address', - 'write_off_account', 'write_off_cost_center', 'apply_discount_on', 'cost_center'): + for fieldname in ('territory', 'naming_series', 'currency', 'letter_head', 'tc_name', + 'company', 'select_print_heading', 'cash_bank_account', 'write_off_account', + 'write_off_cost_center', 'apply_discount_on', 'cost_center'): if (not for_validate) or (for_validate and not self.get(fieldname)): self.set(fieldname, pos.get(fieldname)) customer_price_list = frappe.get_value("Customer", self.customer, 'default_price_list') + for field in ['taxes_and_charges', 'company_address']: + if pos.get(field): + self.set(field, pos.get(fieldname)) + if not customer_price_list: self.set('selling_price_list', pos.get('selling_price_list')) diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index 0c5188a4fe6..09dc9a99327 100755 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -509,10 +509,12 @@ def make_material_request(source_name, target_doc=None): doc.material_request_type = "Purchase" def update_item(source, target, source_parent): + # qty is for packed items, because packed items don't have stock_qty field + qty = source.get("stock_qty") or source.get("qty") target.project = source_parent.project - target.qty = source.stock_qty - requested_item_qty.get(source.name, 0) + target.qty = qty - requested_item_qty.get(source.name, 0) target.conversion_factor = 1 - target.stock_qty = source.stock_qty - requested_item_qty.get(source.name, 0) + target.stock_qty = qty - requested_item_qty.get(source.name, 0) doc = get_mapped_doc("Sales Order", source_name, { "Sales Order": {