{{ invoices|length }} invoice{{ 's' if invoices|length != 1 else '' }} found

Export {% if current_user.is_admin %}
{% endif %}
{% if current_user.is_admin %} {% endif %} {% for invoice in invoices %} {% if current_user.is_admin %} {% endif %} {% else %} {% endfor %}
Number Client Status Payment Total Due Date Actions
{{ invoice.invoice_number }} {{ invoice.client_name }} {% set s = invoice.status %} {% if s == 'draft' %} Draft {% elif s == 'sent' %} Sent {% elif s == 'paid' %} Paid {% elif s == 'overdue' %} Overdue {% else %} {{ s }} {% endif %} {% set ps = invoice.payment_status %} {% if ps == 'unpaid' %} Unpaid {% elif ps == 'partially_paid' %} Partial {% elif ps == 'fully_paid' %} Paid {% elif ps == 'overpaid' %} Overpaid {% else %} {{ ps }} {% endif %} {{ "%.2f"|format(invoice.total_amount) }} {{ invoice.currency_code }} {% if invoice.due_date %} {% set is_overdue = invoice._is_overdue %} {% if is_overdue %}{% endif %} {{ invoice.due_date.strftime('%Y-%m-%d') }} {% else %} {% endif %}
{% if not invoices %} {% from "components/ui.html" import empty_state %} {% set actions %} Create Your First Invoice Learn More {% endset %} {% if request.args.get('search') or request.args.get('status') or request.args.get('client') %} {{ empty_state('fas fa-search', 'No Invoices Match Your Filters', 'Try adjusting your filters to see more results. You can clear filters or create a new invoice that matches your criteria.', actions, type='no-results') }} {% else %} {{ empty_state('fas fa-file-invoice', 'No Invoices Yet', 'Create professional invoices to bill your clients for completed work. Create your first invoice to get started!', actions, type='no-data') }} {% endif %} {% endif %}