Beispiel #1
0
def get_balance_sheet_data(fiscal_year, companies, columns, filters):
    asset = get_data(companies, "Asset", "Debit", fiscal_year, filters=filters)

    liability = get_data(companies,
                         "Liability",
                         "Credit",
                         fiscal_year,
                         filters=filters)

    equity = get_data(companies,
                      "Equity",
                      "Credit",
                      fiscal_year,
                      filters=filters)

    data = []
    data.extend(asset or [])
    data.extend(liability or [])
    data.extend(equity or [])

    company_currency = get_company_currency(filters)
    provisional_profit_loss, total_credit = get_provisional_profit_loss(
        asset, liability, equity, companies, filters.get('company'),
        company_currency, True)

    message, opening_balance = check_opening_balance(asset, liability, equity)

    if opening_balance and round(opening_balance, 2) != 0:
        unclosed = {
            "account_name":
            "'" + _("Unclosed Fiscal Years Profit / Loss (Credit)") + "'",
            "account":
            "'" + _("Unclosed Fiscal Years Profit / Loss (Credit)") + "'",
            "warn_if_negative":
            True,
            "currency":
            company_currency
        }
        for company in companies:
            unclosed[company] = opening_balance
            if provisional_profit_loss:
                provisional_profit_loss[company] = provisional_profit_loss[
                    company] - opening_balance

        unclosed["total"] = opening_balance
        data.append(unclosed)

    if provisional_profit_loss:
        data.append(provisional_profit_loss)
    if total_credit:
        data.append(total_credit)

    report_summary = get_bs_summary(companies, asset, liability, equity,
                                    provisional_profit_loss, total_credit,
                                    company_currency, filters, True)

    chart = get_chart_data(filters, columns, asset, liability, equity)

    return data, message, chart, report_summary
def get_balance_sheet_data(fiscal_year, companies, columns, filters):
	asset = get_data(companies, "Asset", "Debit", fiscal_year, filters=filters)

	liability = get_data(companies, "Liability", "Credit", fiscal_year, filters=filters)

	equity = get_data(companies, "Equity", "Credit", fiscal_year, filters=filters)

	data = []
	data.extend(asset or [])
	data.extend(liability or [])
	data.extend(equity or [])

	company_currency = get_company_currency(filters)
	provisional_profit_loss, total_credit = get_provisional_profit_loss(asset, liability, equity,
		companies, filters.get('company'), company_currency, True)

	message, opening_balance = check_opening_balance(asset, liability, equity)

	if opening_balance and round(opening_balance,2) !=0:
		unclosed ={
			"account_name": "'" + _("Unclosed Fiscal Years Profit / Loss (Credit)") + "'",
			"account": "'" + _("Unclosed Fiscal Years Profit / Loss (Credit)") + "'",
			"warn_if_negative": True,
			"currency": company_currency
		}
		for company in companies:
			unclosed[company] = opening_balance
			if provisional_profit_loss:
				provisional_profit_loss[company] = provisional_profit_loss[company] - opening_balance

		unclosed["total"]=opening_balance
		data.append(unclosed)

	if provisional_profit_loss:
		data.append(provisional_profit_loss)
	if total_credit:
		data.append(total_credit)

	chart = get_chart_data(filters, columns, asset, liability, equity)

	return data, message, chart