============================================================
ERGO Vorgang-Analyse - Excel-Tool (v2.13)
============================================================

NEU IN v2.13 - PARALLEL-MODUS:

  Neue Routine 'Vorgaenge_Analysieren_Parallel' fuehrt bis zu
  6 ErgoGPT-Antwort-Calls gleichzeitig in der Pipeline aus.

  Wie es funktioniert:
    - Pro Vorgang bleibt: 1 Mail -> 1 Antwort vom Modell
    - Aber waehrend Antwort 1 noch laeuft, wird Mail 2 vorbereitet
      (Outlook oeffnen, Conversation anlegen, PDFs hochladen) und
      deren Antwort-Call parallel gestartet
    - Default 3 Calls gleichzeitig (einstellbar 1-6)

  Speedup:
    -  N=2 -> ca. 1.5x schneller
    -  N=3 -> ca. 2.5x schneller (Default, empfohlen)
    -  N=4 -> ca. 3x schneller (gelegentliche 403/429 moeglich)
    -  N>=5 -> nur bei stabilen Tagen, viele Fehler bei zu hoher Last

  Bei 30 Vorgaengen: ~10 min seriell -> ~3-4 min parallel mit N=3.

  Wichtig:
    - Vorbereitungs-Phase (Outlook + Conv + PDF-Upload) bleibt
      sequentiell (Outlook ist COM, nicht thread-safe). Nur der
      langsame Antwort-Call (typisch 15-25s) laeuft parallel.
    - Inter-Call-Pause von 1.2s (Serial-Modus, gegen Rate-Limit)
      entfaellt im Parallel-Modus. Stattdessen Default N=3 als
      konservativer Wert.
    - Bei MODELL- oder AUTH-Fehler: Abbruch wie im Serial-Modus.
    - Bei Hard-Hanger (kein Slot reagiert in 240s): Abort + Fehler-
      Eintrag.

============================================================

NEU IN v2.0:
  - Tool scannt direkt einen ORDNER mit .msg-Dateien (statt
    aus dem Excel-Sheet "Emails" zu lesen).
  - Anhaenge werden automatisch extrahiert und PDFs an ErgoGPT
    HOCHGELADEN -> GPT analysiert auch den PDF-Inhalt.
  - Maklervollmacht-Pruefung: GPT pruef bei Vollmacht-PDFs die
    Pflichtfelder (Kundenname, Geburtsdatum, Anschrift, Datum,
    Unterschrift, Maklerangaben).
  - Anzahl-Limit beim Start waehlbar (z.B. 10 zum Testen).
  - Cookie kann direkt im Sheet 'GPT' (Zelle A7) eingetragen ODER
    im Setup-Dialog eingegeben werden -> wird automatisch in die
    Cookie-Datei gespiegelt.

============================================================

WORKFLOW:

  1) Diese .xlsm in den Ordner legen, in dem die .msg-Dateien
     liegen (z.B. Output von Mails_Speichern als MSG).

  2) Vorgaenge_Setup einmal ausfuehren:
        - Sheets 'GPT' (mit Default gpt-5.1, Temp 0)
        - Sheet 'Anleitung' (Step-by-Step in Excel)
        - Sheet 'Analyse' (Output-Tabelle)
        - Cookie-Dialog (vorhandene Datei nutzen ODER neu eingeben)

  3) Vorgaenge_Analysieren ausfuehren:
        a) Cookie-Dialog
        b) Ordner-Auswahl (Default: dieser Workbook-Pfad)
        c) Anzahl-Eingabe (leer/0 = alle, sonst Limit z.B. 10)
        d) Bestaetigung mit geschaetzter Laufzeit
        e) Pro .msg-Datei:
             - Outlook oeffnet das MSG
             - Anhaenge extrahieren -> max. 3 PDFs (<20 MB) hochladen
             - Email + PDFs an ErgoGPT
             - JSON-Antwort -> in Sheet 'Analyse' als Zeile

============================================================

VORAUSSETZUNGEN:

  1) Modul mit Funktion ASK_ErgoGPT(prompt, pdfs) muss in der Mappe
     bereits importiert sein. Den Code findest du im Repo unter
     'Test.txt' - es muss die VOLLE Variante mit PDF-Upload sein
     (UploadManyPdfsReturnJsonArray etc.).

  2) Outlook ist installiert (zum Oeffnen der .msg-Dateien via
     Session.OpenSharedItem).

  3) Cookie fuer gpt.ergo.com - 4 Quellen werden unterstuetzt:
       Variante A: Sheet 'GPT' Zelle A7 = Cookie-Text-String
       Variante B: Sheet 'GPT' Zelle A8 = Pfad zu einer Cookie-Datei
                   (z.B. C:\Users\me\Desktop\cookie.txt)
       Variante C: Default-Pfad F:\ExcelGPT-Cookie\Cookie.txt
       Variante D: Cookie-Dialog beim Start ->
                     - JA  = Cookie-Datei waehlen (Browse-Dialog)
                     - NEIN = Cookie als Text einfuegen
                   Egal welche Quelle: Cookie wird IMMER nach
                   F:\ExcelGPT-Cookie\Cookie.txt gespiegelt
                   (wo ASK_ErgoGPT ihn liest).

  4) Sheet 'GPT' Konfig (wird von Vorgaenge_Setup angelegt):
        A6  = Modell-Name        (Default: 'gpt-5.1')
        A7  = Cookie als Text    (optional)
        A8  = Cookie-Datei-Pfad  (optional - leer = Default)
        A9  = Temperature        (Default: 0)
        A12 = Tone               (z.B. 'Sachlich')

============================================================

OUTPUT-SPALTEN im Sheet 'Analyse':

  A  Datei                       Dateiname der MSG
  B  Datum                       Empfangsdatum (DE-Format)
  C  Absender_Name
  D  Absender_Email
  E  Betreff
  F  Anhang_Namen                alle Anhang-Dateinamen
  G  Maklerpool                  Fonds Finanz / BCA / JDC / ...
  H  Makler_Nachname
  I  Makler_Vorname
  J  Klassifikation              Standardvorgang / Nicht-Standard
  K  Geschaefts_Typ              BUe einfacher Vertrag /
                                 BUe Kundenverbindung /
                                 Keine BUe
  L  Unterlagen_Angefragt        ja / nein
  M  Sonderfall                  Flottengeschaeft / Sondertarif /
                                 Kein Sonderfall
  N  Sparte                      Komposit / Leben / KV / Mehrere /
                                 Unbekannt
  O  Anhang_Typen                Maklervollmacht, Police, Antrag, ...
  P  Maklervollmacht_Enthalten   ja / nein
  Q  Vollmacht_Vollstaendig      ja / nein / teilweise / nicht_pruefbar
  R  Vollmacht_Fehlt             Liste fehlender Felder
  S  Hinweis                     1-Satz-Hinweis von GPT

  Hervorhebungen:
    - "Nicht-Standard"          -> hellgelb (Spalte J)
    - "Flottengeschaeft" /
      "Sondertarif"             -> hellrot  (Spalte M)
    - Vollmacht "teilweise"/"nein" -> hellrot (Spalte Q)
    - Vollmacht "ja"            -> hellgruen (Spalte Q)
    - Fehler bei einer Datei    -> hellrot (Spalte S, mit [FEHLER]-Praefix)

============================================================

MAKLERVOLLMACHT-PFLICHTFELDER:

  GPT prueft pro PDF (das als Vollmacht erkannt wird):
    a) Vollstaendiger Kundenname (Vor- und Nachname)
    b) Geburtsdatum des Kunden
    c) Anschrift des Kunden
    d) Datum der Vollmacht
    e) Eigenhaendige Unterschrift des Kunden (sichtbar)
    f) Maklerangaben (Name + Firma + Vermittlernummer/BD-Nummer)

  Fehlende Felder werden in Spalte R kommagetrennt aufgelistet,
  z.B. "Geburtsdatum, Unterschrift Kunde".

============================================================

LIMITS / HINWEISE:

  - Pro Vorgang werden max. 3 PDFs hochgeladen (=  Token-Budget).
  - PDFs > 20 MB werden uebersprungen.
  - Body wird auf 6.000 Zeichen gekappt (lange Auto-Replies abschneiden).
  - Auto-Save alle 3 verarbeiteten Vorgaenge.
  - Fehler bei einzelnen Dateien -> Zeile bekommt [FEHLER]-Hinweis,
    Tool laeuft weiter.
  - Nur .msg-Dateien werden verarbeitet (.eml NICHT, da Anhang-
    Extraktion aus EML ohne Outlook-MAPI nicht zuverlaessig).

============================================================

PROMPT ANPASSEN:

  Im VBA-Editor (Alt+F11) -> Modul ErgoVorgangAnalyse ->
  Private Function BuildVorgangPrompt(...). Dort koennen Werte-
  listen, Maklerpool-Liste und die Maklervollmacht-Pflichtfelder
  direkt editiert werden.

============================================================

DATENSCHUTZ:

  Das Tool laedt Email-Inhalte UND PDFs an ErgoGPT
  (gpt.ergo.com) hoch. Das ist ok, weil ErgoGPT als interner
  Dienst der ERGO freigegeben ist.

============================================================
