Skip to content

Commit

Permalink
fix: Party account validation in JV
Browse files Browse the repository at this point in the history
(cherry picked from commit 417d6ab)

# Conflicts:
#	erpnext/accounts/doctype/journal_entry/journal_entry.py
  • Loading branch information
deepeshgarg007 authored and mergify[bot] committed May 25, 2022
1 parent 4727482 commit d10c2e5
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions erpnext/accounts/doctype/journal_entry/journal_entry.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,13 @@
)
from erpnext.controllers.accounts_controller import AccountsController
from erpnext.hr.doctype.expense_claim.expense_claim import update_reimbursed_amount
<<<<<<< HEAD
=======
from erpnext.accounts.doctype.invoice_discounting.invoice_discounting \
import get_party_account_based_on_invoice_discounting
from erpnext.accounts.deferred_revenue import get_deferred_booking_accounts
from erpnext.accounts.party import get_party_gle_currency
>>>>>>> 417d6abcf4 (fix: Party account validation in JV)


class StockAccountInvalidTransaction(frappe.ValidationError):
Expand All @@ -49,6 +56,7 @@ def validate(self):
self.clearance_date = None

self.validate_party()
self.validate_party_account_currency()
self.validate_entries_for_advance()
self.validate_multi_currency()
self.set_amounts_in_company_currency()
Expand Down Expand Up @@ -327,11 +335,25 @@ def validate_party(self):
account_type = frappe.db.get_value("Account", d.account, "account_type")
if account_type in ["Receivable", "Payable"]:
if not (d.party_type and d.party):
<<<<<<< HEAD
frappe.throw(
_("Row {0}: Party Type and Party is required for Receivable / Payable account {1}").format(
d.idx, d.account
)
)
=======
frappe.throw(_("Row {0}: Party Type and Party is required for Receivable / Payable account {1}").format(d.idx, d.account))

def validate_party_account_currency(self):
for d in self.get("accounts"):
if d.party_type in ('Customer', 'Supplier'):
party_gle_currency = get_party_gle_currency(d.party_type, d.party, self.company)
party_account_currency = get_account_currency(d.account)
party_currency = frappe.db.get_value(d.party_type, d.party, 'default_currency')

if not party_gle_currency and (party_account_currency != party_currency):
frappe.throw(_("Party Account {0} currency and default party currency should be same").format(frappe.bold(d.account)))
>>>>>>> 417d6abcf4 (fix: Party account validation in JV)

def check_credit_limit(self):
customers = list(
Expand Down

0 comments on commit d10c2e5

Please sign in to comment.