{% extends "base.html" %} {% block title %}KPI-Dashboard{% endblock %} {% block heading %}KPI-Dashboard für Geschäftsführung{% endblock %} {% block content %}
Umsatz YTD
{{ "%.0f"|format(kpis.ytd_revenue) }} €
Brutto, alle nicht-stornierten Rechnungen {{ now.year if now else '' }}
Offene Rechnungen
{{ "%.0f"|format(kpis.inv_open_amount) }} €
{{ kpis.inv_open_count }} Rechnungen · davon {{ kpis.inv_overdue }} überfällig
Maschinen-Auslastung 4 Wochen
{{ kpis.machine_utilization }} %
Job-Stunden / verfügbare Stunden
Pipeline
{{ kpis.inq_open + kpis.quote_open + kpis.order_active }}
{{ kpis.inq_open }} Anfragen · {{ kpis.quote_open }} Angebote · {{ kpis.order_active }} Aufträge

📈 Umsatz pro Monat (letzte 12 Monate)

{% set max_rev = (revenue_per_month|map(attribute='value')|max) or 1 %}
{% for r in revenue_per_month %}
{{ r.month[5:] }}/{{ r.month[:4] }}
{% endfor %}

Höchster Monatswert: {{ '%.0f'|format(max_rev) }} €

🏆 Top-Kunden nach Umsatz (alle Zeit)

    {% for c in top_customers %}
  1. {{ loop.index }} {{ c.name or '— ohne Namen —' }} {{ c.count }} Rechnungen {{ '%.0f'|format(c.total) }} €
  2. {% else %}
  3. Noch keine Rechnungsdaten
  4. {% endfor %}

Aktualisierung bei jedem Seitenaufruf · Daten direkt aus der Live-Datenbank · GoBD-konform: alle Beträge basieren auf nicht-stornierten festgeschriebenen Rechnungen

{% endblock %}