Skip to content

Commit

Permalink
Merge pull request #41981 from ruthra-kumar/repost_should_update_agai…
Browse files Browse the repository at this point in the history
…nst_account

fix: incorrect against_account upon reposting
  • Loading branch information
ruthra-kumar committed Jun 21, 2024
2 parents 21adc7b + 20c4098 commit 4f92ab0
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -594,14 +594,18 @@ def validate_expense_account(self):
for item in self.get("items"):
validate_account_head(item.idx, item.expense_account, self.company, "Expense")

def set_against_expense_account(self):
def set_against_expense_account(self, force=False):
against_accounts = []
for item in self.get("items"):
if item.expense_account and (item.expense_account not in against_accounts):
against_accounts.append(item.expense_account)

self.against_expense_account = ",".join(against_accounts)

def force_set_against_expense_account(self):
self.set_against_expense_account()
frappe.db.set_value(self.doctype, self.name, "against_expense_account", self.against_expense_account)

def po_required(self):
if frappe.db.get_single_value("Buying Settings", "po_required") == "Yes":
if frappe.get_value(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,10 @@ def start_repost(account_repost_doc=str) -> None:
doc.make_gl_entries_on_cancel()

doc.docstatus = 1
if doc.doctype == "Sales Invoice":
doc.force_set_against_income_account()
else:
doc.force_set_against_expense_account()
doc.make_gl_entries()

elif doc.doctype in ["Payment Entry", "Journal Entry", "Expense Claim"]:
Expand Down
4 changes: 4 additions & 0 deletions erpnext/accounts/doctype/sales_invoice/sales_invoice.py
Original file line number Diff line number Diff line change
Expand Up @@ -959,6 +959,10 @@ def set_against_income_account(self):
against_acc.append(d.income_account)
self.against_income_account = ",".join(against_acc)

def force_set_against_income_account(self):
self.set_against_income_account()
frappe.db.set_value(self.doctype, self.name, "against_income_account", self.against_income_account)

def add_remarks(self):
if not self.remarks:
if self.po_no and self.po_date:
Expand Down

0 comments on commit 4f92ab0

Please sign in to comment.