4.5 KiB
4.5 KiB
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:
-
DATEV EXTF-Buchungsstapel-Export (
DatevExportService)- Rechnungen, Gutschriften/Provisionen, Stornos
- EXTF-Header + 116-Spalten CSV gemäß DATEV Developer Portal
- Periodenauswahl (Monat/Jahr)
-
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)
-
Fachliche Regel: EU-Steuerbefreiung nur mit USt-ID
- Nur registrierte Berater (
auth_user) mit hinterlegtertax_identification_numbererhalten BU 1 - Gäste und Berater ohne USt-ID → reguläre Inlandsbesteuerung (19%/7%)
- USt-ID wird über
ShoppingOrder → auth_user → account → tax_identification_numberermittelt
- Nur registrierte Berater (
-
Provisions-Steuerschlüssel
- 4760 Verkaufsprovision (Shop + Wachstumsbonus)
- 4764 Payline-Provision
- Normal (BU 9), Kleinunternehmer (BU 50), Reverse Charge (BU 94)
-
Gegenkonto-Mapping
- PayPal → 1230
- Sonstige → Sammeldebitor (konfigurierbar)
- Provisionen → Sammelkreditor
-
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
-
DataTable mit Suchfunktion
- Durchsuchbar nach Rechnungsnummer, Buchungstext, Konto, USt-ID, etc.
- Server-seitige Verarbeitung via Yajra DataTables
-
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– Kernlogikapp/Http/Controllers/PaymentTaxAdvisorController.php– Controllerresources/views/admin/payment/taxadvisor.blade.php– Viewconfig/datev.php– Konfigurationtests/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:
$unassigned = UserSalesVolume::where('status', 0)
->with('user', 'order')
->orderBy('created_at', 'desc')
->get();
Umsetzung:
- Dashboard-Alert: Anzahl nicht zugeordneter Einträge anzeigen
- Admin-Seite: Liste aller nicht zugeordneten Einträge
- 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: