Merge branch 'unclosed_finance' of https://github.com/RobertSchouten/erpnext into RobertSchouten-unclosed_finance1
diff --git a/erpnext/accounts/report/balance_sheet/balance_sheet.py b/erpnext/accounts/report/balance_sheet/balance_sheet.py
index d2626cd..5547b49 100644
--- a/erpnext/accounts/report/balance_sheet/balance_sheet.py
+++ b/erpnext/accounts/report/balance_sheet/balance_sheet.py
@@ -14,17 +14,31 @@
liability = get_data(filters.company, "Liability", "Credit", period_list, only_current_fiscal_year=False)
equity = get_data(filters.company, "Equity", "Credit", period_list, only_current_fiscal_year=False)
- provisional_profit_loss = get_provisional_profit_loss(asset, liability, equity,
+ provisional_profit_loss,total_credit = get_provisional_profit_loss(asset, liability, equity,
period_list, filters.company)
- message = check_opening_balance(asset, liability, equity)
+ message,opening_balance = check_opening_balance(asset, liability, equity)
data = []
data.extend(asset or [])
data.extend(liability or [])
data.extend(equity or [])
+ if opening_balance and round(opening_balance,2) !=0:
+ unclosed ={
+ "account_name": "'" + _("Unclosed Fiscal Years Profit / Loss (Credit)") + "'",
+ "account": None,
+ "warn_if_negative": True,
+ "currency": frappe.db.get_value("Company", filters.company, "default_currency")
+ }
+ for period in period_list:
+ unclosed[period.key] = opening_balance
+ provisional_profit_loss[period.key] = provisional_profit_loss[period.key] - opening_balance
+ unclosed["total"]=opening_balance
+ data.append(unclosed)
+
if provisional_profit_loss:
data.append(provisional_profit_loss)
+ data.append(total_credit)
columns = get_columns(filters.periodicity, period_list, company=filters.company)
@@ -34,14 +48,20 @@
def get_provisional_profit_loss(asset, liability, equity, period_list, company):
if asset and (liability or equity):
- total=0
+ total = total_row_total=0
+ currency = frappe.db.get_value("Company", company, "default_currency")
provisional_profit_loss = {
"account_name": "'" + _("Provisional Profit / Loss (Credit)") + "'",
"account": None,
"warn_if_negative": True,
- "currency": frappe.db.get_value("Company", company, "default_currency")
+ "currency": currency
}
-
+ total_row = {
+ "account_name": "'" + _("Total (Credit)") + "'",
+ "account": None,
+ "warn_if_negative": True,
+ "currency": currency
+ }
has_value = False
for period in period_list:
@@ -52,15 +72,20 @@
effective_liability += flt(equity[-2].get(period.key))
provisional_profit_loss[period.key] = flt(asset[-2].get(period.key)) - effective_liability
+ total_row[period.key] = effective_liability + provisional_profit_loss[period.key]
if provisional_profit_loss[period.key]:
has_value = True
total += flt(provisional_profit_loss[period.key])
provisional_profit_loss["total"] = total
+
+ total_row_total += flt(total_row[period.key])
+ total_row["total"] = total_row_total
if has_value:
- return provisional_profit_loss
+ return provisional_profit_loss, total_row
+ return None,total_row
def check_opening_balance(asset, liability, equity):
# Check if previous year balance sheet closed
@@ -73,7 +98,8 @@
opening_balance -= flt(equity[0].get("opening_balance", 0))
if opening_balance:
- return _("Previous Financial Year is not closed")
+ return _("Previous Financial Year is not closed"),opening_balance
+ return None,None
def get_chart_data(columns, asset, liability, equity):
x_intervals = ['x'] + [d.get("label") for d in columns[2:]]
diff --git a/erpnext/accounts/report/trial_balance/trial_balance.py b/erpnext/accounts/report/trial_balance/trial_balance.py
index 5401902..b4babcd 100644
--- a/erpnext/accounts/report/trial_balance/trial_balance.py
+++ b/erpnext/accounts/report/trial_balance/trial_balance.py
@@ -87,8 +87,7 @@
def get_rootwise_opening_balances(filters, report_type):
- additional_conditions = " and posting_date >= %(year_start_date)s" \
- if report_type == "Profit and Loss" else ""
+ additional_conditions = ""
if not flt(filters.with_period_closing_entry):
additional_conditions += " and ifnull(voucher_type, '')!='Period Closing Voucher'"