From 58a080a1b18bb7df3a61e05dc88c723303068cae Mon Sep 17 00:00:00 2001 From: Zlash65 Date: Sat, 6 Oct 2018 16:17:12 +0530 Subject: [PATCH 1/4] add voucher detail no while creating gl entry --- erpnext/accounts/deferred_revenue.py | 1 + 1 file changed, 1 insertion(+) diff --git a/erpnext/accounts/deferred_revenue.py b/erpnext/accounts/deferred_revenue.py index 5e5c6e594e..2ff2644d18 100644 --- a/erpnext/accounts/deferred_revenue.py +++ b/erpnext/accounts/deferred_revenue.py @@ -157,6 +157,7 @@ def book_deferred_income_or_expense(doc, start_date=None, end_date=None): "credit": base_amount, "credit_in_account_currency": amount, "cost_center": item.cost_center, + "voucher_detail_no": item.name, 'posting_date': booking_end_date, 'project': project }, account_currency) From e7e269d4a470a076a4fe786d6828fcfc89b94b3e Mon Sep 17 00:00:00 2001 From: Shreya Shah Date: Sat, 6 Oct 2018 17:56:21 +0530 Subject: [PATCH 2/4] [Error] Display appropriate msg if company is different for TDS (#15601) * fix(tds): Display appropriate msg if company is different * Update tax_withholding_category.py --- .../tax_withholding_category/tax_withholding_category.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py b/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py index 9a2c095516..f553cc09ec 100644 --- a/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py +++ b/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py @@ -19,6 +19,9 @@ def get_party_tax_withholding_details(ref_doc): fy = get_fiscal_year(ref_doc.posting_date, company=ref_doc.company) tax_details = get_tax_withholding_details(tax_withholding_category, fy[0], ref_doc.company) + if not tax_details: + frappe.throw(_('Please set associated account in Tax Withholding Category {0} against Company {1}') + .format(tax_withholding_category, ref_doc.company)) tds_amount = get_tds_amount(ref_doc, tax_details, fy) tax_row = get_tax_row(tax_details, tds_amount) return tax_row From 5615cb473539d58f6ace0e562a54e7b87ea65573 Mon Sep 17 00:00:00 2001 From: Shreya Shah Date: Sun, 7 Oct 2018 11:42:07 +0530 Subject: [PATCH 3/4] Set default only if customer_address not found (#15605) * Set default only if customer_address not found * Similar fix for Purchase Invoice and shipping_address --- erpnext/accounts/party.py | 17 ++++++++--------- erpnext/controllers/buying_controller.py | 3 ++- erpnext/controllers/selling_controller.py | 5 +++-- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py index 5f8d52faec..f6c7c5a280 100644 --- a/erpnext/accounts/party.py +++ b/erpnext/accounts/party.py @@ -22,17 +22,18 @@ class DuplicatePartyAccountError(frappe.ValidationError): pass @frappe.whitelist() def get_party_details(party=None, account=None, party_type="Customer", company=None, posting_date=None, - bill_date=None, price_list=None, currency=None, doctype=None, ignore_permissions=False, fetch_payment_terms_template=True): + bill_date=None, price_list=None, currency=None, doctype=None, ignore_permissions=False, fetch_payment_terms_template=True, party_address=None): if not party: return {} if not frappe.db.exists(party_type, party): frappe.throw(_("{0}: {1} does not exists").format(party_type, party)) return _get_party_details(party, account, party_type, - company, posting_date, bill_date, price_list, currency, doctype, ignore_permissions, fetch_payment_terms_template) + company, posting_date, bill_date, price_list, currency, doctype, ignore_permissions, fetch_payment_terms_template, party_address) def _get_party_details(party=None, account=None, party_type="Customer", company=None, posting_date=None, - bill_date=None, price_list=None, currency=None, doctype=None, ignore_permissions=False, fetch_payment_terms_template=True): + bill_date=None, price_list=None, currency=None, doctype=None, ignore_permissions=False, + fetch_payment_terms_template=True, party_address=None, shipping_address=None): out = frappe._dict(set_account_and_due_date(party, account, party_type, company, posting_date, bill_date, doctype)) party = out[party_type.lower()] @@ -45,7 +46,7 @@ def _get_party_details(party=None, account=None, party_type="Customer", company= out["taxes_and_charges"] = set_taxes(party.name, party_type, posting_date, company, out.customer_group, out.supplier_group) out["payment_terms_template"] = get_pyt_term_template(party.name, party_type, company) - set_address_details(out, party, party_type, doctype, company) + set_address_details(out, party, party_type, doctype, company, party_address, shipping_address) set_contact_details(out, party, party_type) set_other_values(out, party, party_type) set_price_list(out, party, party_type, price_list) @@ -71,19 +72,17 @@ def _get_party_details(party=None, account=None, party_type="Customer", company= return out -def set_address_details(out, party, party_type, doctype=None, company=None): +def set_address_details(out, party, party_type, doctype=None, company=None, party_address=None, shipping_address=None): billing_address_field = "customer_address" if party_type == "Lead" \ else party_type.lower() + "_address" - out[billing_address_field] = get_default_address(party_type, party.name) + out[billing_address_field] = party_address or get_default_address(party_type, party.name) if doctype: out.update(get_fetch_values(doctype, billing_address_field, out[billing_address_field])) - # address display out.address_display = get_address_display(out[billing_address_field]) - # shipping address if party_type in ["Customer", "Lead"]: - out.shipping_address_name = get_party_shipping_address(party_type, party.name) + out.shipping_address_name = shipping_address or get_party_shipping_address(party_type, party.name) out.shipping_address = get_address_display(out["shipping_address_name"]) if doctype: out.update(get_fetch_values(doctype, 'shipping_address_name', out.shipping_address_name)) diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py index 86fecdce45..76d2d50316 100644 --- a/erpnext/controllers/buying_controller.py +++ b/erpnext/controllers/buying_controller.py @@ -68,7 +68,8 @@ class BuyingController(StockController): # set contact and address details for supplier, if they are not mentioned if getattr(self, "supplier", None): - self.update_if_missing(get_party_details(self.supplier, party_type="Supplier", ignore_permissions=self.flags.ignore_permissions, doctype=self.doctype, company=self.company)) + self.update_if_missing(get_party_details(self.supplier, party_type="Supplier", ignore_permissions=self.flags.ignore_permissions, + doctype=self.doctype, company=self.company, party_address=self.supplier_address)) self.set_missing_item_details(for_validate) diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py index 419afe1c72..c01c9aeb55 100644 --- a/erpnext/controllers/selling_controller.py +++ b/erpnext/controllers/selling_controller.py @@ -44,6 +44,7 @@ class SellingController(StockController): set_default_income_account_for_item(self) def set_missing_values(self, for_validate=False): + super(SellingController, self).set_missing_values(for_validate) # set contact and address details for customer, if they are not mentioned @@ -61,10 +62,10 @@ class SellingController(StockController): party_details = _get_party_details(self.customer, ignore_permissions=self.flags.ignore_permissions, doctype=self.doctype, company=self.company, - fetch_payment_terms_template=fetch_payment_terms_template) + fetch_payment_terms_template=fetch_payment_terms_template, + party_address=self.customer_address, shipping_address=self.shipping_address) if not self.meta.get_field("sales_team"): party_details.pop("sales_team") - self.update_if_missing(party_details) elif getattr(self, "lead", None): From cd9be8f0a6c59507c852b88fefde6e511593c3f8 Mon Sep 17 00:00:00 2001 From: Ameya Shenoy Date: Sun, 7 Oct 2018 06:23:22 +0000 Subject: [PATCH 4/4] bumped to version 11.0.3-beta.6 --- erpnext/hooks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/hooks.py b/erpnext/hooks.py index e664cd2cf0..1fb95ea3ec 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -12,7 +12,7 @@ app_license = "GNU General Public License (v3)" source_link = "https://github.com/frappe/erpnext" develop_version = '11.x.x-develop' -staging_version = '11.0.3-beta.5' +staging_version = '11.0.3-beta.6' error_report_email = "support@erpnext.com"