mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-24 23:49:19 +00:00
Check credit or debit in_account_currency is set before setting (#11253)
* Check credit or debit in_account_currency is set before setting * Add paying party option to confirm custom doctype can pay
This commit is contained in:
committed by
Nabin Hait
parent
f55a33890f
commit
85a9e2ed28
@@ -30,8 +30,7 @@ class PaymentReconciliation(Document):
|
|||||||
return payment_entries
|
return payment_entries
|
||||||
|
|
||||||
def get_jv_entries(self):
|
def get_jv_entries(self):
|
||||||
dr_or_cr = "credit_in_account_currency" if self.party_type == "Customer" \
|
dr_or_cr = self.get_dr_or_cr()
|
||||||
else "debit_in_account_currency"
|
|
||||||
|
|
||||||
bank_account_condition = "t2.against_account like %(bank_cash_account)s" \
|
bank_account_condition = "t2.against_account like %(bank_cash_account)s" \
|
||||||
if self.bank_cash_account else "1=1"
|
if self.bank_cash_account else "1=1"
|
||||||
@@ -73,13 +72,13 @@ class PaymentReconciliation(Document):
|
|||||||
row = self.append('payments', {})
|
row = self.append('payments', {})
|
||||||
row.update(e)
|
row.update(e)
|
||||||
|
|
||||||
def get_invoice_entries(self):
|
def get_invoice_entries(self, paying_party=False):
|
||||||
#Fetch JVs, Sales and Purchase Invoices for 'invoices' to reconcile against
|
#Fetch JVs, Sales and Purchase Invoices for 'invoices' to reconcile against
|
||||||
|
|
||||||
condition = self.check_condition()
|
condition = self.check_condition()
|
||||||
|
|
||||||
non_reconciled_invoices = get_outstanding_invoices(self.party_type, self.party,
|
non_reconciled_invoices = get_outstanding_invoices(self.party_type, self.party,
|
||||||
self.receivable_payable_account, condition=condition)
|
self.receivable_payable_account, condition=condition, paying_party=paying_party)
|
||||||
|
|
||||||
self.add_invoice_entries(non_reconciled_invoices)
|
self.add_invoice_entries(non_reconciled_invoices)
|
||||||
|
|
||||||
@@ -103,8 +102,7 @@ class PaymentReconciliation(Document):
|
|||||||
|
|
||||||
self.get_invoice_entries()
|
self.get_invoice_entries()
|
||||||
self.validate_invoice()
|
self.validate_invoice()
|
||||||
dr_or_cr = "credit_in_account_currency" \
|
dr_or_cr = self.get_dr_or_cr()
|
||||||
if self.party_type == "Customer" else "debit_in_account_currency"
|
|
||||||
|
|
||||||
lst = []
|
lst = []
|
||||||
for e in self.get('payments'):
|
for e in self.get('payments'):
|
||||||
@@ -184,3 +182,12 @@ class PaymentReconciliation(Document):
|
|||||||
cond += " and `{0}` <= {1}".format(dr_or_cr, flt(self.maximum_amount))
|
cond += " and `{0}` <= {1}".format(dr_or_cr, flt(self.maximum_amount))
|
||||||
|
|
||||||
return cond
|
return cond
|
||||||
|
|
||||||
|
def get_dr_or_cr(self):
|
||||||
|
'''Return credit_in_account_currency if not set and party is customer.'''
|
||||||
|
if hasattr(self, "dr_or_cr"):
|
||||||
|
return self.dr_or_cr
|
||||||
|
if self.party_type == 'Customer':
|
||||||
|
return "credit_in_account_currency"
|
||||||
|
else:
|
||||||
|
return "debit_in_account_currency"
|
||||||
|
|||||||
@@ -569,11 +569,11 @@ def get_stock_rbnb_difference(posting_date, company):
|
|||||||
# Amount should be credited
|
# Amount should be credited
|
||||||
return flt(stock_rbnb) + flt(sys_bal)
|
return flt(stock_rbnb) + flt(sys_bal)
|
||||||
|
|
||||||
def get_outstanding_invoices(party_type, party, account, condition=None):
|
def get_outstanding_invoices(party_type, party, account, condition=None, paying_party=False):
|
||||||
outstanding_invoices = []
|
outstanding_invoices = []
|
||||||
precision = frappe.get_precision("Sales Invoice", "outstanding_amount")
|
precision = frappe.get_precision("Sales Invoice", "outstanding_amount")
|
||||||
|
|
||||||
if party_type=="Customer":
|
if party_type=="Customer" or paying_party:
|
||||||
dr_or_cr = "debit_in_account_currency - credit_in_account_currency"
|
dr_or_cr = "debit_in_account_currency - credit_in_account_currency"
|
||||||
payment_dr_or_cr = "payment_gl_entry.credit_in_account_currency - payment_gl_entry.debit_in_account_currency"
|
payment_dr_or_cr = "payment_gl_entry.credit_in_account_currency - payment_gl_entry.debit_in_account_currency"
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user