# Steuerberater-Abgleich DATEV (Stand nach Korrekturen)

## Kontext
- Basisdateien:
  - `dev/steuerberater/steuerberater.csv` (Rueckmeldung Steuerberater)
  - `storage/app/datev/2025/08/EXTF_Buchungsstapel_2025_08_20260312100928.csv` (Systemexport August)
- Zusaetzlich geprueft:
  - DB-Daten aus `user_invoices`, `shopping_orders`, `datev_export_lines`
  - Sonderfaelle Homeparty und Sammelrechnungen/API

## Was wurde technisch gefixt
1. Sammelrechnungen/API:
   - Problem: In vielen Faellen wurde nur der Steueranteil exportiert.
   - Ursache: `net_split` fehlte auf `ShoppingOrder` (historisch), DATEV-Bildung hatte dadurch keinen Nettoanteil.
   - Fix: `net_split` wird bei Sammelrechnungen gespeichert; DATEV nutzt historisch `shopping_collect_order.net_split` als Fallback.

2. Homeparty:
   - Problem: Exportbetrag wich deutlich vom Rechnungstotal ab.
   - Ursache: Homeparty-Splits wurden aus `vk_*` gelesen, Rechnungssicht basiert aber auf `ek_*`.
   - Fix: DATEV nutzt fuer diese Arrays `ek_tax` und `ek_net`.

## Ergebnis nach Korrektur (Smoke-Test)
- Beispielbelege jetzt korrekt zum Rechnungstotal:
  - `202536737` -> `634,88`
  - `202536738` -> `806,14`
  - `202537289` -> `228,86`
  - `202537883` -> `426,63`
  - `202537907` -> `609,87`

## Einordnung der offenen Punkte
1. Logik 8125 vs. 8400:
   - Kein pauschaler Exportfehler.
   - Ohne verifizierte USt-ID bleibt `8400` plausibel.
   - Mit verifizierter USt-ID/Reverse-Charge folgt Export der Rechnung und bucht auf `8125`.

2. Storno-Hinweise:
   - Fuer August fachlich kein DATEV-Storno ableitbar.
   - Grund: Zu diesem Zeitpunkt waren im System noch keine echten Stornorechnungen aktiv; teils nur Liefer-/Bestellstorno oder Rechnungsvermerk.

3. Fehlende Rechnungen:
   - Viele Rueckmeldebelege liegen in der DB in `09/2025` und fehlen deshalb korrekt im August-Export.
   - Drei Rechnungsnummern wurden unter der angegebenen `full_number` nicht gefunden:
     - `202506145`
     - `202506147`
     - `202538333`

4. USt-ID Folgeticket (offen):
   - Aktuell: Validierung beim Eintragen.
   - Soll: Bei jeder Bestellung neu pruefen; wenn ungueltig, Hinweis + USt-Berechnung.

5. Doppelzahlungen/Payone (offen):
   - DATEV-Export allein reicht nicht als Nachweis.
   - Erforderlich: Abgleich `payment_transactions` (`txid`, `reference`) plus PAYONE Portal/API.

## CSV fuer Steuerberater
- Strukturierte Fassung liegt in:
  - `dev/steuerberater/steuerberater-abgleich-status.csv`

