mivita/dev/2026-02-06/next-steps.md
2026-02-20 17:55:06 +01:00

4.5 KiB
Raw Blame History

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:

$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: