21 desembre 2025
This commit is contained in:
@@ -26,7 +26,7 @@ def draw_line():
|
|||||||
print('─' * 30)
|
print('─' * 30)
|
||||||
|
|
||||||
|
|
||||||
def get_last_month_timestamps(date):
|
def get_month_to_date_timestamps(date):
|
||||||
month = int(date.split("-")[1])
|
month = int(date.split("-")[1])
|
||||||
year = int(date.split("-")[0])
|
year = int(date.split("-")[0])
|
||||||
d = datetime(year, month, 1)
|
d = datetime(year, month, 1)
|
||||||
@@ -35,6 +35,14 @@ def get_last_month_timestamps(date):
|
|||||||
return start_date, end_date.strftime("%Y-%m-%d")
|
return start_date, end_date.strftime("%Y-%m-%d")
|
||||||
|
|
||||||
|
|
||||||
|
def get_last_year_timestamps(date):
|
||||||
|
date_parts = date.split("-")
|
||||||
|
day = int(date_parts[2])
|
||||||
|
month = int(date_parts[1])
|
||||||
|
year = int(date_parts[0])
|
||||||
|
return f"{year-1}-{month:02d}-{day:02d}", date
|
||||||
|
|
||||||
|
|
||||||
def get_sum_balances(balances, account_prefix):
|
def get_sum_balances(balances, account_prefix):
|
||||||
sum = 0
|
sum = 0
|
||||||
for account, balance in balances.items():
|
for account, balance in balances.items():
|
||||||
@@ -64,7 +72,8 @@ def get_debt_to_assets_ratio(balances, max):
|
|||||||
|
|
||||||
def get_emergency_fund_ratio(balances, expenses, low, mid):
|
def get_emergency_fund_ratio(balances, expenses, low, mid):
|
||||||
liquid = 0
|
liquid = 0
|
||||||
living_expenses = expenses[0].position.get_only_position().units.number
|
living_expenses = expenses[0].position.get_only_position(
|
||||||
|
).units.number / 12
|
||||||
for account, balance in balances.items():
|
for account, balance in balances.items():
|
||||||
if account.startswith("Assets:Liquid"):
|
if account.startswith("Assets:Liquid"):
|
||||||
liquid = balance if liquid == 0 else liquid + balance
|
liquid = balance if liquid == 0 else liquid + balance
|
||||||
@@ -72,7 +81,7 @@ def get_emergency_fund_ratio(balances, expenses, low, mid):
|
|||||||
) == None else liquid.get_only_position().units
|
) == None else liquid.get_only_position().units
|
||||||
result = round(total_liquid.number / living_expenses, 2)
|
result = round(total_liquid.number / living_expenses, 2)
|
||||||
color = bcolors.FAIL if result < low else bcolors.OKGREEN if result > mid else bcolors.WARNING
|
color = bcolors.FAIL if result < low else bcolors.OKGREEN if result > mid else bcolors.WARNING
|
||||||
return f"{color}{result}{bcolors.ENDC}"
|
return f"{color}{result} mth{bcolors.ENDC}"
|
||||||
|
|
||||||
|
|
||||||
def get_investment_assets_to_net_worth_ratio(balances, min):
|
def get_investment_assets_to_net_worth_ratio(balances, min):
|
||||||
@@ -95,18 +104,19 @@ def get_liquid_assets_to_net_worth_ratio(balances, min):
|
|||||||
return f"{bcolors.FAIL if result < min else bcolors.OKGREEN}{result} %{bcolors.ENDC}"
|
return f"{bcolors.FAIL if result < min else bcolors.OKGREEN}{result} %{bcolors.ENDC}"
|
||||||
|
|
||||||
|
|
||||||
def get_savings_ratio(balances, gross_monthly_income, monthly_savings, min):
|
def get_savings_ratio(balances, net_yearly_income, yearly_savings, min):
|
||||||
result = round((monthly_savings.number / gross_monthly_income) * 100, 2)
|
result = round((yearly_savings.number /
|
||||||
|
net_yearly_income) * 100, 2)
|
||||||
return f"{bcolors.FAIL if result < min else bcolors.OKGREEN}{result} %{bcolors.ENDC}"
|
return f"{bcolors.FAIL if result < min else bcolors.OKGREEN}{result} %{bcolors.ENDC}"
|
||||||
|
|
||||||
|
|
||||||
def get_debt_service_ratio(balances, gross_monthly_income, debt_payments, max):
|
def get_debt_service_ratio(balances, net_yearly_income, debt_payments, max):
|
||||||
result = round((debt_payments.number / gross_monthly_income) * 100, 2)
|
result = round((debt_payments.number / net_yearly_income) * 100, 2)
|
||||||
return f"{bcolors.FAIL if result >= max else bcolors.OKGREEN}{result} %{bcolors.ENDC}"
|
return f"{bcolors.FAIL if result >= max else bcolors.OKGREEN}{result} %{bcolors.ENDC}"
|
||||||
|
|
||||||
|
|
||||||
def get_non_mortgage_debt_service_ratio(balances, gross_monthly_income, mortgage_payments, max):
|
def get_non_mortgage_debt_service_ratio(balances, net_yearly_income, mortgage_payments, max):
|
||||||
result = round((mortgage_payments.number / gross_monthly_income) * 100, 2)
|
result = round((mortgage_payments.number / net_yearly_income) * 100, 2)
|
||||||
return f"{bcolors.FAIL if result >= max else bcolors.OKGREEN}{result} %{bcolors.ENDC}"
|
return f"{bcolors.FAIL if result >= max else bcolors.OKGREEN}{result} %{bcolors.ENDC}"
|
||||||
|
|
||||||
|
|
||||||
@@ -117,11 +127,11 @@ def get_solvency_ratio(balances, min):
|
|||||||
return f"{bcolors.FAIL if result < min else bcolors.OKGREEN}{result} %{bcolors.ENDC}"
|
return f"{bcolors.FAIL if result < min else bcolors.OKGREEN}{result} %{bcolors.ENDC}"
|
||||||
|
|
||||||
|
|
||||||
def get_interest_coverage_ratio(gross_monthly_income, expenses, debt_payments, mortgage_payments, min):
|
def get_interest_coverage_ratio(net_monthly_income, expenses, debt_payments, mortgage_payments, min):
|
||||||
living_expenses = expenses[0].position.get_only_position().units.number
|
living_expenses = expenses[0].position.get_only_position().units.number
|
||||||
interest = debt_payments.number + mortgage_payments.number
|
interest = debt_payments.number + mortgage_payments.number
|
||||||
interest = interest if interest > 0 else 1
|
interest = interest if interest > 0 else 1
|
||||||
result = round((gross_monthly_income - living_expenses) / interest, 2)
|
result = round((net_monthly_income - living_expenses) / interest, 2)
|
||||||
return f"{bcolors.FAIL if result < min else bcolors.OKGREEN}{result}{bcolors.ENDC}"
|
return f"{bcolors.FAIL if result < min else bcolors.OKGREEN}{result}{bcolors.ENDC}"
|
||||||
|
|
||||||
|
|
||||||
@@ -138,7 +148,7 @@ def get_position_as_str(inventory):
|
|||||||
return Amount(Decimal(round(position.units.number, 2)), position.units.currency).to_string()
|
return Amount(Decimal(round(position.units.number, 2)), position.units.currency).to_string()
|
||||||
|
|
||||||
|
|
||||||
def print_report(date, balances, expenses, income, debt_payments, mortgage_payments, savings):
|
def print_report(date, balances, expenses, net_monthly_income, net_yearly_income, debt_payments, mortgage_payments, savings):
|
||||||
print(f"{bcolors.BOLD}Balance Sheet (date={date}){bcolors.ENDC}")
|
print(f"{bcolors.BOLD}Balance Sheet (date={date}){bcolors.ENDC}")
|
||||||
draw_line()
|
draw_line()
|
||||||
print(f"{bcolors.BOLD}Assets{bcolors.ENDC}")
|
print(f"{bcolors.BOLD}Assets{bcolors.ENDC}")
|
||||||
@@ -202,8 +212,10 @@ def print_report(date, balances, expenses, income, debt_payments, mortgage_payme
|
|||||||
balances["Liabilities:Hipoteca:VivendaPrincipal"] * Decimal(-1))],
|
balances["Liabilities:Hipoteca:VivendaPrincipal"] * Decimal(-1))],
|
||||||
["Hipoteques en vivenda d'inversió",
|
["Hipoteques en vivenda d'inversió",
|
||||||
Amount(Decimal(0), "EUR").to_string()],
|
Amount(Decimal(0), "EUR").to_string()],
|
||||||
["Crèdit", get_position_as_str(
|
["Targetes de crèdit", get_position_as_str(
|
||||||
balances["Liabilities:Credit:Caixabank:TargetaCredit"] * Decimal(-1))],
|
balances["Liabilities:Credit:Caixabank:TargetaCredit"] * Decimal(-1))],
|
||||||
|
["Línies de crèdit per inversió", get_position_as_str(
|
||||||
|
balances["Liabilities:Credit:Renta4:PolissaCredit"] * Decimal(-1))],
|
||||||
["Factures impagades", get_position_as_str(
|
["Factures impagades", get_position_as_str(
|
||||||
balances["Liabilities:Factures:FacturesPendents"] * Decimal(-1))],
|
balances["Liabilities:Factures:FacturesPendents"] * Decimal(-1))],
|
||||||
["Préstecs personals", Amount(Decimal(0), "EUR").to_string()],
|
["Préstecs personals", Amount(Decimal(0), "EUR").to_string()],
|
||||||
@@ -225,19 +237,19 @@ def print_report(date, balances, expenses, income, debt_payments, mortgage_payme
|
|||||||
["Debt-to-Assets Ratio",
|
["Debt-to-Assets Ratio",
|
||||||
get_debt_to_assets_ratio(balances, 50), "50 %"],
|
get_debt_to_assets_ratio(balances, 50), "50 %"],
|
||||||
["Emergency Fund", get_emergency_fund_ratio(
|
["Emergency Fund", get_emergency_fund_ratio(
|
||||||
balances, expenses, 3, 6), "3-6"],
|
balances, expenses, 3, 6), "3-6 mth"],
|
||||||
["Investment Assets to Net Worth Ratio",
|
["Investment Assets to Net Worth Ratio",
|
||||||
get_investment_assets_to_net_worth_ratio(balances, 50), "50 %"],
|
get_investment_assets_to_net_worth_ratio(balances, 50), "50 %"],
|
||||||
["Liquid Assets to Net Worth Ratio",
|
["Liquid Assets to Net Worth Ratio",
|
||||||
get_liquid_assets_to_net_worth_ratio(balances, 15), "15 %"],
|
get_liquid_assets_to_net_worth_ratio(balances, 15), "15 %"],
|
||||||
["Savings Ratio", get_savings_ratio(
|
["Savings Ratio", get_savings_ratio(
|
||||||
balances, income, savings, 20), "20 %"],
|
balances, net_yearly_income, savings, 20), "20 %"],
|
||||||
["Debt-Service Ratio",
|
["Debt-Service Ratio",
|
||||||
get_debt_service_ratio(balances, income, debt_payments, 35), "35 %"],
|
get_debt_service_ratio(balances, net_yearly_income, debt_payments, 35), "35 %"],
|
||||||
["Non-Mortgage Debt-Service Ratio",
|
["Non-Mortgage Debt-Service Ratio",
|
||||||
get_non_mortgage_debt_service_ratio(balances, income, mortgage_payments, 15), "15 %"],
|
get_non_mortgage_debt_service_ratio(balances, net_yearly_income, mortgage_payments, 15), "15 %"],
|
||||||
["Interest Coverage Ratio", get_interest_coverage_ratio(
|
["Interest Coverage Ratio", get_interest_coverage_ratio(
|
||||||
income, expenses, debt_payments, mortgage_payments, 1.5), "1.5"]
|
net_yearly_income, expenses, debt_payments, mortgage_payments, 1.5), "1.5"]
|
||||||
]))
|
]))
|
||||||
|
|
||||||
|
|
||||||
@@ -253,7 +265,7 @@ def get_balances(entries, options, date):
|
|||||||
|
|
||||||
|
|
||||||
def get_expenses(entries, options, date):
|
def get_expenses(entries, options, date):
|
||||||
start_date, end_date = get_last_month_timestamps(date)
|
start_date, end_date = get_last_year_timestamps(date)
|
||||||
expenses_query = f"SELECT convert(sum(position), \"EUR\") as position FROM date <= {
|
expenses_query = f"SELECT convert(sum(position), \"EUR\") as position FROM date <= {
|
||||||
end_date} WHERE account ~ 'Expenses:' AND date >= {start_date}"
|
end_date} WHERE account ~ 'Expenses:' AND date >= {start_date}"
|
||||||
rtypes, rrows = query.run_query(
|
rtypes, rrows = query.run_query(
|
||||||
@@ -262,17 +274,27 @@ def get_expenses(entries, options, date):
|
|||||||
|
|
||||||
|
|
||||||
def get_income(entries, options, date):
|
def get_income(entries, options, date):
|
||||||
start_date, end_date = get_last_month_timestamps(date)
|
start_date, end_date = get_month_to_date_timestamps(date)
|
||||||
income_query = f"SELECT convert(sum(position), \"EUR\") as position FROM date <= {
|
income_query = f"SELECT convert(sum(position), \"EUR\") as position FROM date <= {
|
||||||
end_date} WHERE account ~ '^(Income:Work|Income:Savings|Income:Invest)' AND date >= {start_date}"
|
end_date} WHERE account ~ '^(Income:Work|Income:Savings|Income:Invest)' AND date >= {start_date}"
|
||||||
rtypes, rrows = query.run_query(
|
rtypes, rrows = query.run_query(
|
||||||
entries, options, income_query)
|
entries, options, income_query)
|
||||||
return rrows
|
net_monthly_income = rrows[0].position.get_only_position(
|
||||||
|
).units.number * -1
|
||||||
|
|
||||||
|
start_date, end_date = get_last_year_timestamps(date)
|
||||||
|
income_query = f"SELECT convert(sum(position), \"EUR\") as position FROM date <= {
|
||||||
|
end_date} WHERE account ~ '^(Income:Work|Income:Savings|Income:Invest)' AND date >= {start_date}"
|
||||||
|
rtypes, rrows = query.run_query(
|
||||||
|
entries, options, income_query)
|
||||||
|
net_yearly_income = rrows[0].position.get_only_position(
|
||||||
|
).units.number * -1
|
||||||
|
return net_monthly_income, net_yearly_income
|
||||||
|
|
||||||
|
|
||||||
def get_debt_payments(entries, options, date):
|
def get_debt_payments(entries, options, date):
|
||||||
# FIX: Agafar nomes els pagaments de deute, enlloc de també les addicions de deute
|
# FIX: Agafar nomes els pagaments de deute, enlloc de també les addicions de deute
|
||||||
start_date, end_date = get_last_month_timestamps(date)
|
start_date, end_date = get_last_year_timestamps(date)
|
||||||
debt_payments_query = f"SELECT convert(sum(position), \"EUR\") as position FROM date <= {
|
debt_payments_query = f"SELECT convert(sum(position), \"EUR\") as position FROM date <= {
|
||||||
end_date} WHERE account ~ 'Expenses:R4:Interessos' AND date >= {start_date}"
|
end_date} WHERE account ~ 'Expenses:R4:Interessos' AND date >= {start_date}"
|
||||||
mortgage_payments_query = f"SELECT convert(sum(position), \"EUR\") as position FROM date <= {
|
mortgage_payments_query = f"SELECT convert(sum(position), \"EUR\") as position FROM date <= {
|
||||||
@@ -289,13 +311,20 @@ def get_debt_payments(entries, options, date):
|
|||||||
|
|
||||||
|
|
||||||
def get_savings(entries, options, date):
|
def get_savings(entries, options, date):
|
||||||
start_date, end_date = get_last_month_timestamps(date)
|
start_date, end_date = get_last_year_timestamps(date)
|
||||||
savings_query = f"SELECT convert(sum(position), \"EUR\") as position FROM date <= {
|
investments_query = f"SELECT convert(sum(position), \"EUR\") as position FROM date <= {
|
||||||
end_date} WHERE account ~ '^Assets:Invest:' AND date >= {start_date}"
|
end_date} WHERE account ~ '^Assets:Invest:' AND date >= {start_date}"
|
||||||
rtypes, rrows = query.run_query(
|
rtypes, rrows = query.run_query(
|
||||||
entries, options, savings_query)
|
entries, options, investments_query)
|
||||||
result = rrows[0].position.get_only_position().units if len(
|
result = rrows[0].position.get_only_position().units if len(
|
||||||
rrows) > 0 else Amount(Decimal(0), "EUR")
|
rrows) > 0 else Amount(Decimal(0), "EUR")
|
||||||
|
liabilities_query = f"SELECT convert(sum(position), \"EUR\") as position FROM date <= {
|
||||||
|
end_date} WHERE account ~ '^Liabilities:Credit:Renta4:' AND date >= {start_date}"
|
||||||
|
rtypes, rrows = query.run_query(
|
||||||
|
entries, options, liabilities_query)
|
||||||
|
liabilities = rrows[0].position.get_only_position().units if len(
|
||||||
|
rrows) > 0 else Amount(Decimal(0), "EUR")
|
||||||
|
result = add(result, liabilities)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
@@ -316,13 +345,12 @@ def main():
|
|||||||
|
|
||||||
balances = get_balances(entries, options, date)
|
balances = get_balances(entries, options, date)
|
||||||
expenses = get_expenses(entries, options, date)
|
expenses = get_expenses(entries, options, date)
|
||||||
income = get_income(entries, options, date)
|
net_monthly_income, net_yearly_income = get_income(
|
||||||
gross_monthly_income = income[0].position.get_only_position(
|
entries, options, date)
|
||||||
).units.number * -1
|
|
||||||
debt_payments, mortgage_payments = get_debt_payments(
|
debt_payments, mortgage_payments = get_debt_payments(
|
||||||
entries, options, date)
|
entries, options, date)
|
||||||
savings = get_savings(entries, options, date)
|
savings = get_savings(entries, options, date)
|
||||||
print_report(date, balances, expenses, gross_monthly_income,
|
print_report(date, balances, expenses, net_monthly_income, net_yearly_income,
|
||||||
debt_payments, mortgage_payments, savings)
|
debt_payments, mortgage_payments, savings)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -127,8 +127,37 @@
|
|||||||
2025-12-14 * "La Marató" "Donació La Marató de TV3"
|
2025-12-14 * "La Marató" "Donació La Marató de TV3"
|
||||||
Expenses:Donatiu 20 EUR
|
Expenses:Donatiu 20 EUR
|
||||||
Assets:Liquid:Caixabank:Corrent
|
Assets:Liquid:Caixabank:Corrent
|
||||||
|
2025-12-14 * "Miquel Albareda" "Factures novembre"
|
||||||
|
Income:Other:Caixabank:Transferencia -49.23 EUR
|
||||||
|
Assets:Liquid:Caixabank:Corrent 49.23 EUR
|
||||||
|
Expenses:FacturesUtilitats -49.23 EUR
|
||||||
|
Equity:FacturesUtilitatsMiquel 49.23 EUR
|
||||||
|
2025-12-15 * "Plusfresc" "Compra de la setmana"
|
||||||
|
Expenses:Supermercat 30.09 EUR
|
||||||
|
Assets:Liquid:Caixabank:Corrent
|
||||||
|
2025-12-18 * "Naturgy" "Factura gas"
|
||||||
|
Expenses:FacturesUtilitats 29.66 EUR
|
||||||
|
Assets:Liquid:Caixabank:Corrent
|
||||||
|
2025-12-18 * "Don Zangano" "Esmorzar"
|
||||||
|
Expenses:MenjarFora 5.10 EUR
|
||||||
|
Assets:Benefits:Edenred:TicketsRestaurant
|
||||||
|
2025-12-18 * "Aerobus" "Bitllet anada i tornada aeroport"
|
||||||
|
Expenses:Mobilitat 12.85 EUR
|
||||||
|
Assets:Benefits:Edenred:TargetaTransport
|
||||||
|
2025-12-18 * "Burger King" "Sopar aeroport"
|
||||||
|
Expenses:MenjarFora 12.15 EUR
|
||||||
|
Assets:Benefits:Edenred:TicketsRestaurant
|
||||||
|
2025-12-19 * "TradeRepublic" "Tancament compte TradeRepublic"
|
||||||
|
Income:Savings:TradeRepublic:RentabilitatEstalvis -0.01 EUR
|
||||||
|
Assets:Liquid:Caixabank:Corrent
|
||||||
|
2025-12-20 * "Amazon" "Valissa DGT"
|
||||||
|
Expenses:Altres 41.99 EUR
|
||||||
|
Assets:Liquid:Caixabank:Corrent
|
||||||
|
2025-12-20 * "Che Argentino" "Sopar asador argentino palma"
|
||||||
|
Expenses:MenjarFora 51.70 EUR
|
||||||
|
Assets:Benefits:Edenred:TicketsRestaurant
|
||||||
|
|
||||||
2026-01-01 balance Assets:Liquid:Caixabank:Corrent 11919.33 EUR
|
2026-01-01 balance Assets:Liquid:Caixabank:Corrent 11866.83 EUR
|
||||||
2026-01-01 balance Assets:Liquid:R4:EUR 0 EUR
|
2026-01-01 balance Assets:Liquid:R4:EUR 0 EUR
|
||||||
2026-01-01 balance Assets:Invest:Fund:Vanguard:EMMK 14.99 VANEMMK
|
2026-01-01 balance Assets:Invest:Fund:Vanguard:EMMK 14.99 VANEMMK
|
||||||
2026-01-01 balance Assets:Invest:Fund:Vanguard:GL 776.93 VANGL
|
2026-01-01 balance Assets:Invest:Fund:Vanguard:GL 776.93 VANGL
|
||||||
@@ -136,8 +165,8 @@
|
|||||||
2026-01-01 balance Assets:Invest:ETF:IWVL 430 IWVL
|
2026-01-01 balance Assets:Invest:ETF:IWVL 430 IWVL
|
||||||
2026-01-01 balance Assets:Invest:Fixed:R4RF 1518.57004 R4RF
|
2026-01-01 balance Assets:Invest:Fixed:R4RF 1518.57004 R4RF
|
||||||
2026-01-01 balance Assets:Invest:ETF:XDEQ 264 XDEQ
|
2026-01-01 balance Assets:Invest:ETF:XDEQ 264 XDEQ
|
||||||
2026-01-01 balance Assets:Benefits:Edenred:TicketsRestaurant 114.87 EUR
|
2026-01-01 balance Assets:Benefits:Edenred:TicketsRestaurant 45.92 EUR
|
||||||
2026-01-01 balance Assets:Benefits:Edenred:TargetaTransport 76.50 EUR
|
2026-01-01 balance Assets:Benefits:Edenred:TargetaTransport 63.65 EUR
|
||||||
2026-01-01 balance Assets:Benefits:DZP:PPEZurich 4048.45 EUR
|
2026-01-01 balance Assets:Benefits:DZP:PPEZurich 4048.45 EUR
|
||||||
2026-01-01 balance Assets:PersonalProperty:VivendaPrincipal 0 EUR
|
2026-01-01 balance Assets:PersonalProperty:VivendaPrincipal 0 EUR
|
||||||
2026-01-01 balance Assets:PersonalProperty:Cotxe 8174 EUR
|
2026-01-01 balance Assets:PersonalProperty:Cotxe 8174 EUR
|
||||||
|
|||||||
71
reports/balance-sheet-report-2025-12-21.txt
Normal file
71
reports/balance-sheet-report-2025-12-21.txt
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
[1mBalance Sheet (date=2025-12-21)[0m
|
||||||
|
──────────────────────────────
|
||||||
|
[1mAssets[0m
|
||||||
|
[1mLiquids[0m
|
||||||
|
----------------- ------------
|
||||||
|
Corrent 11866.83 EUR
|
||||||
|
Estalvi 0 EUR
|
||||||
|
Compte d'inversió 0 EUR
|
||||||
|
Total líquids 11866.83 EUR
|
||||||
|
----------------- ------------
|
||||||
|
[1mInversions[0m
|
||||||
|
---------------- -------------
|
||||||
|
Fons d'inversió 70353.30 EUR
|
||||||
|
ETFs 39129.40 EUR
|
||||||
|
Accions 0 EUR
|
||||||
|
Renta fixa 23712.25 EUR
|
||||||
|
Total inversions 133194.95 EUR
|
||||||
|
---------------- -------------
|
||||||
|
[1mPropietat personal[0m
|
||||||
|
---------------------------- -----------
|
||||||
|
Vivenda principal 0 EUR
|
||||||
|
Cotxes 8174.00 EUR
|
||||||
|
Joies, Art, Col·leccionables 50.00 EUR
|
||||||
|
Metalls preciosos 0 EUR
|
||||||
|
Altres propietats 0 EUR
|
||||||
|
Total propietats 8224.00 EUR
|
||||||
|
---------------------------- -----------
|
||||||
|
[1mDeutes[0m
|
||||||
|
----------------- -----
|
||||||
|
Deutes per cobrar
|
||||||
|
Total deutes 0 EUR
|
||||||
|
----------------- -----
|
||||||
|
[1mBeneficis laborals[0m
|
||||||
|
----------------------------- -----------
|
||||||
|
Tickets Restaurant 45.92 EUR
|
||||||
|
Targeta Transport 63.65 EUR
|
||||||
|
Pla Pensions Empleados Zurich 4048.45 EUR
|
||||||
|
Total beneficis 4158.02 EUR
|
||||||
|
----------------------------- -----------
|
||||||
|
------------ -------------
|
||||||
|
[1mTotal Assets 157443.80 EUR
|
||||||
|
------------ -------------
|
||||||
|
──────────────────────────────
|
||||||
|
[1mLiabilites[0m
|
||||||
|
-------------------------------- ------------
|
||||||
|
Hipoteques en vivenda principal
|
||||||
|
Hipoteques en vivenda d'inversió 0 EUR
|
||||||
|
Targetes de crèdit 445.91 EUR
|
||||||
|
Línies de crèdit per inversió 19971.26 EUR
|
||||||
|
Factures impagades
|
||||||
|
Préstecs personals 0 EUR
|
||||||
|
Impostos no pagats
|
||||||
|
Altres passius 0 EUR
|
||||||
|
-------------------------------- ------------
|
||||||
|
------------- -------------
|
||||||
|
[1mTotal passius[0m [1m-20417.17 EUR[0m
|
||||||
|
------------- -------------
|
||||||
|
──────────────────────────────
|
||||||
|
[1mNet Worth 137026.63 EUR[0m
|
||||||
|
──────────────────────────────
|
||||||
|
[1mFinancial Ratios[0m
|
||||||
|
------------------------------------ -------- -------
|
||||||
|
Debt-to-Assets Ratio [92m12.97 %[0m 50 %
|
||||||
|
Emergency Fund [93m4.18 mth[0m 3-6 mth
|
||||||
|
Investment Assets to Net Worth Ratio [92m97.20 %[0m 50 %
|
||||||
|
Liquid Assets to Net Worth Ratio [92m105.86 %[0m 15 %
|
||||||
|
Savings Ratio [92m35.58 %[0m 20 %
|
||||||
|
Debt-Service Ratio [92m0.96 %[0m 35 %
|
||||||
|
Non-Mortgage Debt-Service Ratio [92m0.00 %[0m 15 %
|
||||||
|
Interest Coverage Ratio [92m33.34[0m 1.5
|
||||||
|
------------------------------------ -------- -------
|
||||||
@@ -1,259 +0,0 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
|
||||||
<title></title>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="halfleft">
|
|
||||||
|
|
||||||
<div id="assets">
|
|
||||||
<h3>Assets</h3>
|
|
||||||
<table class="fullwidth tree-table">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="first">Account</th>
|
|
||||||
<th>EUR</th>
|
|
||||||
<th>Other</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Benefits</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Benefits:Edenred</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Benefits:Edenred:TarjetaTransport</td>
|
|
||||||
<td class="num">40</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Benefits:Edenred:TicketsRestaurant</td>
|
|
||||||
<td class="num">209</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Debt</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Debt:DeutesPerCobrar</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Invest</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Invest:R4</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Invest:R4:Amundi</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Invest:Fund:Amundi:MSCIWRLD</td>
|
|
||||||
<td class="num">20436.50810</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Invest:Fund:Amundi:SUSTINC</td>
|
|
||||||
<td class="num">709.77780</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Invest:R4:BNP</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Invest:Fund:BNP:DISTECH</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num">788.20245 USD</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Invest:R4:Fidelity</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Invest:Fund:Fidelity:GLTECH</td>
|
|
||||||
<td class="num">14143.9382</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Invest:Stock:MSFT</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num">1367.2 USD</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Invest:Stock:PLTR</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num">160.250 USD</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Invest:R4:Vanguard</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Invest:Fund:Vanguard:EMMK</td>
|
|
||||||
<td class="num">2664.81727</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Liquid</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Liquid:Caixabank</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Liquid:Caixabank:Corrent</td>
|
|
||||||
<td class="num">18903.80</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Liquid:Estalvi:Caixabank</td>
|
|
||||||
<td class="num">12666.49</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Liquid:R4</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:Liquid:R4:EUR</td>
|
|
||||||
<td class="num">44.04</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:PersonalProperty</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:PersonalProperty:AltresPropietats</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:PersonalProperty:Cotxe</td>
|
|
||||||
<td class="num">10000</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:PersonalProperty:JoiesArtCollecionables</td>
|
|
||||||
<td class="num">1250</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:PersonalProperty:MetallsPreciosos</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Assets:PersonalProperty:VivendaPrincipal</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="totals">
|
|
||||||
<td class="tree-node-name"><span class="totals-label"></span></td>
|
|
||||||
<td class="num">81068.37137</td>
|
|
||||||
<td class="num">2315.65245 USD</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="halfright">
|
|
||||||
|
|
||||||
<div id="liabilities">
|
|
||||||
<h3>Liabilities</h3>
|
|
||||||
<table class="fullwidth tree-table">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="first">Account</th>
|
|
||||||
<th>EUR</th>
|
|
||||||
<th>Other</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Liabilities</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="totals">
|
|
||||||
<td class="tree-node-name"><span class="totals-label"></span></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="spacer">
|
|
||||||
</div>
|
|
||||||
<div id="equity">
|
|
||||||
<h3>Equity</h3>
|
|
||||||
<table class="fullwidth tree-table">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="first">Account</th>
|
|
||||||
<th>EUR</th>
|
|
||||||
<th>Other</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Equity</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Equity:Opening-Balances</td>
|
|
||||||
<td class="num">-80819.37</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="">
|
|
||||||
<td class="tree-node-name">Equity:Opening-Balances:USD</td>
|
|
||||||
<td class="num"></td>
|
|
||||||
<td class="num">-2315.652 USD</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="totals">
|
|
||||||
<td class="tree-node-name"><span class="totals-label"></span></td>
|
|
||||||
<td class="num">-80819.37</td>
|
|
||||||
<td class="num">-2315.652 USD</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
Reference in New Issue
Block a user