Skip to content

Einrichtung vom E-Mail-Postfach für ConnectINVOICE

Die ConnectINVOICE-Komponente greift auf ein Microsoft-365-Postfach zu, um eingehende Rechnungen auszulesen, die enthaltenen Belege zu verarbeiten und die E-Mails anschließend in definierte Ordner zu verschieben.

Der Zugriff erfolgt über Microsoft Graph. Hierfür ist eine App-Registrierung in Microsoft Entra ID erforderlich. Diese muss technisch funktionsfähig eingerichtet und zugleich so eingeschränkt werden, dass ausschließlich ein Zugriff auf das vorgesehene Rechnungs-Postfach möglich ist.

Diese Seite beschreibt die vollständige Einrichtung des Postfachs – von der technischen Freigabe bis hin zur erforderlichen Ordnerstruktur.

Für den vollen Funktionsumfang der ConnectINVOICE-Komponente ist – ergänzend zur Basis-Konfiguration von microtech sowie zur Konfiguration von microtech für ConnectInvoice – die nachfolgend beschriebene Postfachkonfiguration erforderlich.

Auf Wunsch kann die vollständige Einrichtung der ConnectINVOICE-Schnittstelle durch MBCOM übernommen werden.

Checkliste der zu übermittelnden Daten

Für die Anbindung benötigen wir die folgenden Werte aus Ihrer App-Registrierung:

  • tenantId: Die Tenant-ID Ihres Microsoft-365-Tenants.
  • clientId: Die Anwendungs-ID der registrierten App.
  • clientSecret: Ein gültiges Client-Secret der App.
  • mailAddress: Die E-Mail-Adresse des Rechnungs-Postfachs.
  • ordnerStruktur: Die Ordnerstruktur des Rechnungs-Postfachs.

Schritt 1: App in Microsoft Entra ID registrieren

Legen Sie in Ihrem Microsoft-365-Tenant eine neue App-Registrierung an oder verwenden Sie eine bestehende, die ausschließlich für ConnectInvoice vorgesehen ist.

Wichtig ist, dass die App als Server-zu-Server-Anwendung verwendet werden kann und ein gültiges clientSecret besitzt.

Schritt 2: Client Secret erzeugen

Öffnen Sie in der App-Registrierung den Bereich Certificates & secrets und klicken Sie auf New client secret.

Tragen Sie eine sprechende Beschreibung ein, zum Beispiel:

  • connectinvoice-musterfirma-secret

Wählen Sie eine passende Laufzeit und speichern Sie den angezeigten Secret-Wert sofort an einem sicheren Ort.

Wichtig: Der Secret-Wert wird nach dem Verlassen der Ansicht nicht erneut vollständig angezeigt.

Schritt 3: Microsoft-Graph-Berechtigung vergeben

In der App-Registrierung unter API permissions müssen die folgenden Application permissions gesetzt werden:

  • Microsoft Graph > Application permissions > Mail.ReadWrite (erforderlich für ConnectINVOICE)
  • Microsoft Graph > Application permissions > Mail.Send (erforderlich für ConnectWORKFLOW Benachrichtigungen)

Anschließend muss ein Administrator den Mandanten-Consent erteilen:

  • Grant admin consent

Diese Berechtigungen sind erforderlich, damit ConnectCLOUD E-Mails lesen, nach der Verarbeitung verschieben sowie Benachrichtigungen für Workflows versenden kann.

Schritt 4: Zugriff auf das gewünschte Postfach beschränken

Die Graph-Berechtigung gilt technisch zunächst tenantweit. Deshalb muss der Zugriff in Exchange Online zusätzlich auf das gewünschte Rechnungs-Postfach eingeschränkt werden. Dazu wird eine Application Access Policy verwendet.

4.1 Exchange Online PowerShell installieren und verbinden

powershell
Install-Module ExchangeOnlineManagement -Scope CurrentUser -Force
Connect-ExchangeOnline

4.2 Mail-enabled Security Group als Scope anlegen

Legen Sie eine Mail-enabled Security Group an. Diese Gruppe definiert, auf welche Postfächer die App zugreifen darf.

Wichtig: Verwenden Sie keine Microsoft-365-Gruppe, keine Distribution List und keine normale Security Group.

powershell
$grp = New-DistributionGroup `
  -Name "APP-OnlyMailbox-MyApp" `
  -Alias "APP-OnlyMailbox-MyApp" `
  -Type Security

Optional kann die Gruppe im Adressbuch ausgeblendet werden:

powershell
Set-DistributionGroup -Identity $grp.Identity -HiddenFromAddressListsEnabled $true

4.3 Rechnungs-Postfach der Gruppe hinzufügen

Fügen Sie anschließend genau das Postfach hinzu, das durch ConnectINVOICE verarbeitet werden soll:

powershell
Add-DistributionGroupMember `
  -Identity $grp.Identity `
  -Member "postfach@deinedomain.tld"

Dies funktioniert sowohl mit einem Benutzerpostfach als auch mit einer Shared Mailbox.

4.4 Application Access Policy erstellen

Erstellen Sie nun die Richtlinie, die den Zugriff der App auf die definierte Gruppe beschränkt:

powershell
New-ApplicationAccessPolicy `
  -AppId "CLIENT-ID-DEINER-APP" `
  -PolicyScopeGroupId $grp.PrimarySmtpAddress `
  -AccessRight RestrictAccess `
  -Description "MyApp darf nur auf ein einzelnes Postfach zugreifen"

Damit ist die App für alle anderen Postfächer blockiert. Zugriff ist nur noch auf Postfächer möglich, die Mitglied dieser Gruppe sind.

4.5 Zugriff testen

Prüfen Sie die Richtlinie mit dem freigegebenen Postfach:

powershell
Test-ApplicationAccessPolicy `
  -AppId "CLIENT-ID-DEINER-APP" `
  -Identity "postfach@deinedomain.tld"

Erwartetes Ergebnis:

  • Für das freigegebene Zielpostfach: Granted
  • Für andere Postfächer: Denied

Schritt 5: Ordnerstruktur im Postfach anlegen

Für die automatisierte Verarbeitung muss im Rechnungs-Postfach eine nachvollziehbare Ordnerstruktur vorhanden sein.

Wichtig

Die Ordner dürfen nicht als Unterordner voneinander angelegt werden, sondern müssen alle auf derselben Ebene im Postfach liegen.

ConnectCloud verwendet die folgenden Ordner:

  • inboxFolder: Ordner, der auf neue E-Mails überwacht wird. Standardwert ist in der Regel Posteingang.
  • inprogressFolder: Zielordner für E-Mails, die aktuell durch ConnectCLOUD verarbeitet werden, zum Beispiel In_Bearbeitung.
  • archiveFolder: Zielordner für erfolgreich verarbeitete E-Mails, zum Beispiel Archiv.
  • errorFolder: Zielordner für E-Mails, die nicht erfolgreich verarbeitet werden konnten, zum Beispiel Fehler.

Die Zielordner sollten vor dem produktiven Start angelegt werden, damit E-Mails während und nach der Verarbeitung eindeutig verschoben werden können.