presseportale/app/Services/Billing
Kevin Adametz 375f4dffce billing/dev: Vertragsende in der MAN-Abrechnung, Rechnungslauf ohne Tageskappe, Qualitätsgates (Audit Block 5+6, Deploy E)
Block 5 — MAN-Abrechnung

F06 (E6): Ein explizites Legacy-Vertragsende (grandfathered_until) deckelt
jetzt Auswahl und Sperr-Nachprüfung: Beginnt die nächste Periode nach dem
Vertragsende, gibt es keine Rechnung mehr. Neuer täglicher Befehl
billing:expire-grandfathering (04:15, vor dem Rechnungslauf) setzt
abgelaufene Posten auf gekündigt und schickt je Kunde eine Mail
(GrandfatheringExpired). Auf der Dev-Kopie trägt kein Posten ein
Vertragsende; der Fehler war latent.

F16: Nicht abrechenbare Vereinbarungen bekommen einen Sperrvermerk
(billing_hold_reason/-at), sichtbar auf der Admin-Zahlungsseite, und
stehen im Rechnungslauf hinten an. Der Lauf arbeitet den fälligen Bestand
in Seiten ab; --limit deckelt die erstellten Rechnungen (500), nicht die
betrachteten Fälle. Vorher blockierten 50 unvollständige Fälle die 51.
dauerhaft, und der Durchsatz war auf 50 am Tag begrenzt.

Block 6 — Entwicklung

F24: Lint-Workflow prüft mit pint --test statt zu formatieren; keine
Schreibrechte mehr.
F27: composer run dev startet beide Vite-Server (npm run dev:all).
F28: docs/README.md als historischer Stand markiert, toter Link auf das
Hub-Flux-Archiv korrigiert, aktueller Einstieg dev/README.md.
F26: Login-Modal übernimmt den Fokus, hält Tab im Dialog und gibt den
Fokus beim Schließen an den Auslöser zurück – ohne neue Abhängigkeit.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-18 10:41:04 +00:00
..
Concerns billing: MAN-Rechnungen fuer Ueberweisungskunden bearbeiten, hold-Altlast bereinigen 2026-09-16 10:56:29 +00:00
AdminGrantService.php admin: Credits und freie PMs ohne Zahlung gutschreiben 2026-07-21 13:06:01 +00:00
CreditPricingService.php Boost-Slot-Grenzen (5/3) + Kategorie-Boost zum halben Satz 2026-07-13 12:28:03 +00:00
CreditTopupService.php admin: Aktivitäts-Verlauf unter Reports ▸ Verlauf 2026-07-15 16:00:58 +00:00
CreditWalletService.php Credit-Wallet + Ledger + Tier-Preisableitung (Fundament) 2026-06-17 14:16:43 +00:00
ExtraPmPurchaseService.php Optimierung 3.5: Kleinere Zentralisierungen (VAT, findByEmail, Waehrung, Provisioning) 2026-06-19 11:14:05 +00:00
InvoiceNumberGenerator.php Optimierung Phase 0: Korrektheit & Security 2026-06-19 08:09:02 +00:00
LegacyAddressParser.php Rechnungsadressen der Bestandskunden aus dem Legacy-Archiv uebernehmen 2026-07-06 12:19:50 +00:00
LegacyBillingAddressImporter.php Rechnungsadressen der Bestandskunden aus dem Legacy-Archiv uebernehmen 2026-07-06 12:19:50 +00:00
LegacyInvoicePdfRenderer.php billing: MAN-Rechnungen fuer Ueberweisungskunden bearbeiten, hold-Altlast bereinigen 2026-09-16 10:56:29 +00:00
LegacySubscriptionService.php Optimierung 3.4: Performance (Logging terminable, Single-Purchase memoisiert) 2026-06-19 11:05:07 +00:00
ManualInvoiceDunningService.php billing: MAN-Rechnungen fuer Ueberweisungskunden bearbeiten, hold-Altlast bereinigen 2026-09-16 10:56:29 +00:00
ManualInvoicePdfRenderer.php billing: tote Null-Pruefungen auf NOT-NULL-Spalten entfernt (phpstan) 2026-09-16 12:34:56 +00:00
ManualInvoiceService.php billing/dev: Vertragsende in der MAN-Abrechnung, Rechnungslauf ohne Tageskappe, Qualitätsgates (Audit Block 5+6, Deploy E) 2026-09-18 10:41:04 +00:00
ProofPdfService.php billing: Nebenläufigkeit & Idempotenz härten (H4, Stripe, Boost-Slots) 2026-07-14 13:47:21 +00:00
StripeCheckoutService.php recht: Meldeverfahren v2 Phasen 5+7 — DSGVO-Strukturformular, 10-€-Checkout mit KI-Vorprüfung, Triage & Panel-Modal 2026-07-23 13:02:57 +00:00
StripePlanSyncService.php Admin-Zahlungsmodul: Zahlungs-Übersicht + Tarif-Verwaltung mit Stripe-Sync 2026-06-12 13:54:53 +00:00
SubscriptionPeriodResolver.php Buchungsseite: Buchungs- und Verlaengerungsdatum des Abos aus Stripe 2026-07-09 15:34:28 +00:00
VatIdValidationService.php performance: Caching, deferred Tracking & externe Timeouts (H7, M12, M13) 2026-07-14 13:49:47 +00:00
VatResolver.php Optimierung 3.5: Kleinere Zentralisierungen (VAT, findByEmail, Waehrung, Provisioning) 2026-06-19 11:14:05 +00:00