{% extends "ledger/base.html" %} {% load ledger_tags %} {% block title %}Subscriptions{% endblock %} {% block content %}

Subscriptions & recurring bills

{% csrf_token %}
Annualized cost{{ annual_total|money0 }}{{ monthly_total|money0 }} per month
Price hikes{{ hikes|length }}detected
Missed charges{{ missed|length }}expected but absent
Zombies{{ zombie_total|money0 }}per year, marked unused
{% for s in subs %} {% empty %}{% endfor %}
MerchantCadenceAmountPer yearNext chargePrice history
{{ s.merchant.name }} {% if s.status == "confirmed" %}confirmed{% endif %} {% if s.is_zombie %}zombie{% endif %} {% if s.health == "missed" %}charge missed{% elif s.health == "lapsed" %}lapsed{% endif %} {{ s.period }} ×{{ s.occurrences }} {{ s.amount|money }} {{ s.annual_cost|money0 }} {{ s.next_date|date:"d M Y" }} {% for p in s.price_changes %}
{{ p.date }}: {{ p.old|money }} → {{ p.new|money }}
{% empty %}unchanged{% endfor %}
{% csrf_token %} {% if s.status != "confirmed" %}{% endif %}
No recurring charges detected yet.
{% if dismissed %}

Dismissed: {% for s in dismissed %}{{ s.merchant.name }}

{% csrf_token %}
{% if not forloop.last %}, {% endif %}{% endfor %}

{% endif %} {% endblock %}