# Portal-Update auf 364k-Modell — STATUS

> Stand 2026-06-15 (abends). aws Fördermanager, Antrag 422d2ecf. Dateien (Excel, Businessplan docx+md, Kostenplan) sind alle 364k.

## ✅ Schritt 4 — Kosten: ERLEDIGT & nach Reload serverseitig verifiziert
Die 6 Positionen stehen korrekt (Σ **364.000**):
| Kategorie | Beschreibung | Betrag |
|---|---|---|
| Interne Personalkosten | GF Nemanja (Hardware-/Technik-Anteil) | 60.000 |
| Interne Personalkosten | GF Katharina (kaufm./Marketing-Leitung, ab 02/2027) | 120.000 |
| Interne Personalkosten | Embedded/Hardware-Engineer (angestellt) | 90.000 |
| Sachkosten | Material/Komponenten/Prototypenbau | 65.000 |
| Sonstige | Reisekosten (China-Sourcing, Messen) | 19.000 |
| Sonstige | Schutzrechte/IP (Wortmarke + FTO) | 10.000 |

⚠️ **Gelernt (wichtig für nächstes Mal): aws-Kategorie-Dropdown-Bug.** Das Kostenpositions-Dropdown (`ng-options="obj.Value as obj.Label"`, Codes Personal=3/Sach=22/Sonstige=23) lässt sich unter Automation NICHT zuverlässig umstellen, wenn die Start-Kategorie „out-of-list" ist → AngularJS „unknown option" verschiebt die Indizes, Save schreibt falschen Code (Maschinell/Baulich). **Lösung, die funktioniert:** Position mit gültiger Start-Kategorie → Dialog-Edit per Options-LABEL (nicht Index) klappt; bei korrupter/falscher Kategorie → Zeile LÖSCHEN (Trash → uib-Confirm „Ja") + im **frischen Add-Dialog** (clean, kein unknown-option) neu anlegen. Betrag/Beschreibung gehen immer über den ngModel-Controller `$setViewValue`. Persistenz IMMER per Reload prüfen (Live-Anzeige ≠ gespeichert).

## ✅ Schritt 4 — Finanzierung: ERLEDIGT
- aws Zuschuss 300.000 ✓ · Eigenmittel (bar) **64.000** ✓ → **Σ Finanzierung 364.000, Differenz 0,00** ✓

## ✅ Schritt 4 als ABGESCHLOSSEN markiert → Fortschritt 88 %
⚠️ **Lektion (wichtig): Zeilen-Saves (Übernehmen/Ok) speichern nur die DATEN, NICHT den Schritt-Status.** Der `Completed`-Flag eines Schritts (und damit der Gesamt-Fortschritt) wird erst gesetzt, wenn das Schritt-Formular „dirty" ist UND man **„Speichern & Weiter"** klickt (Server-Validierung). Ein Reload setzt den Dirty-Zustand zurück → der Schritt bleibt „unvollständig", obwohl alle Daten korrekt gespeichert sind. Beim Umbau war Step 4 dadurch auf `Completed=false` (Fortschritt 63 %); behoben durch: eine Position re-übernehmen (dirty) → „Speichern & Weiter" → `Completed=true`, **Fortschritt zurück auf 88 %**. Ground-Truth-Check via Angular-Scope: Step-Objekt `Value===100000002`, Feld `Completed`.
- Step-Status jetzt: alle ✅ AUSSER „Allgemeine Bedingungen" (Schritt 8) = `false` — das sind die **rechtlichen Häkchen, die Nemanja vor dem Absenden setzt** (war auch bei den ursprünglichen 88 % offen). Das ist die fehlende 12 %.

## ✅ Schritt 6 — unverändert: Gender-Bonus = Ja, Beantragte Förderung 300.000 ✓

## ✅ Schritt 7 — Anhänge: Re-Upload ERLEDIGT (2026-06-15 spät)
Finale 8 Anhänge, je Slot genau die aktuelle Datei, keine Duplikate: CV Nemanja+Katharina, Ausweis V/R, 2 Kontoauszüge, **AWS_Businessplan_Plappi_v3.docx** (überarbeitet+6-fach reviewt), **aws_Integralplanung_Plappi.xlsx** (Gantt/Meilensteine/VZÄ gefüllt). Alte v2-Businessplan + „(1)"-Integralplanung entfernt.
- Upload-Mechanik (gelernt): pro Slot „Datei(en) auswählen" → `pg.expect_file_chooser()` + `set_files()`. Löschen: × (`DeleteDocument(file.Id…)`) → Confirm „**Dokument löschen / Sind Sie sicher**" (NICHT „Löschen bestätigen") → „Ja". Re-Upload setzt den Anhänge-Completed-Flag NICHT zurück (anders als Step 4).
- ⚠️ **SLOT-TARGETING-FALLE (teuer gelernt):** Ancestor-Text-Walk taugt NICHT zum Slot-Mapping — die Slots teilen sich Container, dadurch landen Uploads im FALSCHEN Slot (Businessplan + Integralplanung waren versehentlich im Lebenslauf-Slot, Europass-CV beim Lösch-Pfusch entfernt). VERLÄSSLICH: (a) Upload → den „Datei(en) auswählen"-Button per **Y-Koordinate** wählen (nächste Slot-Überschrift darüber; Überschriften-Match mit Längenlimit <160, sonst werden lange Titel verfehlt). (b) Löschen → vom **Dateinamen-Leaf** zur `.row` runter (genau 1 Datei + 1 ×), NICHT von × nach oben. Nach jedem Upload Slot per Reload-Geometrie verifizieren. Endstand verifiziert: Businessplan→Detaillierte Projektbeschreibung, Integralplanung→Integrale Planung, CVs→Lebenslauf, Ausweis→Identität, Kontoauszüge→optionale.
- Fortschritt nach Upload: **88 %** (unverändert), Anhänge = Completed ✓.

## ⚠️ Vor dem Absenden (Nemanja / Steuerberater / aws-Erstgespräch)
- Gehaltshöhen (Katharina 120k aggressiv → Angemessenheit) + Zeit-Split FFG↔aws bestätigen.
- 64k Eigenmittel als Cash der Gesellschafter aufs Plappi-Projektkonto (vor Auszahlung).
- Schritt 8 (rechtliche Häkchen) + Schritt 9 (Absenden) = Nemanja.
