Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion edu_tz/edu_tz/api/payment.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import frappe
from frappe import _
from frappe.utils import getdate
from erpnext.accounts.utils import update_voucher_outstanding


def on_submit(doc, method):
Expand All @@ -15,6 +16,8 @@ def create_sales_invoice(doc):
and doc.references[0].reference_doctype == "Fees"
):
fees_doc = frappe.get_doc("Fees", doc.references[0].reference_name)
if not fees_doc.components:
frappe.throw(_("Fees document {0} has no fee components").format(fees_doc.name))
item_name = fees_doc.components[0].fees_category
income_account = fees_doc.sales_invoice_income_account
customer = frappe.get_value("Student", doc.party, "customer")
Expand Down Expand Up @@ -51,7 +54,16 @@ def create_sales_invoice(doc):
frappe.flags.ignore_account_permission = True
sales_invoice.set_missing_values()
sales_invoice.save(ignore_permissions=True)

update_voucher_outstanding(
"Fees",
fees_doc.name,
fees_doc.receivable_account,
"Student",
fees_doc.student,
)

frappe.msgprint(
_("Draft Sales Invoice created {0}").format(sales_invoice.name), alert=True
)
return sales_invoice.name
return sales_invoice.name
8 changes: 6 additions & 2 deletions edu_tz/edu_tz/api/sales_invoice.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ def create_journal_entry(doc):
return
amount = doc.base_net_total
debit_account = frappe.get_value("Fees", doc.fees, "sales_invoice_income_account")
if not debit_account:
frappe.throw(
_("Please set Sales Invoice Income Account on Fees document {0}").format(doc.fees)
)
party_account = get_party_account("Customer", doc.customer, doc.company)

jl_rows = []
Expand All @@ -27,7 +31,7 @@ def create_journal_entry(doc):
jl_rows.append(debit_row)

credit_row = dict(
party_type="customer",
party_type="Customer",
party=doc.customer,
account=party_account,
credit_in_account_currency=flt(amount, doc.precision("base_net_total")),
Expand Down Expand Up @@ -60,4 +64,4 @@ def create_journal_entry(doc):
jv_url, jv_doc.name
)
frappe.msgprint(si_msgprint)
return jv_doc.name
return jv_doc.name
Loading