diff --git a/erpnext/accounts/doctype/bank_transaction/bank_transaction_upload.py b/erpnext/accounts/doctype/bank_transaction/bank_transaction_upload.py index 8dd8d286729..ccee269bced 100644 --- a/erpnext/accounts/doctype/bank_transaction/bank_transaction_upload.py +++ b/erpnext/accounts/doctype/bank_transaction/bank_transaction_upload.py @@ -45,15 +45,19 @@ def create_bank_entries(columns, data, bank_account): fields.update({key: d[int(value)-1]}) - bank_transaction = frappe.get_doc({ - "doctype": "Bank Transaction" - }) - bank_transaction.update(fields) - bank_transaction.date = getdate(parse_date(bank_transaction.date)) - bank_transaction.bank_account = bank_account - bank_transaction.insert() - bank_transaction.submit() - count = count + 1 + try: + bank_transaction = frappe.get_doc({ + "doctype": "Bank Transaction" + }) + bank_transaction.update(fields) + bank_transaction.date = getdate(parse_date(bank_transaction.date)) + bank_transaction.bank_account = bank_account + bank_transaction.insert() + bank_transaction.submit() + count = count + 1 + except Exception as e: + frappe.throw(e) + frappe.log_error(frappe.get_traceback()) return count diff --git a/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.py b/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.py index 1f96bade762..e2d6b58766b 100644 --- a/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.py +++ b/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.py @@ -33,10 +33,12 @@ def reconcile(bank_transaction, payment_doctype, payment_name): return 'reconciled' def add_payment_to_transaction(transaction, payment_entry, gl_entry): + gl_amount, transaction_amount = (gl_entry.credit, transaction.debit) if gl_entry.credit > 0 else (gl_entry.debit, transaction.credit) + allocated_amount = gl_amount if gl_amount <= transaction_amount else transaction_amount transaction.append("payment_entries", { "payment_document": payment_entry.doctype, "payment_entry": payment_entry.name, - "allocated_amount": gl_entry.credit if gl_entry.credit > 0 else gl_entry.debit + "allocated_amount": allocated_amount }) transaction.save() @@ -274,7 +276,7 @@ def check_amount_vs_description(amount_matching, description_matching): result.append(am_match) continue - if hasattr(am_match, "reference_no") and hasattr(des_match, "reference_no"): + if "reference_no" in am_match and "reference_no" in des_match: if difflib.SequenceMatcher(lambda x: x == " ", am_match["reference_no"], des_match["reference_no"]).ratio() > 70: if am_match not in result: result.append(am_match) diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py index a3bda0161d0..184bf17aea8 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -407,7 +407,6 @@ def get_returned_qty_map(delivery_note): @frappe.whitelist() def make_sales_invoice(source_name, target_doc=None): doc = frappe.get_doc('Delivery Note', source_name) - sales_orders = [d.against_sales_order for d in doc.items] returned_qty_map = get_returned_qty_map(source_name) invoiced_qty_map = get_invoiced_qty_map(source_name) @@ -447,7 +446,7 @@ def make_sales_invoice(source_name, target_doc=None): returned_qty = 0 return pending_qty, returned_qty - doc = get_mapped_doc("Delivery Note", source_name, { + doc = get_mapped_doc("Delivery Note", source_name, { "Delivery Note": { "doctype": "Sales Invoice", "validation": { @@ -465,7 +464,7 @@ def make_sales_invoice(source_name, target_doc=None): "cost_center": "cost_center" }, "postprocess": update_item, - "filter": lambda d: get_pending_qty(d)[0]<=0 + "filter": lambda d: get_pending_qty(d)[0] <= 0 if not doc.get("is_return") else get_pending_qty(d)[0] > 0 }, "Sales Taxes and Charges": { "doctype": "Sales Taxes and Charges", diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py index eb821023568..94134f1df23 100644 --- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py @@ -458,7 +458,7 @@ def make_purchase_invoice(source_name, target_doc=None): "asset": "asset", }, "postprocess": update_item, - "filter": lambda d: get_pending_qty(d)[0]<=0 + "filter": lambda d: get_pending_qty(d)[0] <= 0 if not doc.get("is_return") else get_pending_qty(d)[0] > 0 }, "Purchase Taxes and Charges": { "doctype": "Purchase Taxes and Charges",