mivita/app
Kevin d5ad1ba50b Statistik: Neupartner zaehlen im Monat der Zahlung, nicht der Registrierung
Wer Ende August registriert und am 1. September bezahlt hat, tauchte in keiner
Neupartner-Zaehlung auf: Der August-Snapshot wurde um 04:45 eingefroren, da
fehlte noch das Abrechnungskonto; im September lag active_date im falschen
Monat. Betroffen sind 2026 acht Partner, auch im Recruiting ihrer Sponsoren.

Kundenentscheidung 16.09.2026: der Zeitpunkt der Zahlung ist massgeblich.

Neue Spalte users.partner_paid_at, gesetzt bei der ersten Kontozahlung
(Payment::paymentStatusPaidAction) und bei manueller Freischaltung durch den
Admin — nur, solange sie leer ist; Verlaengerung und Wiederherstellung aendern
sie nicht. Bestehende Partner werden per Migration aus der ersten bezahlten
Registrierungsbestellung rueckgefuellt (Zeitstempel der Punktebuchung, ersatzweise
Bestelldatum, ohne Bestellung das Aktivierungsdatum). Bewusst nicht
payment_account minus ein Jahr: das ergaebe bei Verlaengerern den Jahrestag der
Erstzahlung.

User::scopeNewPartnerIn() und isNewPartnerIn() lesen jetzt partner_paid_at —
damit Kachel, Recruiter-Ranking, Top 3 und Neupartner-Liste gleichermassen.
Die Liste und der CSV-Export zeigen "Bezahlt am" neben "Registriert am".

Unveraendert: die Teamstruktur haengt weiter an active_date (auch im
Provisionsbaum). Wer ist neu dazugekommen und wer gehoert zur Linie sind zwei
verschiedene Fragen.

Die eingefrorenen Monate Januar bis August enthalten sieben dieser Partner
nicht; ob sie per --force neu gebaut werden, ist eine Entscheidung — siehe
dev/2026-07-22/neupartner-zahlungsmonat.md.

Mit drin: die handgebaute SQLite-Tabelle in BackofficeDashboardServiceTest
kannte status_reason aus ec3ecad noch nicht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 14:48:01 +00:00
..
Console Abo (A3): Status und Grund eines Abos sichtbar machen 2026-09-16 10:24:18 +00:00
Cron Stripe-Integration (S4, S5, S7.6): Abos, Zahlungsart ändern, Zahlarten-Kommunikation 2026-07-09 14:45:17 +00:00
Domain update 20.10.2025 2025-10-20 17:42:08 +02:00
Enums Stripe-Integration (S0–S3): Einmalzahlungen über Stripe Checkout + Notfall-Go-Live 2026-07-08 15:56:41 +00:00
Exceptions Stripe: Kundendaten, Rechnungsnummer, manueller Zahlungseingang 2026-08-28 09:04:28 +00:00
Exports 08 2024 2024-08-05 12:05:24 +02:00
Http Statistik: Neupartner zaehlen im Monat der Zahlung, nicht der Registrierung 2026-09-16 14:48:01 +00:00
Imports Customers Add+Edit, API WP 2020-06-12 14:46:51 +02:00
Jobs Stripe: Kundendaten, Rechnungsnummer, manueller Zahlungseingang 2026-08-28 09:04:28 +00:00
Libraries 20-02-2026 2026-02-20 17:55:06 +01:00
Mail Stripe-Integration (S4, S5, S7.6): Abos, Zahlungsart ändern, Zahlarten-Kommunikation 2026-07-09 14:45:17 +00:00
Models Abo (A1+A2): Liefertag frei waehlbar 1-31, Aenderung nur nach vorn, Sperre erst am Ausfuehrungstag 2026-09-16 11:28:55 +00:00
Policies update 20.10.2025 2025-10-20 17:42:08 +02:00
Providers Statistiken: Kundenfeedback 2026-08-19 komplett (N1-N8) + Review-Fixes + VP-/Incentive-Repair gehärtet 2026-08-21 10:44:44 +00:00
Repositories Abo (A1+A2): Liefertag frei waehlbar 1-31, Aenderung nur nach vorn, Sperre erst am Ausfuehrungstag 2026-09-16 11:28:55 +00:00
Requests last corrections for payments 2019-03-19 15:45:46 +01:00
Services Statistik: Neupartner zaehlen im Monat der Zahlung, nicht der Registrierung 2026-09-16 14:48:01 +00:00
helpers.php 23-01-2026 2026-01-23 17:35:23 +01:00
User.php Statistik: Neupartner zaehlen im Monat der Zahlung, nicht der Registrierung 2026-09-16 14:48:01 +00:00