From 76376d7ad7097962a368a63cced491b7cebf6bfe Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Wed, 9 Mar 2022 15:41:58 +0530 Subject: [PATCH 01/14] chore: bump version --- erpnext/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/__init__.py b/erpnext/__init__.py index 59ac78cd09a..90a9a21edd3 100644 --- a/erpnext/__init__.py +++ b/erpnext/__init__.py @@ -5,7 +5,7 @@ import frappe from erpnext.hooks import regional_overrides -__version__ = '13.22.0' +__version__ = '13.22.1' def get_default_company(user=None): '''Get default company for user''' From 5ab6e3fc85d8e5103a7cd5f9b77b1455f4942930 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Mon, 21 Mar 2022 10:31:24 +0530 Subject: [PATCH 02/14] chore: bump version --- erpnext/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/__init__.py b/erpnext/__init__.py index 90a9a21edd3..76762540148 100644 --- a/erpnext/__init__.py +++ b/erpnext/__init__.py @@ -5,7 +5,7 @@ import frappe from erpnext.hooks import regional_overrides -__version__ = '13.22.1' +__version__ = '13.23.0' def get_default_company(user=None): '''Get default company for user''' From c44231a4321e4cb8dbd2ed2fcb7c9367f2a1eeda Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Tue, 22 Mar 2022 23:03:41 +0530 Subject: [PATCH 03/14] fix: Changing item prices on converting orders/receipts to invoices (cherry picked from commit 66ca085e3933ce7355e088071219787a0707037c) (cherry picked from commit a9533ef8145895e189cc14a07cc305f72cc60465) --- erpnext/buying/doctype/purchase_order/purchase_order.py | 3 +++ erpnext/public/js/controllers/transaction.js | 3 ++- erpnext/selling/doctype/sales_order/sales_order.py | 4 ++++ erpnext/stock/doctype/delivery_note/delivery_note.py | 2 ++ erpnext/stock/doctype/purchase_receipt/purchase_receipt.py | 1 + 5 files changed, 12 insertions(+), 1 deletion(-) diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py index 2c6654285ff..f93f9feb88d 100644 --- a/erpnext/buying/doctype/purchase_order/purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/purchase_order.py @@ -442,6 +442,8 @@ def make_purchase_receipt(source_name, target_doc=None): } }, target_doc, set_missing_values) + doc.set_onload('ignore_price_list', True) + return doc @frappe.whitelist() @@ -509,6 +511,7 @@ def get_mapped_purchase_invoice(source_name, target_doc=None, ignore_permissions doc = get_mapped_doc("Purchase Order", source_name, fields, target_doc, postprocess, ignore_permissions=ignore_permissions) + doc.set_onload('ignore_price_list', True) return doc diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index a89776250f2..36030335599 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -1049,7 +1049,7 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({ } if(flt(this.frm.doc.conversion_rate)>0.0) { - if(this.frm.doc.ignore_pricing_rule) { + if(this.frm.doc.__onload.ignore_price_list) { this.calculate_taxes_and_totals(); } else if (!this.in_apply_price_list){ this.apply_price_list(); @@ -1863,6 +1863,7 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({ callback: function(r) { if(!r.exc) { item.item_tax_rate = r.message; + me.add_taxes_from_item_tax_template(item.item_tax_rate); me.calculate_taxes_and_totals(); } } diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index 6f329e037fa..7809a9330ed 100755 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -630,6 +630,8 @@ def make_delivery_note(source_name, target_doc=None, skip_item_mapping=False): target_doc = get_mapped_doc("Sales Order", source_name, mapper, target_doc, set_missing_values) + target_doc.set_onload('ignore_price_list', True) + return target_doc @frappe.whitelist() @@ -710,6 +712,8 @@ def make_sales_invoice(source_name, target_doc=None, ignore_permissions=False): if automatically_fetch_payment_terms: doclist.set_payment_schedule() + doclist.set_onload('ignore_price_list', True) + return doclist @frappe.whitelist() diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py index 93d2357cfa9..7b1489c40d2 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -519,6 +519,8 @@ def make_sales_invoice(source_name, target_doc=None): if automatically_fetch_payment_terms: doc.set_payment_schedule() + doc.set_onload('ignore_price_list', True) + return doc @frappe.whitelist() diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py index 32ffba392a9..2a6b4ea34b4 100644 --- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py @@ -785,6 +785,7 @@ def make_purchase_invoice(source_name, target_doc=None): } }, target_doc, set_missing_values) + doclist.set_onload('ignore_price_list', True) return doclist def get_invoiced_qty_map(purchase_receipt): From 740a9da1ee17f13f10fe4bba34b1dbe4d3681db6 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Wed, 23 Mar 2022 09:04:03 +0530 Subject: [PATCH 04/14] fix: Add ignore pricelist for missing flows (cherry picked from commit 405dcb1d3c14873c87c15b08ab67e52094003c49) (cherry picked from commit 7d3cdf527b812d4339d1f446faa42c118fff79f9) --- erpnext/accounts/doctype/sales_invoice/sales_invoice.py | 1 + .../buying/doctype/supplier_quotation/supplier_quotation.py | 1 + erpnext/selling/doctype/quotation/quotation.py | 3 +++ 3 files changed, 5 insertions(+) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 0186b3b9366..da746e26d02 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -1761,6 +1761,7 @@ def make_delivery_note(source_name, target_doc=None): } }, target_doc, set_missing_values) + doclist.set_onload('ignore_price_list', True) return doclist @frappe.whitelist() diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py index 34a4f26a087..9b9c5d51680 100644 --- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py +++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.py @@ -139,6 +139,7 @@ def make_purchase_order(source_name, target_doc=None): }, }, target_doc, set_missing_values) + doclist.set_onload('ignore_price_list', True) return doclist @frappe.whitelist() diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py index ed8d93e7962..bf87ba46fc8 100644 --- a/erpnext/selling/doctype/quotation/quotation.py +++ b/erpnext/selling/doctype/quotation/quotation.py @@ -192,6 +192,7 @@ def _make_sales_order(source_name, target_doc=None, ignore_permissions=False): }, target_doc, set_missing_values, ignore_permissions=ignore_permissions) # postprocess: fetch shipping address, set missing values + doclist.set_onload('ignore_price_list', True) return doclist @@ -255,6 +256,8 @@ def _make_sales_invoice(source_name, target_doc=None, ignore_permissions=False): } }, target_doc, set_missing_values, ignore_permissions=ignore_permissions) + doclist.set_onload('ignore_price_list', True) + return doclist def _make_customer(source_name, ignore_permissions=False): From 14ac2d39abcf13ef8f2b349ddec8efbc551c4728 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Wed, 23 Mar 2022 13:55:05 +0530 Subject: [PATCH 05/14] fix: Check if onload property exists in the form object (cherry picked from commit 41b2d98c3fe3a972b390af579c7979882c4e86fe) --- erpnext/public/js/controllers/transaction.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index 36030335599..79fec1c6584 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -1049,7 +1049,7 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({ } if(flt(this.frm.doc.conversion_rate)>0.0) { - if(this.frm.doc.__onload.ignore_price_list) { + if(this.frm.doc.__onload && this.frm.doc.__onload.ignore_price_list) { this.calculate_taxes_and_totals(); } else if (!this.in_apply_price_list){ this.apply_price_list(); From 8ff47999ab1a2e48d7e2ead438388564d05cc42e Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Fri, 25 Mar 2022 10:46:09 +0530 Subject: [PATCH 06/14] fix: Rate change issue on save and mapping from other doc (cherry picked from commit 13fcda57767c456dfca4c064c41ca4f80a1898b2) --- .../controllers/sales_and_purchase_return.py | 2 ++ erpnext/public/js/controllers/transaction.js | 33 +++---------------- 2 files changed, 6 insertions(+), 29 deletions(-) diff --git a/erpnext/controllers/sales_and_purchase_return.py b/erpnext/controllers/sales_and_purchase_return.py index 7d4ef587526..5b72d14dda5 100644 --- a/erpnext/controllers/sales_and_purchase_return.py +++ b/erpnext/controllers/sales_and_purchase_return.py @@ -399,6 +399,8 @@ def make_return_doc(doctype, source_name, target_doc=None): } }, target_doc, set_missing_values) + doclist.set_onload('ignore_price_list', True) + return doclist def get_rate_for_return(voucher_type, voucher_no, item_code, return_against=None, diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index 79fec1c6584..2f4308d3bad 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -14,31 +14,6 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({ frappe.model.round_floats_in(item, ["rate", "price_list_rate"]); - if(item.price_list_rate) { - if(item.rate > item.price_list_rate && has_margin_field) { - // if rate is greater than price_list_rate, set margin - // or set discount - item.discount_percentage = 0; - item.margin_type = 'Amount'; - item.margin_rate_or_amount = flt(item.rate - item.price_list_rate, - precision("margin_rate_or_amount", item)); - item.rate_with_margin = item.rate; - } else { - item.discount_percentage = flt((1 - item.rate / item.price_list_rate) * 100.0, - precision("discount_percentage", item)); - item.discount_amount = flt(item.price_list_rate) - flt(item.rate); - item.margin_type = ''; - item.margin_rate_or_amount = 0; - item.rate_with_margin = 0; - } - } else { - item.discount_percentage = 0.0; - item.margin_type = ''; - item.margin_rate_or_amount = 0; - item.rate_with_margin = 0; - } - item.base_rate_with_margin = item.rate_with_margin * flt(frm.doc.conversion_rate); - cur_frm.cscript.set_gross_profit(item); cur_frm.cscript.calculate_taxes_and_totals(); cur_frm.cscript.calculate_stock_uom_rate(frm, cdt, cdn); @@ -1021,9 +996,9 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({ var me = this; this.set_dynamic_labels(); var company_currency = this.get_company_currency(); - // Added `ignore_pricing_rule` to determine if document is loading after mapping from another doc + // Added `ignore_price_list` to determine if document is loading after mapping from another doc if(this.frm.doc.currency && this.frm.doc.currency !== company_currency - && !this.frm.doc.ignore_pricing_rule) { + && !this.frm.doc.__onload.ignore_price_list) { this.get_exchange_rate(transaction_date, this.frm.doc.currency, company_currency, function(exchange_rate) { @@ -1123,8 +1098,8 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({ this.set_dynamic_labels(); var company_currency = this.get_company_currency(); - // Added `ignore_pricing_rule` to determine if document is loading after mapping from another doc - if(this.frm.doc.price_list_currency !== company_currency && !this.frm.doc.ignore_pricing_rule) { + // Added `ignore_price_list` to determine if document is loading after mapping from another doc + if(this.frm.doc.price_list_currency !== company_currency && !this.frm.doc.__onload.ignore_price_list) { this.get_exchange_rate(this.frm.doc.posting_date, this.frm.doc.price_list_currency, company_currency, function(exchange_rate) { me.frm.set_value("plc_conversion_rate", exchange_rate); From f40c5cb68190e129136b8c6bf844d3a79f7dfa5b Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Fri, 25 Mar 2022 12:17:51 +0530 Subject: [PATCH 07/14] fix: Add back calculation for discount (cherry picked from commit 067564bd260437290b7cb190fb1cdc02eb658d0a) --- erpnext/public/js/controllers/transaction.js | 25 ++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index 2f4308d3bad..90b8d54b4e6 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -14,6 +14,31 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({ frappe.model.round_floats_in(item, ["rate", "price_list_rate"]); + if(item.price_list_rate) { + if(item.rate > item.price_list_rate && has_margin_field) { + // if rate is greater than price_list_rate, set margin + // or set discount + item.discount_percentage = 0; + item.margin_type = 'Amount'; + item.margin_rate_or_amount = flt(item.rate - item.price_list_rate, + precision("margin_rate_or_amount", item)); + item.rate_with_margin = item.rate; + } else { + item.discount_percentage = flt((1 - item.rate / item.price_list_rate) * 100.0, + precision("discount_percentage", item)); + item.discount_amount = flt(item.price_list_rate) - flt(item.rate); + item.margin_type = ''; + item.margin_rate_or_amount = 0; + item.rate_with_margin = 0; + } + } else { + item.discount_percentage = 0.0; + item.margin_type = ''; + item.margin_rate_or_amount = 0; + item.rate_with_margin = 0; + } + item.base_rate_with_margin = item.rate_with_margin * flt(frm.doc.conversion_rate); + cur_frm.cscript.set_gross_profit(item); cur_frm.cscript.calculate_taxes_and_totals(); cur_frm.cscript.calculate_stock_uom_rate(frm, cdt, cdn); From 858fd6fce3ba9d125c2e56017c9b8c957dbd21ad Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Fri, 25 Mar 2022 12:28:55 +0530 Subject: [PATCH 08/14] fix: Revert rate calculation (cherry picked from commit 6937a498e71cffc56cad65141f561b4c8785d185) --- erpnext/controllers/taxes_and_totals.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/erpnext/controllers/taxes_and_totals.py b/erpnext/controllers/taxes_and_totals.py index 40833b9300f..35e03ac051d 100644 --- a/erpnext/controllers/taxes_and_totals.py +++ b/erpnext/controllers/taxes_and_totals.py @@ -114,18 +114,14 @@ class calculate_taxes_and_totals(object): for item in self.doc.get("items"): self.doc.round_floats_in(item) - if not item.rate: - item.rate = item.price_list_rate - if item.discount_percentage == 100: item.rate = 0.0 elif item.price_list_rate: - if item.pricing_rules or abs(item.discount_percentage) > 0: + if not item.rate or (item.pricing_rules and item.discount_percentage > 0): item.rate = flt(item.price_list_rate * (1.0 - (item.discount_percentage / 100.0)), item.precision("rate")) - if abs(item.discount_percentage) > 0: - item.discount_amount = item.price_list_rate * (item.discount_percentage / 100.0) + item.discount_amount = item.price_list_rate * (item.discount_percentage / 100.0) elif item.discount_amount or item.pricing_rules: item.rate = item.price_list_rate - item.discount_amount From f892eb588aa9b0c19c7de82272331e65dba324dc Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Fri, 25 Mar 2022 12:39:59 +0530 Subject: [PATCH 09/14] fix: Condition (cherry picked from commit 2e0e6ca6b177043f673c05472ac3069f060d1563) --- erpnext/controllers/taxes_and_totals.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/controllers/taxes_and_totals.py b/erpnext/controllers/taxes_and_totals.py index 35e03ac051d..585577c99f8 100644 --- a/erpnext/controllers/taxes_and_totals.py +++ b/erpnext/controllers/taxes_and_totals.py @@ -123,7 +123,7 @@ class calculate_taxes_and_totals(object): item.discount_amount = item.price_list_rate * (item.discount_percentage / 100.0) - elif item.discount_amount or item.pricing_rules: + elif item.discount_amount and item.pricing_rules: item.rate = item.price_list_rate - item.discount_amount if item.doctype in ['Quotation Item', 'Sales Order Item', 'Delivery Note Item', 'Sales Invoice Item', From 04a25b0e196e0685dcf34904fbc9dbb4d388a8b6 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Fri, 25 Mar 2022 13:07:45 +0530 Subject: [PATCH 10/14] chore: version bump --- erpnext/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/__init__.py b/erpnext/__init__.py index 76762540148..a4a67c65c8f 100644 --- a/erpnext/__init__.py +++ b/erpnext/__init__.py @@ -5,7 +5,7 @@ import frappe from erpnext.hooks import regional_overrides -__version__ = '13.23.0' +__version__ = '13.23.2' def get_default_company(user=None): '''Get default company for user''' From 430c9c9df4921e20ca58e6bb386c6183166c339e Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Fri, 25 Mar 2022 21:49:19 +0530 Subject: [PATCH 11/14] fix: Check for onload property (cherry picked from commit 71402b43a776d4af98912223c8299c4fd8bfbbfe) --- erpnext/public/js/controllers/transaction.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index 90b8d54b4e6..b16ca29c21a 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -1023,7 +1023,7 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({ var company_currency = this.get_company_currency(); // Added `ignore_price_list` to determine if document is loading after mapping from another doc if(this.frm.doc.currency && this.frm.doc.currency !== company_currency - && !this.frm.doc.__onload.ignore_price_list) { + && !(this.frm.doc.__onload && this.frm.doc.__onload.ignore_price_list)) { this.get_exchange_rate(transaction_date, this.frm.doc.currency, company_currency, function(exchange_rate) { @@ -1124,7 +1124,8 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({ var company_currency = this.get_company_currency(); // Added `ignore_price_list` to determine if document is loading after mapping from another doc - if(this.frm.doc.price_list_currency !== company_currency && !this.frm.doc.__onload.ignore_price_list) { + if(this.frm.doc.price_list_currency !== company_currency && + !(this.frm.doc.__onload && this.frm.doc.__onload.ignore_price_list)) { this.get_exchange_rate(this.frm.doc.posting_date, this.frm.doc.price_list_currency, company_currency, function(exchange_rate) { me.frm.set_value("plc_conversion_rate", exchange_rate); From 5308bb05fcca56ee4d502ad5a2a39eb55c3da984 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Fri, 25 Mar 2022 21:57:48 +0530 Subject: [PATCH 12/14] chore: version bump --- erpnext/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/__init__.py b/erpnext/__init__.py index a4a67c65c8f..36fca477bd0 100644 --- a/erpnext/__init__.py +++ b/erpnext/__init__.py @@ -5,7 +5,7 @@ import frappe from erpnext.hooks import regional_overrides -__version__ = '13.23.2' +__version__ = '13.23.3' def get_default_company(user=None): '''Get default company for user''' From a7b2fa31a1b90c4f6f139a4a479cabe3f4101fb5 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Tue, 29 Mar 2022 13:38:39 +0530 Subject: [PATCH 13/14] chore: version bump an change log for v13.24.0 --- erpnext/__init__.py | 2 +- erpnext/change_log/v13/v13_24_0.md | 46 ++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 erpnext/change_log/v13/v13_24_0.md diff --git a/erpnext/__init__.py b/erpnext/__init__.py index 36fca477bd0..a36eba4583c 100644 --- a/erpnext/__init__.py +++ b/erpnext/__init__.py @@ -5,7 +5,7 @@ import frappe from erpnext.hooks import regional_overrides -__version__ = '13.23.3' +__version__ = '13.24.0' def get_default_company(user=None): '''Get default company for user''' diff --git a/erpnext/change_log/v13/v13_24_0.md b/erpnext/change_log/v13/v13_24_0.md new file mode 100644 index 00000000000..cdf905cfeac --- /dev/null +++ b/erpnext/change_log/v13/v13_24_0.md @@ -0,0 +1,46 @@ +## Version 13.24.0 Release Notes + +### Features & Enhancements + +- feat: update ordered qty for packed items ([#29939](https://github.com/frappe/erpnext/pull/29939)) +- feat: Payment Terms Status report ([#29137](https://github.com/frappe/erpnext/pull/29137)) + +### Fixes + +- fix: Fetch conversion factor even if it already existed in row, on item change ([#29917](https://github.com/frappe/erpnext/pull/29917)) +- fix(e-commerce): Unique Shopping Cart Per Logged In User ([#29994](https://github.com/frappe/erpnext/pull/29994)) +- fix: Email translations ([#29956](https://github.com/frappe/erpnext/pull/29956)) +- test: set correct DocType ([#29819](https://github.com/frappe/erpnext/pull/29819)) +- fix(LMS): program enrollment does not give any feedback ([#29922](https://github.com/frappe/erpnext/pull/29922)) +- fix: dont attempt to set batch number if item doesn't have batch no ([#29812](https://github.com/frappe/erpnext/pull/29812)) +- fix: allow renaming and merging ([#29830](https://github.com/frappe/erpnext/pull/29830)) +- fix: add supported currencies for GoCardless ([#29805](https://github.com/frappe/erpnext/pull/29805)) +- fix(asset): no. of depr booked cannot be equal to total no. of depr ([#29900](https://github.com/frappe/erpnext/pull/29900)) +- fix(e-invoicing): remove batch no from e-invoices ([#30084](https://github.com/frappe/erpnext/pull/30084)) +- fix: task status loop ([#26006](https://github.com/frappe/erpnext/pull/26006)) +- fix: Update SO via Work Order made from MR (attached to SO) ([#29803](https://github.com/frappe/erpnext/pull/29803)) +- fix(pos): removal of coupon code ([#29896](https://github.com/frappe/erpnext/pull/29896)) +- fix: Account filter in PSOA ([#29928](https://github.com/frappe/erpnext/pull/29928)) +- fix: Block merging items if both have product bundles ([#29913](https://github.com/frappe/erpnext/pull/29913)) +- fix(Salary Slip): TypeError while clearing any amount field in components ([#29931](https://github.com/frappe/erpnext/pull/29931)) +- fix: JobCard TimeLog to_date ([#29872](https://github.com/frappe/erpnext/pull/29872)) +- fix(ux): make "allow zero valuation rate" readonly if "s_warehouse" is set ([#29681](https://github.com/frappe/erpnext/pull/29681)) +- fix: Total taxes and charges in payment entry for multi-currency payments ([#29977](https://github.com/frappe/erpnext/pull/29977)) +- fix: org chart connectors not rendered when Employee Naming is set to Full Name ([#29997](https://github.com/frappe/erpnext/pull/29997)) +- fix: Fetch valuation rate for stock items consumed during asset repair ([#29714](https://github.com/frappe/erpnext/pull/29714)) +- test: fix flaky stateful tests ([#29749](https://github.com/frappe/erpnext/pull/29749)) +- perf: Weed out disabled variants via sql query instead of pythonic looping separately ([#29639](https://github.com/frappe/erpnext/pull/29639)) +- refactor: removed validation to check zero qty ([#30015](https://github.com/frappe/erpnext/pull/30015)) +- fix: GSTIN filter for GSTR-1 report ([#29869](https://github.com/frappe/erpnext/pull/29869)) +- fix: Stock Ageing Transfer Bucket logic for Repack Entry with split batch rows ([#29816](https://github.com/frappe/erpnext/pull/29816)) +- fix(Timesheet): fetch exchange rate only if currency is set ([#30057](https://github.com/frappe/erpnext/pull/30057)) +- fix: Taxjar minor fixes ([#29942](https://github.com/frappe/erpnext/pull/29942)) +- fix: Total Credit amount in TDS Payable monthly report ([#29907](https://github.com/frappe/erpnext/pull/29907)) +- fix: validate Work Order qty against Production Plan ([#29721](https://github.com/frappe/erpnext/pull/29721)) +- fix: Validate party account with company ([#29879](https://github.com/frappe/erpnext/pull/29879)) +- fix: coupon code is applied even if ignore_pricing_rule is enabled ([#29859](https://github.com/frappe/erpnext/pull/29859)) +- fix: currency in bank reconciliation tool ([#29848](https://github.com/frappe/erpnext/pull/29848)) +- fix: remove customer field value when MR is not customer provided ([#29938](https://github.com/frappe/erpnext/pull/29938)) +- fix(pos): minor fixes ([#29991](https://github.com/frappe/erpnext/pull/29991)) +- fix: Error in consolidated financial statements ([#29771](https://github.com/frappe/erpnext/pull/29771)) +- fix: Commission not applied while making Sales Order from Quotation ([#29978](https://github.com/frappe/erpnext/pull/29978)) From e1a0f067b0c63ac540bcbf68f46c73c66a8ee6a1 Mon Sep 17 00:00:00 2001 From: Deepesh Garg Date: Tue, 29 Mar 2022 14:18:37 +0530 Subject: [PATCH 14/14] chore: version bump an change log for v13.24.0 --- erpnext/change_log/v13/v13_24_0.md | 72 ++++++++++++++---------------- 1 file changed, 33 insertions(+), 39 deletions(-) diff --git a/erpnext/change_log/v13/v13_24_0.md b/erpnext/change_log/v13/v13_24_0.md index cdf905cfeac..d6920d67a5d 100644 --- a/erpnext/change_log/v13/v13_24_0.md +++ b/erpnext/change_log/v13/v13_24_0.md @@ -2,45 +2,39 @@ ### Features & Enhancements -- feat: update ordered qty for packed items ([#29939](https://github.com/frappe/erpnext/pull/29939)) -- feat: Payment Terms Status report ([#29137](https://github.com/frappe/erpnext/pull/29137)) +- feat: Create single PL/DN from several SO. ([#30238](https://github.com/frappe/erpnext/pull/30238)) ### Fixes -- fix: Fetch conversion factor even if it already existed in row, on item change ([#29917](https://github.com/frappe/erpnext/pull/29917)) -- fix(e-commerce): Unique Shopping Cart Per Logged In User ([#29994](https://github.com/frappe/erpnext/pull/29994)) -- fix: Email translations ([#29956](https://github.com/frappe/erpnext/pull/29956)) -- test: set correct DocType ([#29819](https://github.com/frappe/erpnext/pull/29819)) -- fix(LMS): program enrollment does not give any feedback ([#29922](https://github.com/frappe/erpnext/pull/29922)) -- fix: dont attempt to set batch number if item doesn't have batch no ([#29812](https://github.com/frappe/erpnext/pull/29812)) -- fix: allow renaming and merging ([#29830](https://github.com/frappe/erpnext/pull/29830)) -- fix: add supported currencies for GoCardless ([#29805](https://github.com/frappe/erpnext/pull/29805)) -- fix(asset): no. of depr booked cannot be equal to total no. of depr ([#29900](https://github.com/frappe/erpnext/pull/29900)) -- fix(e-invoicing): remove batch no from e-invoices ([#30084](https://github.com/frappe/erpnext/pull/30084)) -- fix: task status loop ([#26006](https://github.com/frappe/erpnext/pull/26006)) -- fix: Update SO via Work Order made from MR (attached to SO) ([#29803](https://github.com/frappe/erpnext/pull/29803)) -- fix(pos): removal of coupon code ([#29896](https://github.com/frappe/erpnext/pull/29896)) -- fix: Account filter in PSOA ([#29928](https://github.com/frappe/erpnext/pull/29928)) -- fix: Block merging items if both have product bundles ([#29913](https://github.com/frappe/erpnext/pull/29913)) -- fix(Salary Slip): TypeError while clearing any amount field in components ([#29931](https://github.com/frappe/erpnext/pull/29931)) -- fix: JobCard TimeLog to_date ([#29872](https://github.com/frappe/erpnext/pull/29872)) -- fix(ux): make "allow zero valuation rate" readonly if "s_warehouse" is set ([#29681](https://github.com/frappe/erpnext/pull/29681)) -- fix: Total taxes and charges in payment entry for multi-currency payments ([#29977](https://github.com/frappe/erpnext/pull/29977)) -- fix: org chart connectors not rendered when Employee Naming is set to Full Name ([#29997](https://github.com/frappe/erpnext/pull/29997)) -- fix: Fetch valuation rate for stock items consumed during asset repair ([#29714](https://github.com/frappe/erpnext/pull/29714)) -- test: fix flaky stateful tests ([#29749](https://github.com/frappe/erpnext/pull/29749)) -- perf: Weed out disabled variants via sql query instead of pythonic looping separately ([#29639](https://github.com/frappe/erpnext/pull/29639)) -- refactor: removed validation to check zero qty ([#30015](https://github.com/frappe/erpnext/pull/30015)) -- fix: GSTIN filter for GSTR-1 report ([#29869](https://github.com/frappe/erpnext/pull/29869)) -- fix: Stock Ageing Transfer Bucket logic for Repack Entry with split batch rows ([#29816](https://github.com/frappe/erpnext/pull/29816)) -- fix(Timesheet): fetch exchange rate only if currency is set ([#30057](https://github.com/frappe/erpnext/pull/30057)) -- fix: Taxjar minor fixes ([#29942](https://github.com/frappe/erpnext/pull/29942)) -- fix: Total Credit amount in TDS Payable monthly report ([#29907](https://github.com/frappe/erpnext/pull/29907)) -- fix: validate Work Order qty against Production Plan ([#29721](https://github.com/frappe/erpnext/pull/29721)) -- fix: Validate party account with company ([#29879](https://github.com/frappe/erpnext/pull/29879)) -- fix: coupon code is applied even if ignore_pricing_rule is enabled ([#29859](https://github.com/frappe/erpnext/pull/29859)) -- fix: currency in bank reconciliation tool ([#29848](https://github.com/frappe/erpnext/pull/29848)) -- fix: remove customer field value when MR is not customer provided ([#29938](https://github.com/frappe/erpnext/pull/29938)) -- fix(pos): minor fixes ([#29991](https://github.com/frappe/erpnext/pull/29991)) -- fix: Error in consolidated financial statements ([#29771](https://github.com/frappe/erpnext/pull/29771)) -- fix: Commission not applied while making Sales Order from Quotation ([#29978](https://github.com/frappe/erpnext/pull/29978)) +- fix: Changing item prices on converting orders/receipts to invoices ([#30365](https://github.com/frappe/erpnext/pull/30365)) +- fix(India): Auto tax fetching based on GSTIN ([#30385](https://github.com/frappe/erpnext/pull/30385)) +- fix: broken production item links on production plan ([#30399](https://github.com/frappe/erpnext/pull/30399)) +- fix(ux): warning for disabled carry forwarding in Policy Assignment ([#30331](https://github.com/frappe/erpnext/pull/30331)) +- fix: failing broken patches ([#30409](https://github.com/frappe/erpnext/pull/30409)) +- fix: Payment Request Amount calculation in case of multi-currency ([#30254](https://github.com/frappe/erpnext/pull/30254)) +- fix: disable deferred naming on SLE/GLE if hash method is used. ([#30286](https://github.com/frappe/erpnext/pull/30286)) +- fix: Rate change issue on save and mapping from other doc ([#30406](https://github.com/frappe/erpnext/pull/30406)) +- fix: Error in bank reconciliation statement ([#30261](https://github.com/frappe/erpnext/pull/30261)) +- fix: clear "Retain Sample" and "Max Sample Quantity" in Item card if Has Batch No is uncheck ([#30307](https://github.com/frappe/erpnext/pull/30307)) +- fix: (ux) Add `is_group=0` filter on website warehouse field in Website Item ([#30396](https://github.com/frappe/erpnext/pull/30396)) +- fix: Allow draft PE, PA to link to Vital Signs ([#29934](https://github.com/frappe/erpnext/pull/29934)) +- fix: Clean and fixes in Dimension-wise Accounts Balance Report ([#30284](https://github.com/frappe/erpnext/pull/30284)) +- fix: Write off amount wrongly calculated in POS Invoice ([#30395](https://github.com/frappe/erpnext/pull/30395)) +- fix: custom cash flow mapper doesn't show any data ([#30287](https://github.com/frappe/erpnext/pull/30287)) +- fix: unsupported operand type(s) for +=: 'int' and 'NoneType' ([#30420](https://github.com/frappe/erpnext/pull/30420)) +- fix: Check for onload property ([#30429](https://github.com/frappe/erpnext/pull/30429)) +- fix: Reset GST State number ([#30334](https://github.com/frappe/erpnext/pull/30334)) +- fix: Future recurring period calculation for additional salary ([#29581](https://github.com/frappe/erpnext/pull/29581)) +- fix: GST account not showing up in tax templates ([#30361](https://github.com/frappe/erpnext/pull/30361)) +- fix: P&L account validation on cancellation ([#30317](https://github.com/frappe/erpnext/pull/30317)) +- refactor: remove redundant if-statement ([#30311](https://github.com/frappe/erpnext/pull/30311)) +- fix: respect db multi_tenancy while fetching precision ([#30301](https://github.com/frappe/erpnext/pull/30301)) +- fix: show subassembly table always ([#30422](https://github.com/frappe/erpnext/pull/30422)) +- fix: Validate income/expense account in sales and purchase invoice ([#30266](https://github.com/frappe/erpnext/pull/30266)) +- fix: Add permission for KSA VAT documents ([#30304](https://github.com/frappe/erpnext/pull/30304)) +- fix(UX): misc serial no selector + warehouse.py refactor ([#30309](https://github.com/frappe/erpnext/pull/30309)) +- fix: While creating Payment Request from other forms, open a new Payment Request form without saving ([#30228](https://github.com/frappe/erpnext/pull/30228)) +- fix: Product Filters Lookup ([#30336](https://github.com/frappe/erpnext/pull/30336)) +- fix: Allow on Submit for Material Request Item Required Date ([#30174](https://github.com/frappe/erpnext/pull/30174)) +- fix: Taxes not getting fetched from item tax template ([#30343](https://github.com/frappe/erpnext/pull/30343)) +- fix: Incorrect default amount to pay for POS invoices ([#30438](https://github.com/frappe/erpnext/pull/30438))