### Die drei offenen Tickets aus dev/22-01-2026/next-steps.md ### [✓] 13. Steuerberater-Modul (DATEV-Export) **Priorität:** Hoch **Status:** Umgesetzt (Phase 1) **Umgesetzte Features:** 1. **DATEV EXTF-Buchungsstapel-Export** (`DatevExportService`) - Rechnungen, Gutschriften/Provisionen, Stornos - EXTF-Header + 116-Spalten CSV gemäß DATEV Developer Portal - Periodenauswahl (Monat/Jahr) 2. **Erlöskonto-Mapping nach Steuerberater-Vorgabe** - 8400 Erlöse 19% (BU 9) – Inland - 8300 Erlöse 7% (BU 8) – Inland reduziert - 8125 IG-Lieferung steuerfrei §4 Nr. 1b (BU 1) – **nur bei EU + gültiger USt-ID** - 8120 Drittland steuerfrei §4 Nr. 1a (BU 11) 3. **Fachliche Regel: EU-Steuerbefreiung nur mit USt-ID** - Nur registrierte Berater (`auth_user`) mit hinterlegter `tax_identification_number` erhalten BU 1 - Gäste und Berater ohne USt-ID → reguläre Inlandsbesteuerung (19%/7%) - USt-ID wird über `ShoppingOrder → auth_user → account → tax_identification_number` ermittelt 4. **Provisions-Steuerschlüssel** - 4760 Verkaufsprovision (Shop + Wachstumsbonus) - 4764 Payline-Provision - Normal (BU 9), Kleinunternehmer (BU 50), Reverse Charge (BU 94) 5. **Gegenkonto-Mapping** - PayPal → 1230 - Sonstige → Sammeldebitor (konfigurierbar) - Provisionen → Sammelkreditor 6. **Validierung mit klickbaren Warnungen** - Strukturierte Warnungen/Fehler mit Metadaten (source_id, order_id, user_id) - Links zur Rechnung (Rechnungssuche) und zum Berater (Detailseite) - Prüfungen: Belegdatum, Belegnummer, BU-Schlüssel, EU ohne USt-ID, Reverse Charge ohne USt-ID 7. **DataTable mit Suchfunktion** - Durchsuchbar nach Rechnungsnummer, Buchungstext, Konto, USt-ID, etc. - Server-seitige Verarbeitung via Yajra DataTables 8. **Admin-UI** (Route: `admin_payments_taxadvisor`) - Vorschau laden → Zusammenfassung + Validierung - Export generieren → CSV + DB-Protokoll - Download, Lock, Löschen **Geänderte Dateien:** - `app/Services/DatevExportService.php` – Kernlogik - `app/Http/Controllers/PaymentTaxAdvisorController.php` – Controller - `resources/views/admin/payment/taxadvisor.blade.php` – View - `config/datev.php` – Konfiguration - `tests/Unit/Services/DatevExportServiceTest.php` – 35 Tests **Offene Punkte (Phase 2):** - Debitoren/Kreditoren-Stammdaten (wenn Steuerberater OP-Listen braucht) - Payone-Debitor-Mapping (detaillierter als Sammeldebitor) - Automatischer Periodenabschluss / Sperr-Workflow --- ### [!] 10. Nicht zugeordnete Zahlungen/Punkte **Priorität:** Hoch **Bereich:** Payment / Admin **Problem:** Zahlungen ohne Zuordnung → Punkte verschwinden, keine Provision. **Anforderung:** - Admin-Hinweis bei nicht zugeordneten Zahlungen - Manuelle Zuordnungsmöglichkeit **Technische Details:** | Parameter | Wert | |-----------|------| | Tabelle | `user_sales_volumes` | | Status-Feld | `status = 0` (not_assigned) | | Admin-View | Dashboard oder separate Sektion | **Query für nicht zugeordnete Einträge:** ```php $unassigned = UserSalesVolume::where('status', 0) ->with('user', 'order') ->orderBy('created_at', 'desc') ->get(); ``` **Umsetzung:** 1. **Dashboard-Alert:** Anzahl nicht zugeordneter Einträge anzeigen 2. **Admin-Seite:** Liste aller nicht zugeordneten Einträge 3. **Zuordnungs-Modal:** - User auswählen (Dropdown/Suche) - Status aktualisieren (1 = advisor_order, 2 = shoporder) - Punkte werden bei nächster Berechnung berücksichtigt --- ### [ ] 11. Monatsstatistik Erweiterungen **Priorität:** Mittel **Bereich:** Dashboard / Team **Probleme:** - Teamumsatz wird seit Januar nicht angezeigt - Neupartner/Abos nicht klickbar (keine Detailansicht) **Anforderungen:** | Feature | Beschreibung | |---------|--------------| | Teamumsatz | Bug fixen - wird nicht angezeigt | | Neupartner Details | Klick → Liste mit Name, E-Mail, Telefon, Generation, Mentor | | Team-Abos Details | Klick → Liste mit Abo-Details | | 1000-Punkte-Shops | Neue Kennzahl: Teampartner mit ≥1000 Punkte persönlichem Volumen | | Aktuelle Provision | In Monatsstatistik anzeigen | | Downline-Kontakte | Telefon, E-Mail, Adresse der eigenen Downline abrufbar (nicht nur VIPs) | **Technische Details:** | Parameter | Wert | |-----------|------| | Service | `App\Services\LevelReportService` | | Controller | `App\Http\Controllers\User\TeamController` | | View | `resources/views/user/team/marketingplan.blade.php` | | Daten | `user_business` Tabelle | **1000-Punkte Query:**