{% extends "cms/base.html" %} {% block title %}Expenses{% endblock %} {% block page_title %}Expenses{% endblock %} {% block extra_head %} {% endblock %} {% block cms_content %}

Expenses ({{ total_count }})

{% if cat_filter %}{% endif %}
{% if q %}✕{% endif %}
Add Expense
£{{ total_all|floatformat:2 }}
all types
Total Expenses
{{ total_count }} item{{ total_count|pluralize }}
£{{ stats_once.amount|floatformat:2 }}
one-off
One-off
{{ stats_once.count }} item{{ stats_once.count|pluralize }}
£{{ stats_hourly.amount|floatformat:2 }}
/hour
Hourly
{{ stats_hourly.count }} item{{ stats_hourly.count|pluralize }}
£{{ stats_monthly.amount|floatformat:2 }}
/month
Monthly
{{ stats_monthly.count }} item{{ stats_monthly.count|pluralize }}
£{{ stats_annual.amount|floatformat:2 }}
/year
Annual
{{ stats_annual.count }} item{{ stats_annual.count|pluralize }}
Filter by Category
All {{ total_count }} {% for val, label, cnt in categories_with_counts %} {{ label }} {{ cnt }} {% endfor %}
{% if expenses %} {% for exp in expenses %} {% endfor %}
# Start End Category Supplier Circulation Billing Amount Actions
{{ forloop.counter }} {{ exp.date|date:"d M Y" }} {% if exp.end_date %} {{ exp.end_date|date:"d M Y" }} {% else %} — {% endif %} {{ exp.get_category_display }} {{ exp.supplier|default:"—" }} {{ exp.description }} {% if exp.billing_period == 'hourly' %} Hourly {% elif exp.billing_period == 'monthly' %} Monthly {% elif exp.billing_period == 'annual' %} Annual {% elif exp.billing_period == 'agreed' %} Agreed Deal {% else %} One-off {% endif %}
£{{ exp.amount|floatformat:2 }}{% if exp.billing_period == 'hourly' %}/hr{% elif exp.billing_period == 'monthly' %}/mo{% elif exp.billing_period == 'annual' %}/yr{% endif %}
{% if expenses.has_other_pages %}
Page {{ expenses.number }} of {{ expenses.paginator.num_pages }} — {{ expenses.paginator.count }} expenses
{% if expenses.has_previous %} {% endif %} {% for num in expenses.paginator.page_range %} {% if num == expenses.number %} {{ num }} {% elif num >= expenses.number|add:'-2' and num <= expenses.number|add:'2' %} {{ num }} {% endif %} {% endfor %} {% if expenses.has_next %} {% endif %}
{% endif %} {% else %}

{% if cat_filter or q %}No expenses match your filters.{% else %}No expenses logged yet. Add the first one.{% endif %}

{% endif %}
{% endblock %}