📑 Verträge
<% if (success) { %><%= success %>
<% } %>
<% if (error) { %><%= error %>
<% } %>
Gesamt Verträge
<%= totals.total || 0 %>
Aktiv
<%= totals.active || 0 %>
Pausiert
<%= totals.paused || 0 %>
Inaktiv
<%= totals.inactive || 0 %>
Minderjährige
<%= totals.minors || 0 %>
Monatl. Umsatz (aktiv)
<%= Number(totals.total_monthly||0).toFixed(2).replace('.',',') %> €
Verteilung nach Kategorie
Übersicht
| Kategorie | Gesamt | Aktiv | Pausiert | Inaktiv | Monatl. Umsatz |
|---|---|---|---|---|---|
| <%= row.category_name || '– Keine Kategorie –' %> | <%= row.total %> | <%= row.active %> | <%= row.paused %> | <%= row.inactive %> | <%= Number(row.monthly_revenue||0).toFixed(2).replace('.',',') %> € |
Verträge nach Tarif
| Tarif | Laufzeit | Aktueller Preis | Mitglieder | Davon aktiv | Monatl. Umsatz | Status |
|---|---|---|---|---|---|---|
| <%= row.tariff_name %> | <%= row.duration_months %> Monate | <%= Number(row.price_monthly).toFixed(2).replace('.',',') %> €/Monat | <%= row.total %> | <%= row.active %> | <%= Number(row.monthly_revenue||0).toFixed(2).replace('.',',') %> € | <%= row.tariff_active ? '✅ Aktiv' : '❌ Inaktiv' %> |
Auslaufende Verträge – nächste 3 Monate (<%= expiring.length %>)
✅ Keine auslaufenden Verträge in den nächsten 3 Monaten.
<% } else { %>| Mitglied | Tarif | Vereinbarter Preis | Vertragsende | Restlaufzeit | Aktionen |
|---|---|---|---|---|---|
|
<%= m.last_name %>, <%= m.first_name %> <%= m.email %> |
<%= m.tariff_name %> | <%= Number(m.agreed_price||m.price_monthly).toFixed(2).replace('.',',') %> € | <%= endDate.toLocaleDateString('de-DE') %> | noch <%= diffDays %> Tage |