From 1008e6e45022217131503af9b826580bb0f5b18c Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Mon, 19 Aug 2019 20:21:36 +0530 Subject: [PATCH] fix: debit note not reconciled with another purchase invoice using payment reconciliation --- .../payment_reconciliation.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py index b74eed5841..4665d75510 100644 --- a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py +++ b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py @@ -93,7 +93,7 @@ class PaymentReconciliation(Document): and `tab{doc}`.is_return = 1 and `tabGL Entry`.against_voucher_type = %(voucher_type)s and `tab{doc}`.docstatus = 1 and `tabGL Entry`.party = %(party)s and `tabGL Entry`.party_type = %(party_type)s and `tabGL Entry`.account = %(account)s - GROUP BY `tabSales Invoice`.name + GROUP BY `tab{doc}`.name Having amount > 0 """.format(doc=voucher_type, dr_or_cr=dr_or_cr, reconciled_dr_or_cr=reconciled_dr_or_cr), { @@ -257,11 +257,8 @@ def reconcile_dr_cr_note(dr_cr_notes): voucher_type = ('Credit Note' if d.voucher_type == 'Sales Invoice' else 'Debit Note') - dr_or_cr = ('credit_in_account_currency' - if d.reference_type == 'Sales Invoice' else 'debit_in_account_currency') - reconcile_dr_or_cr = ('debit_in_account_currency' - if dr_or_cr == 'credit_in_account_currency' else 'credit_in_account_currency') + if d.dr_or_cr == 'credit_in_account_currency' else 'credit_in_account_currency') jv = frappe.get_doc({ "doctype": "Journal Entry", @@ -272,8 +269,7 @@ def reconcile_dr_cr_note(dr_cr_notes): 'account': d.account, 'party': d.party, 'party_type': d.party_type, - reconcile_dr_or_cr: (abs(d.allocated_amount) - if abs(d.unadjusted_amount) > abs(d.allocated_amount) else abs(d.unadjusted_amount)), + d.dr_or_cr: abs(d.allocated_amount), 'reference_type': d.against_voucher_type, 'reference_name': d.against_voucher }, @@ -281,7 +277,8 @@ def reconcile_dr_cr_note(dr_cr_notes): 'account': d.account, 'party': d.party, 'party_type': d.party_type, - dr_or_cr: abs(d.allocated_amount), + reconcile_dr_or_cr: (abs(d.allocated_amount) + if abs(d.unadjusted_amount) > abs(d.allocated_amount) else abs(d.unadjusted_amount)), 'reference_type': d.voucher_type, 'reference_name': d.voucher_no }