📍Skutr Docs — Tag 12. Multi-Organisationen

Gestern: rechtliche Genauigkeit der Prompts und mobile Anpassung. Heute: Der Freelancer ist nicht mehr an eine einzelne juristische Person gebunden.


🏢 Organisationen als separate Entität

Früher wurden die Details im Benutzerprofil gespeichert. Eine INN, ein Name, ein Bankkonto. Aber ein Freelancer kann als selbstständiger Ivanov I.I. für kleine Aufträge und als Einzelunternehmer Ivanov für große arbeiten. Oder er schließt sein Einzelunternehmen und wechselt zur Selbstständigkeit – aber alte Dokumente müssen mit den vorherigen Details erhalten bleiben.

Ich habe Organisationen in eine separate Tabelle ausgelagert. 12 Felder, 1:N-Beziehung zum Benutzer, Flag „Standard“. Die Migration hat vorhandene Daten aus dem Profil automatisch in die erste Organisation übertragen – kein Benutzer hat etwas verloren.

CRUD-API, Verwaltungsseite im Konto, Auswahl der Organisation in allen vier Dokumentenformularen. Bot: „Meine Details“ wurden zu „Meine Organisationen“ – Liste mit ⭐️ für die primäre, Hinzufügen neuer, Wechsel zwischen ihnen.



🔀 Auswahl der Organisation bei der Dokumenterstellung

Wenn es nur eine Organisation gibt, funktioniert alles wie zuvor, der Benutzer merkt nichts. Bei zwei oder mehr erscheint vor der Erstellung einer Rechnung, eines Akts, eines Angebots oder eines Vertrags der Schritt „Wählen Sie die ausführende Organisation“ mit Inline-Buttons.
Die ausgewählte Organisation wird an den Generator übergeben und im Dokument gespeichert.

Architektonisch: _maybe_choose_org() – ein gemeinsamer Helfer für alle vier FSMs. Ein Muster, vier Aufrufstellen, null Duplikate.



✏️ Bearbeitung aller Dokumente im Konto

Rechnungen und Akte konnten nach der Erstellung bearbeitet werden. Angebote und Verträge nur bei der Erstellung im Vorschaumodal. Nach dem Speichern – schreibgeschützt. Warum? Weil canEdit nur invoice und act prüfte.

Ich habe die vollständige Bearbeitungslogik aus dem Modal auf die Dokumentseite verlagert. Angebot: Titel, Einleitung, Abschnitte mit Punkten, positionsweise Kosten mit automatischer Berechnung, Gültigkeitsdauer, nächste Schritte. Vertrag: Präambel, Abschnitte mit Paragraphen (Hinzufügen/Löschen), Betrag. Jetzt kann ein Dokument, das um 2 Uhr morgens per Sprache im Bot erstellt wurde, am Morgen im Konto bequem bearbeitet werden.



🧹 Drei Kleinigkeiten, die nervten

Badges ohne Beschriftung. Dokumente aus dem Bot über „Schnelldokumente“ wurden mit source="quick" erstellt. Das Frontend kannte nur "bot" und "web". 27 Dokumente hingen ohne Kennzeichnung. Habe auf "bot" geändert und bestehende mit einem einzigen UPDATE aktualisiert.

Zurück-Navigation. Du gehst in den Bereich „Rechnungen“, öffnest eine bestimmte Rechnung, klickst auf „Zu den Dokumenten“ – landest in „Alle“. Jetzt heißt der Button „Zu den Rechnungen“ und kehrt zum Rechnungsbereich zurück. Query-Parameter ?tab=invoice – einfach und zuverlässig.

Suche im Bot. Button „🔍 Dokument suchen“ in „Meine Dokumente“. Dabei sind die Dokumente bereits in Bereiche unterteilt, und im Konto gibt es eine vollwertige Suche mit Filtern. Entfernt. Weniger Buttons – weniger kognitive Belastung.



💡 Erkenntnis des Tages

Multi-Organisationen sind kein Feature für Konzerne. Es ist die Realität der Freiberuflichkeit. Ein Selbstständiger eröffnet ein Einzelunternehmen – und braucht beide Datensätze. Ein Designer arbeitet als Privatperson für russische Kunden und als Einzelunternehmer für ausländische. Wenn ein Produkt eine Person an eine juristische Person bindet, versteht es sein Publikum nicht.



🎯 Zusammenfassung des Tages: Organization-Modell mit CRUD-API und Migration, Auswahl der Organisation im Bot bei 2+ Org, vollständige Bearbeitung von Angeboten und Verträgen im Konto, Fix der source-Badges, Navigation nach Tabs, UI-Bereinigung.



#buildinpublic #skutrdocs #AI #Freelance #Selbstständige #Startup #SaaS #Produkt #UX