{% extends 'base.html.twig' %} {% block title %}Personal{% endblock %} {% block head_extra %} {% endblock %} {% block content %} {# โ”€โ”€ Personal Net Worth Stats โ”€โ”€ #}
๐Ÿ‘ค Personal Net Worth
ยฃ{{ personalNetWorth|number_format(2) }} {% if networthChange is not null %} {{ networthChange >= 0 ? 'โ–ฒ' : 'โ–ผ' }} ยฃ{{ networthChange|abs|number_format(2) }} {% endif %}
savings + pension + ยฝ equity โˆ’ personal debts
๐Ÿฆ Personal Savings
ยฃ{{ personalSavingsTotal|number_format(2) }}
{{ personalSavings|length }} goal{{ personalSavings|length != 1 ? 's' : '' }}
๐Ÿ› Pension Pot
ยฃ{{ pensionTotal|number_format(2) }} {% if latestPension %} as of {{ latestPension.date|date('M Y') }} {% endif %}
{{ latestPension ? latestPension.institution : 'No pension recorded yet' }}
๐Ÿ”’ Personal Debts
ยฃ{{ personalDebtTotal|number_format(2) }}
{{ personalDebts|length }} debt{{ personalDebts|length != 1 ? 's' : '' }}
{% if mortgage %}
๐Ÿ  Your Half-Equity
ยฃ{{ halfEquity|number_format(2) }}
50% of joint mortgage equity
{% endif %}
{# โ”€โ”€ Personal Net Worth Graph โ”€โ”€ #} {% if snapshots|length >= 1 %}

๐Ÿ“ˆ Personal Net Worth Over Time

Updates automatically every time you visit โ€” tracks savings, pension, equity & debts

{% endif %} {# โ”€โ”€ Tabs โ”€โ”€ #}
{% if personalDebts|length > 0 %}{% endif %} {% if personalSavings|length > 0 %}{% endif %} {% if others|length > 0 %}{% endif %}
{# Salary #}
{% if salaries|length > 0 %}
    {% for r in salaries %}{{ _self.record_row(r, 'app_personal_delete', 'app_personal_edit') }}{% endfor %}
{% else %}

No salary records yet.

{% endif %}
{# Pension #}
{% if latestPension %}
๐Ÿ› Current Pension Value (used in net worth)
ยฃ{{ pensionTotal|number_format(2) }}
From {{ latestPension.institution ?? 'your pension provider' }} ยท {{ latestPension.date|date('d M Y') }} ยท Add a new entry below to update the value
{% endif %} {% if pensions|length > 0 %}
    {% for r in pensions %}{{ _self.record_row(r, 'app_personal_delete', 'app_personal_edit') }}{% endfor %}

The most recent entry's value is used in your personal net worth calculation.

{% else %}

No pension records yet. Add one to include it in your net worth.

{% endif %}
{# Net Worth Log #}
{% if networths|length > 0 %}
{% set maxNW = max(networths|map(r => r.amount)) %} {% for r in networths|reverse %}
{{ r.date|date("M Y") }}
ยฃ{{ r.amount|number_format(0) }}
{% endfor %}
    {% for r in networths %}{{ _self.record_row(r, 'app_personal_delete', 'app_personal_edit') }}{% endfor %}
{% else %}

No net worth records yet. Start tracking your wealth! ๐Ÿ“ˆ

{% endif %}
{# Personal Debts #} {% if personalDebts|length > 0 %}
These are your personal debts โ€” not counted in the joint total. Add another โ†’
{% macro debtCard(debt) %}

{{ debt.label }}

{% if debt.creditor %}

{{ debt.creditor }}

{% endif %}
Edit
{% if debt.type == 'credit_card' and debt.utilizationPercent is not null %} {% set util = debt.utilizationPercent %}
ยฃ{{ debt.remainingAmount|number_format(2) }} of ยฃ{{ debt.creditLimit|number_format(2) }} limit
{{ util }}% utilised
{% else %}
ยฃ{{ debt.remainingAmount|number_format(2) }} remaining of ยฃ{{ debt.totalAmount|number_format(2) }}
{{ debt.paidPercent }}% paid
{% endif %}
{% if debt.interestRate %}{{ debt.interestRate }}% APR{% endif %} {% if debt.monthlyPayment %}ยฃ{{ debt.monthlyPayment|number_format(2) }}/mo{% endif %} {% if debt.monthsRemaining is not null %}{{ debt.monthsRemaining }}mo left{% endif %}
{% endmacro %} {% for d in personalDebtsByType.loan %}{{ _self.debtCard(d) }}{% endfor %} {% for d in personalDebtsByType.credit_card %}{{ _self.debtCard(d) }}{% endfor %} {% for d in personalDebtsByType.bnpl %}{{ _self.debtCard(d) }}{% endfor %}
{% endif %} {# Personal Savings #} {% if personalSavings|length > 0 %}
Your personal savings pots โ€” only you can see these. Add more โ†’
{% for g in personalSavings %}

{{ g.name }}

Edit
ยฃ{{ g.currentAmount|number_format(2) }} of ยฃ{{ g.targetAmount|number_format(2) }}
{{ g.progressPercent }}%
{% if g.institution %}

{{ g.institution }}

{% endif %}
{% endfor %}
{% endif %} {# Other #} {% if others|length > 0 %}
    {% for r in others %}{{ _self.record_row(r, 'app_personal_delete', 'app_personal_edit') }}{% endfor %}
{% endif %}
{% macro record_row(r, delete_route, edit_route) %}
  • {{ r.institution ?? (r.type|capitalize) }} {{ r.date|date("d M Y") }}{% if r.note %} ยท {{ r.note }}{% endif %}
    ยฃ{{ r.amount|number_format(2) }} {% if edit_route is defined and edit_route %} Edit {% endif %}
  • {% endmacro %} {% endblock %}