Portal-Zugänge

Überblick
Portal-Zugänge sind die Konten Ihrer Kunden im Kundenportal — nicht die Ihrer Belegschaft. Die beiden Welten sind getrennt: eigene Anmeldung, eigenes Layout, eigene Rechte. Für Mitarbeiter gibt es Benutzer.
Diese Trennung ist bewusst und keine Verdopplung. Ein Portal-Konto kann konstruktionsbedingt nicht in die interne Anwendung gelangen — auch nicht durch eine falsch gesetzte Berechtigung.
Kernaufgaben
Einladen. Einladen erzeugt eine Einladung an einen Kontakt. Ein Kontakt allein hat noch keinen Zugang; erst die Einladung schafft ihn. Solange sie nicht eingelöst ist, steht der Zugang auf Eingeladen.
Rechte vergeben. Der Zugang wird nicht pauschal erteilt, sondern je Gegenstand. Möglich sind Rechte auf einen Kunden, ein Projekt oder einen Vertrag, jeweils mit einzeln wählbaren Fähigkeiten — etwa Projekte ansehen. So sieht eine eingeladene Person genau den Ausschnitt, für den sie eingeladen wurde, und nicht den ganzen Kunden.
Rechtevorlagen nutzen. Oben auf der Seite pflegen Sie Rechtevorlagen — feste Rechte-Sätze je Kundentyp, etwa „Kaufmännischer Kontakt" (Angebote freigeben, Rechnungen ansehen, Verträge unterschreiben) oder „Technischer Kontakt" (Projekte, Tickets, Abnahmen, Dateien). Beim Einladen und beim Rechte-Vergeben wählen Sie eine Vorlage; sie füllt die Rechte vor, danach können Sie einzelne Rechte noch an- oder abwählen. Eine Vorlage zu ändern oder zu löschen wirkt nicht auf schon vergebene Rechte — jede Zeile bleibt, wie sie vergeben wurde.
Ab Werk sind die beiden Vorlagen „Kaufmännischer Kontakt" (Angebote freigeben, Dateien herunterladen, Verträge unterschreiben, Rechnungen und eigene Konditionen ansehen) und „Technischer Kontakt" (Projekte ansehen, Tickets ansehen und anlegen, Abnahmen bestätigen, Dateien hoch- und herunterladen) da; sie tragen das Kennzeichen Standard und gelten in allen Marken. Name, Beschreibung und Rechte passen Sie frei an — Updates überschreiben Ihre Fassung nicht. Löschen Sie eine Standardvorlage, bleibt sie gelöscht; auch spätere Updates legen sie nicht wieder an.
Konzern-Kunden freischalten. Gehört der Kunde eines Zugangs zu einem Konzern (Firmenhierarchie am Kunden), kann derselbe Zugang weitere Kunden dieses Konzerns sehen — aber nur die, die Sie ausdrücklich freischalten. Dazu öffnen Sie Rechte vergeben, lassen den Bereich auf Kunde und wählen im Feld Kunde die Tochter oder Schwester. Die Rechte gelten nur für diesen Kunden: wer bei der Mutter Angebote freigeben darf, darf das bei der Tochter erst, wenn Sie es dort ebenfalls vergeben. Im Portal wählt die Person oben rechts, für welchen Kunden sie gerade arbeitet. Wer im Konzern-Kunden Angebote freigeben darf, bekommt beim Angebotsversand an seine Adresse auch den Freigabe-Link, der das Portal gleich in diesem Kunden öffnet. Schreibaktionen (Freigaben, Uploads, Antworten, Einstellungen) und Downloads im Konzern-Kunden hält das Portal-Protokoll fest — mit Kunde, Aktion und Ergebnis —, reine Seitenabrufe nicht. Wird die Konzern-Verknüpfung am Kunden gelöst, endet der Zugang zu diesem Kunden sofort.
Den Bestand überblicken. Die Liste zeigt E-Mail, Name, zugehörigen Kunden, Status, letzten Login und eine Zusammenfassung der Rechte; befristete Rechte tragen ihr Ablaufdatum („… · bis 04.11.2026“). Die drei Status sind Eingeladen, Aktiv und Gesperrt. Wer über Einladen eingeladen wurde, erscheint erst nach dem Einlösen der Einladung; aus einem Alt-System übernommene Zugänge stehen schon vorher als Eingeladen da.
Einladungen verschicken. Zugänge aus einem Alt-System (siehe Daten-Import) stehen auf Eingeladen, ohne dass jemand eine Mail bekommen hat. Einladungen verschicken schickt allen eingeladenen Zugängen Ihrer Marken eine Einladung (7 Tage gültig) — erst nach Rückfrage. Zugänge mit noch gültiger Einladung werden übersprungen, aktive und gesperrte nie angeschrieben. Einen einzelnen Zugang laden Sie über das Papierflieger-Symbol in seiner Zeile ein. Je Lauf gehen höchstens 200 Einladungen hinaus; die Rückmeldung nennt, wie viele noch offen sind.
Offene Einladungen im Blick. Der Abschnitt Offene Einladungen zeigt jede Einladung, die verschickt, aber noch nicht eingelöst ist — mit Kunde und Gültigkeit; abgelaufene tragen das Kennzeichen abgelaufen. Erneut senden schickt eine neue Einladung mit denselben Rechten (wieder 7 Tage gültig); die bisherige wird dabei ungültig, es gibt also immer genau einen gültigen Link. Zurückziehen macht den Link nach einer Rückfrage ungültig — etwa wenn sich die Adresse als falsch herausstellt. Sie sehen und bedienen nur Einladungen der Marken, in denen Sie einladen dürfen.
Sperren. Ein Zugang lässt sich sperren, ohne ihn zu entfernen — der richtige Weg, wenn eine Ansprechperson wechselt und die Historie erhalten bleiben soll.
Felder im Detail
Vier Aktionen: die Einladung, die Rechte-Vergabe, der Status-Schalter und Einladungen verschicken. Ein Portal-Konto selbst hat auf dieser Seite kein Bearbeiten-Formular — es entsteht durch die Einladung und wird über Rechte und Status gesteuert.
Einladen
| Feld | Pflicht | Werte / Format | Was es bewirkt |
|---|---|---|---|
E-Mail email | ja | E-Mail-Adresse | Die Anmeldeadresse des Portal-Zugangs. An sie geht die Einladung, und sie ist später der Anmeldename. |
Kunde customerId | ja | bestehender Kunde | Zu wem der Zugang gehört — und damit, was er überhaupt sehen kann. Ein Portal-Nutzer sieht ausschließlich Vorgänge dieses Kunden. |
Kontakt contactId | nein | Kontakt des gewählten Kunden | Welche Person hinter dem Zugang steht. Die Auswahl wird auf die Kontakte des gewählten Kunden eingeschränkt; ohne Kunde ist sie leer. |
Marke brandId | nein | eine Ihrer Marken | Auf welche Marke die Einladung läuft. Leer heißt: sie folgt der Marke des Kunden. Markenlos bleibt sie nur bei einem markenlosen Kunden — und nur, wenn Sie markenübergreifend berechtigt sind. |
Rechtevorlage accessTemplateUlid | nein | eine Rechtevorlage der Marke oder eine markenlose | Füllt die Vorab-Rechte mit den Rechten der Vorlage. In der Maske ist die Vorlage eine Vorbelegung, die Sie danach ändern können; über die API ergänzen ihre Rechte die mitgeschickten. Eine Vorlage einer anderen Marke wird abgewiesen. |
Vorab-Rechte intendedAccess | nein | Liste von Fähigkeiten | Rechte, die der Zugang schon mit der Einladung bekommt. Die Maske legt sie als eine Zeile auf Kunden-Ebene an; erweitern lässt sich das später jederzeit über Rechte vergeben. |
Rechte vergeben
Der Zugang wird nicht pauschal erteilt, sondern je Gegenstand. Eine Zeile besteht aus Bereich, Zuordnung und Fähigkeiten.
| Feld | Pflicht | Werte / Format | Was es bewirkt |
|---|---|---|---|
Bereich scopeType | ja | customer (Kunde) · project (Projekt) · contract (Vertrag) | Worauf sich die Zeile bezieht. Projekt und Vertrag stehen nur zur Wahl, wenn das jeweilige Modul aktiv ist. |
Zuordnung scopeId | bedingt | Projekt bzw. Vertrag des Kunden; bei customer ein Kunde desselben Konzerns | Welches Projekt, welcher Vertrag. Bei customer bleibt das Feld leer — dann gilt die Zeile für den ganzen eigenen Kunden. Wählen Sie im Feld Kunde einen anderen Kunden desselben Konzerns, schaltet die Zeile genau diesen Kunden frei, mit genau diesen Rechten. Ein Kunde außerhalb des Konzerns wird abgewiesen. Bei project und contract verlangt die Maske eine Auswahl. |
Rechtevorlage accessTemplateUlid | nein | eine Rechtevorlage der Marke des Zugangs oder eine markenlose | Füllt die Rechte mit denen der Vorlage vor. Über die API ergänzen ihre Rechte die mitgeschickten. Spätere Änderungen an der Vorlage ändern diese Zeile nicht. |
Rechte capabilities | ja | Projekte ansehen · Tickets ansehen · Tickets erstellen · Angebote freigeben · Abnahmen bestätigen · Dateien hochladen · Dateien herunterladen · Kontingente ansehen · Verträge unterschreiben · Rechnungen ansehen · Retouren anmelden · Lizenzen ansehen · Aufträge und Sendungen ansehen · Eigene Konditionen ansehen | Was die Person in diesem Bereich darf. Mindestens eine Fähigkeit; eine Zeile ohne Fähigkeit wäre wirkungslos. |
Ablaufdatum expiresAt | nein | Datum | Ab wann die Zeile nicht mehr greift. Leer heißt: unbefristet. |
Rechtevorlagen
| Feld | Pflicht | Werte / Format | Was es bewirkt |
|---|---|---|---|
Name name | ja | Text, bis 120 Zeichen | Unter diesem Namen steht die Vorlage in der Auswahl beim Einladen und Rechte-Vergeben, z. B. „Kaufmännischer Kontakt". |
Beschreibung description | nein | Text, bis 255 Zeichen | Kurzer Hinweis, wofür die Vorlage gedacht ist. |
Rechte capabilities | ja | Liste von Fähigkeiten (wie bei Rechte vergeben) | Die Rechte, die die Vorlage vorbelegt. Mindestens eines. |
Marke brandId | nein | eine Ihrer Marken | Nur für Zugänge dieser Marke wählbar. Leer heißt: in allen Marken — das dürfen nur markenübergreifend Berechtigte. |
Sperren und freischalten
| Feld | Pflicht | Werte / Format | Was es bewirkt |
|---|---|---|---|
Status status | ja | suspended (gesperrt) · active (frei) | Ob sich der Zugang anmelden kann. Sperren ist der richtige Weg, wenn eine Ansprechperson wechselt: der Zugang bleibt samt Historie erhalten, nur die Anmeldung ist zu. Ein Zugang einer fremden Marke ist über diesen Weg nicht erreichbar. |
SMS und WhatsApp
Ein Zugang kann seine Mitteilungen im Portal-Profil zusätzlich per SMS oder WhatsApp anfordern — nur mit eigener Einwilligung. In der Liste steht dann ein Kennzeichen SMS bzw. WhatsApp; der Hinweis daran nennt das Datum der Einwilligung. Mit portal.user.suspend schalten Sie den Kanal ab (Lautsprecher-Knopf in der Zeile, mit Rückfrage), etwa wenn der Kunde am Telefon widerruft: Mobilnummer und Einwilligung werden entfernt, Mitteilungen gehen danach nur noch über Portal und E-Mail. Einschalten kann nur der Zugang selbst — eine Einwilligung gibt nur, wer die Nachrichten bekommt. Versendet wird über den eingerichteten SMS-/WhatsApp-Versandweg; jede Kurznachricht steht mit Zustellstand im Verlauf des Kontakts. Außerhalb des 24-Stunden-Fensters nimmt WhatsApp nur freigegebene Vorlagen an: tragen Sie die Vorlage (Content-SID HX… oder ihren Namen bei Twilio) in den Systemeinstellungen unter portal.notifications.whatsapp_template ein, dann geht jede WhatsApp-Mitteilung als Vorlage mit den Variablen {{1}} Titel, {{2}} Text und {{3}} Portal-Adresse. Leer heißt Freitext.
Einladungen verschicken
| Feld | Pflicht | Werte / Format | Was es bewirkt |
|---|---|---|---|
Kunde customerId | nein | bestehender Kunde | Nur die eingeladenen Zugänge dieses Kunden. Die Oberfläche lässt das Feld leer — dann alle Ihrer Marken. |
Zugänge ulids | nein | Kennungen einzelner Zugänge, höchstens 500 | Nur diese Zugänge — so arbeitet das Senden-Symbol in einer Zeile. Zugänge, die nicht auf Eingeladen stehen, bleiben unberührt. |
Die Antwort nennt sent (verschickt), skipped (gültige Einladung lag schon vor) und remaining (über der Obergrenze von 200 je Lauf — erneut ausführen).
Offene Einladungen
| Angabe | Feld | Was sie bedeutet |
|---|---|---|
email | An wen die Einladung ging. | |
| Kunde | customerId, customerName | Für welchen Kunden der Zugang entstehen soll. Über die Schnittstelle lässt sich die Liste mit customerId auf einen Kunden eingrenzen. |
| Marke | brandId | Die Marke der Einladung — sie bestimmt, wer sie sieht und bedient. |
| Status | status, expired | pending = verschickt, noch nicht eingelöst; expired (ja) = der Link ist abgelaufen, Erneut senden hilft. |
| Gültig bis | expiresAt | Bis wann der Link funktioniert. |
| Verschickt am | createdAt | Wann die Einladung angelegt wurde. |
| Kennung | ulid | Für Erneut senden (POST …/invitations/{ulid}/resend) und Zurückziehen (DELETE …/invitations/{ulid}). |
Die Liste selbst zeigt E-Mail, Name, zugehörigen Kunden, Status (Eingeladen, Aktiv, Gesperrt), den letzten Login und eine Zusammenfassung der vergebenen Rechte. Solange eine Einladung nicht eingelöst ist, steht der Zugang auf Eingeladen.
Ein Portal-Zugang ist kein Mitarbeiterkonto. Er lebt in einem eigenen Bereich mit eigener Anmeldung und eigenen Rechten; er kann nicht ins Backend, auch nicht mit derselben Adresse. Und er sieht nichts, was Sie nicht ausdrücklich freigegeben haben.
Einstellungen & Rechte
- Recht
portal.user.invite. Ohne dieses Recht ist die Seite nicht erreichbar. - Rechte vergeben braucht
portal.access.grant, Sperren und Freischaltenportal.user.suspend.
Die Seite zu sehen heißt also noch nicht, alles darauf zu dürfen.
- Rechte sind gegenstandsbezogen, nicht rollenbasiert wie im internen Bereich. Es gibt keine
Portal-Rollen; es gibt Freigaben auf konkrete Kunden, Projekte und Verträge.
- Dateien brauchen eine eigene Freigabe. Dass jemand einen Kunden im Portal sieht, macht dessen
Dokumente nicht sichtbar — dafür trägt jede Datei ein eigenes Portal-Kennzeichen, siehe Dokumente.
- Rechtevorlagen sehen alle mit
portal.user.inviteoderportal.access.grant; anlegen, ändern und
löschen nur mit portal.access.grant, und nur in den Marken, in denen Sie dieses Recht haben.
- Konzern-Freischaltungen brauchen
portal.access.grantund eine Firmenhierarchie am Kunden. Ohne
Verknüpfung als Konzern ist die Wahl eines anderen Kunden nicht möglich; Portal-Nutzer sehen in einem Konzern-Kunden nur, was dort freigeschaltet ist; Schreibaktionen und Downloads dort stehen im Portal-Protokoll, Seitenabrufe nicht.
- Kein Zugriff ohne Einladung. Ein Kontaktdatensatz erzeugt nie von selbst einen Zugang.
- Zwei-Faktor-Pflicht für Finanzrechte. Der Schalter oben auf der Seite (Einstellung
portal.mfa.finance_required, Recht platform.settings.manage) verlangt für Rechnungen sehen und Angebote freigeben eine eingerichtete Zwei-Faktor-Anmeldung. Zugänge ohne sie werden nicht gesperrt: sie melden sich an, werden zur Einrichtung geführt, und bis dahin bleiben genau diese beiden Rechte ohne Wirkung. Vorgabe: aus.
FAQ & Fehlerbilder
Die eingeladene Person sieht nichts. Prüfen Sie die vergebenen Rechte. Ein Zugang ohne Freigabe auf Kunde, Projekt oder Vertrag ist gültig, zeigt aber nichts — die Liste weist das als Keine Rechte aus.
Ein Kunde sieht ein Dokument nicht. Das Dokument ist nicht fürs Portal freigegeben. Portal-Recht und Datei-Freigabe sind zwei Entscheidungen.
Die Einladung kommt nicht an. Prüfen Sie den Spam-Ordner und den Mailversand. Der Status bleibt bis zum Einlösen auf Eingeladen.
In der Mail steht ein anderer Firmenname als erwartet. Der Kunde hat keine Marke. Dann nennt die Mail den Firmennamen aus den Systemeinstellungen (system.company_name), ohne ihn die einzige bzw. die Standard-Marke. Ordnen Sie dem Kunden eine Marke zu oder pflegen Sie den Firmennamen.
Der Kunde hat die Einladung gelöscht oder sie ist abgelaufen. Unter Offene Einladungen auf Erneut senden — der neue Link gilt wieder 7 Tage, der alte nicht mehr.
Übernommene Zugänge haben keine Mail bekommen. Das ist gewollt: der Import verschickt nichts. Lösen Sie Einladungen verschicken aus, wenn die Kunden eingeladen werden sollen.
**Im Rechte-Dialog fehlt das Feld Kunde.** Der Kunde des Zugangs gehört keinem Konzern an. Verknüpfen Sie die Firmen zuerst am Kunden als Mutter und Tochter; danach stehen die Konzern-Kunden zur Wahl.
Eine geänderte Rechtevorlage wirkt bei bestehenden Zugängen nicht. Das ist gewollt: die Vorlage belegt nur vor. Bestehende Rechte ändern Sie am Zugang über Rechte vergeben.
Kann ein Portal-Konto in die interne Anwendung? Nein. Die beiden Anmelde-Bereiche sind getrennt; es gibt keinen Übergang.