presseportale/dev
Kevin Adametz a00f9dc79a billing: MAN-Rechnungen fuer Ueberweisungskunden bearbeiten, hold-Altlast bereinigen
Bestandskunden aus dem Altsystem zahlen per Ueberweisung; nach dem 04:30-Lauf
fehlte bisher der gesamte Bearbeitungsweg (kein PDF, keine Mail, kein
Zahlungseingang, kein Bestandsschutz-Ende). Plan und Befund:
dev/lagacy-rechnungen/entwicklungsplan-2026-09-16.md.

Bereinigung (legacy:settle-unpaid, wiederholbar):
- Legacy-Status hold = nie bezahlt, ersatzlos erledigt. 9 daraus abgeleitete
  Bestandsschutz-Buendel werden gekuendigt, MAN-00001/00002 storniert.
  Archivzeilen bleiben erhalten, sind aber in Admin-Archiv und Kundenkonto
  standardmaessig ausgeblendet.
- pending/reminder (recurring) = offene Vorgaenge: Periode auf den
  Leistungsbeginn der unbezahlten Rechnung zurueckgedreht und als MAN-Rechnung
  neu ausgestellt (Archiv-Status superseded, replaces_legacy_invoice_number).
- pending/reminder (single) = abgeschrieben (uncollectible).
- legacy:grandfather-subscriptions wertet den Zahlungsstatus jetzt selbst aus.

Workflow in /admin/payments (ManualInvoiceDunningService, je Aktion mit
Eintrag im Aktivitaets-Verlauf):
- Rechnung senden: Mail mit PDF-Anhang, Bankverbindung aus billing.issuer,
  Hinweis auf Bestandsschutz-Ende; Zahlungsziel zaehlt ab Versand.
- Erinnerung: gleiche Mail im Mahn-Ton, Nachfrist bei verstrichener Frist.
- Bezahlt: Zahlungseingang laut Kontoauszug verbuchen.
- Bestandsschutz beenden: Rechnung storniert (nie geloescht), Buendel
  gekuendigt, weitere offene MAN-Rechnungen des Kunden storniert, optionale
  Kundenmail.
- Panel "Blockierte Vereinbarungen": faellige Posten ohne Rechnung (meist
  fehlende Rechnungsadresse) mit "Jetzt abrechnen" oder "Entfernen".

Schema: invoices bekommt user_payment_option_id, sent_at, reminded_at,
reminder_count, voided_at, void_reason, replaces_legacy_invoice_number
(inkl. Backfill der bestehenden MAN-Rechnungen). PDF-Primitiven des
Archiv-Renderers in den Trait DrawsPdf ausgelagert; MAN-PDF on-demand ueber
admin.invoices.pdf / me.invoices.manual-pdf (InvoicePolicy).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 10:56:29 +00:00
..
2026-09-01 mail: Kontakterreichbarkeit - Formpruefung, Domainpruefung, Einlieferer-Bericht 2026-09-16 09:22:39 +00:00
archive docs: dev-Doku für den Live-Betrieb neu sortiert — Archiv + Betrieb + Roadmap 2026-07-21 07:52:38 +00:00
betrieb docs: verschobene Doku-Pfade in Code-Kommentaren nachgezogen 2026-07-21 07:53:08 +00:00
lagacy-rechnungen billing: MAN-Rechnungen fuer Ueberweisungskunden bearbeiten, hold-Altlast bereinigen 2026-09-16 10:56:29 +00:00
README.md docs: dev-Doku für den Live-Betrieb neu sortiert — Archiv + Betrieb + Roadmap 2026-07-21 07:52:38 +00:00
roadmap.md docs: R6.5 in der Roadmap abgehakt (Merge nach main + Tag v1.0.0) 2026-07-21 07:58:20 +00:00

dev/ — Projekt- und Betriebsdokumentation

Stand: 20.07.2026 — das System ist live (pressekonto.com, presseecho.de, businessportal24.com). Die Struktur trennt aktive Betriebs-/Planungsdoku von abgeschlossenen Phasen (Archiv).

Aktiv

Pfad Inhalt
betrieb/deploy-runbook.md Deploy- und Betriebs-Runbook (SFTP-Deploy-Checkliste, Worker, Scheduler, Stripe-Webhook, Rollback) — erste Anlaufstelle für alles Operative
betrieb/api-legacy-paritaet.md Verhaltens-Referenz der Legacy-API-Kompatibilitätsschicht (/service/…) — lebendes Dokument, solange Alt-Integrationen (Connektar) die Pfade nutzen
betrieb/umami.md Umami-Analytics-Snippets je Domain
roadmap.md Offene Punkte und nächste Entwicklungen/Optimierungen

Lokal / gitignored (bleiben liegen, nicht committen)

Pfad Inhalt
migration/ Medien-Staging der Legacy-Migration (~7 GB Uploads beider Altportale) — Quelle für legacy:migrate-media; behalten, bis das Alt-System endgültig abgeschaltet und ein Server-Backup gezogen ist
api/ Postman-Collection (enthält API-Keys!) und Activity-Log-Auswertungen der Alt-APIs
archive/migration-2026/sql/ Legacy-DB-Dumps (Snapshots vom 23.04.2026)

Archiv (archive/)

Abgeschlossene Phasen, als Historie/Referenz erhalten:

  • optimize/ — System-Optimierungsphasen 0–6 und das Cutover-Runbook der Legacy-Migration (erledigt 20.07.2026; enthält weiterhin die Anleitung für --since-Delta-Läufe, falls das Alt-System noch einmal Daten liefert)
  • release/ — Release-Entwicklungsplan, manuelle QA-Checkliste, Boost-Platzierungs-Entscheidung
  • migration-2026/ — Analyse- und Planungsdoku der Legacy-Migration (Datenmodell, Merge-Strategie, API-Kunden, Fortschritt)
  • frontend/ + frontend-audits/ — Frontend-Konzepte und die Responsive-/Mobile-Audits vom 16.07.
  • agentur-attribution/, legacy_logging/, legacy_performance/, _old/ — ältere Einzelthemen bzw. Altsystem-Reste