{% extends "base.html" %} {% from "components/ui.html" import page_header, breadcrumb_nav, button, filter_badge %} {% block content %} {% set breadcrumbs = [ {'text': 'Expenses'} ] %} {{ page_header( icon_class='fas fa-receipt', title_text='Expenses', subtitle_text='Track and manage business expenses', breadcrumbs=breadcrumbs, actions_html='' + '
' + 'New Expense' + 'New Mileage' + 'New Per Diem' + '
' ) }}

Total Expenses

{{ total_count }}

Total Amount

{{ currency|currency_symbol }}{{ '%.2f'|format(total_amount) }}

{{ _('Filter Expenses') }}

{% if current_user.is_admin and users %}
{% endif %}
{% if current_user.is_admin %} {% endif %}

{{ expenses|length }} expense{{ 's' if expenses|length != 1 else '' }} found

Export {% if current_user.is_admin %}
{% endif %}
{% if current_user.is_admin %} {% endif %} {% if expenses %} {% for expense in expenses %} {% if current_user.is_admin %} {% endif %} {% endfor %} {% endif %}
Date Title Category Amount Status User Project Actions
{{ expense.expense_date.strftime('%Y-%m-%d') }} {{ expense.title }} {% if expense.vendor %}
{{ expense.vendor }}
{% endif %}
{{ expense.category|title }} {{ expense.currency_code }} {{ '%.2f'|format(expense.total_amount) }} {% if expense.billable %} {% endif %} {% if expense.status == 'pending' %} Pending {% elif expense.status == 'approved' %} Approved {% elif expense.status == 'rejected' %} Rejected {% elif expense.status == 'reimbursed' %} Reimbursed {% else %} {{ expense.status|title }} {% endif %} {{ expense.user.username if expense.user else '—' }} {% if expense.project %} {{ expense.project.name }} {% else %} {% endif %} View
{% if not expenses %} {% from "components/ui.html" import empty_state %} {% set actions %} Create Your First Expense Learn More {% endset %} {% if request.args.get('search') or request.args.get('category') or request.args.get('status') %} {{ empty_state('fas fa-search', 'No Expenses Match Your Filters', 'Try adjusting your filters to see more results. You can clear filters or create a new expense that matches your criteria.', actions, type='no-results') }} {% else %} {{ empty_state('fas fa-receipt', 'No Expenses Yet', 'Track your business expenses to keep accurate financial records. Create your first expense entry to get started!', actions, type='no-data') }} {% endif %} {% endif %}
{% if pagination and pagination.pages > 1 %}
{% if pagination.has_prev %} Previous {% endif %} {% if pagination.has_next %} Next {% endif %}
{% endif %}
{% endblock %} {% block scripts_extra %} {% endblock %}