> For the complete documentation index, see [llms.txt](https://one-loop.gitbook.io/help/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://one-loop.gitbook.io/help/marketplace-apps/lexware-office/erste-schritte/deinen-ersten-workflow-bauen.md).

# Deinen ersten Workflow bauen

Dieses Beispiel erstellt nach einer erfolgreichen Zahlung automatisch eine Rechnung in Lexware Office. Es eignet sich als erster vollständiger Test, weil der Auslöser, die Datenquelle und das erwartete Ergebnis klar zusammenpassen.

## Was du vorab brauchst

* Die Lexware-Office-App zeigt im richtigen ONE LOOP Standort **Verbunden**.
* Ein Kontakt mit geprüften Rechnungsdaten ist vorhanden.
* Es gibt eine neue Testzahlung, die den Workflow auslösen kann.
* Du kannst in Lexware Office prüfen, ob eine Rechnung entstanden ist.

{% hint style="warning" %}
Verwende für den Test keine alte Zahlung. Der Workflow muss nach seiner Veröffentlichung durch ein neues Ereignis gestartet werden.
{% endhint %}

## 1. Workflow anlegen und Anlass definieren

Erstelle einen neuen Workflow und wähle den Trigger **Payment Received**. Dieser Trigger ist der fachliche Anlass: Eine Zahlung ist eingegangen, deshalb soll eine Rechnung erzeugt werden.

Prüfe, ob der Trigger zu deinem Zahlungsprozess passt. Der Wert, den du später an die Rechnung-Action übergibst, muss aus genau diesem ausgelösten Zahlungsvorgang stammen.

## Verkauf mit Documents & Contracts

Für einen Verkauf über **Documents & Contracts** passt die Rechnung-Action erst nach einer erfolgreichen Zahlung. Bei diesem Quelltyp übernimmt sie die bereits bestätigte Transaktion als Grundlage und liest die erforderlichen Positions- und Steuerdaten aus.

{% hint style="warning" %}
**Bekannte Plattformbeschränkung**

Bei **Documents & Contracts** mit aktivierter Option **Direct Payment** erzeugt die Plattform technisch zwingend eine eigene Rechnung als Zahlungsobjekt. In der aktuell beobachteten Oberfläche lässt sich **Send Invoice** bei aktivem **Direct Payment** nicht unabhängig deaktivieren. Dadurch kann die Plattform zusätzlich automatisch eine eigene Rechnungs-E-Mail an den Käufer senden.

Die ONE LOOP App erstellt nach erfolgreicher Zahlung zusätzlich die fachliche und offizielle Rechnung in Lexware Office. Der Käufer kann dadurch zwei Rechnungsdarstellungen oder zwei Rechnungsnachrichten sehen: eine von der Plattform und eine von Lexware Office. Das ist **keine zweite Belastung und keine zweite Zahlung**, kann aber buchhalterisch und in der Kommunikation missverständlich sein.

Das Abschalten des Invoice-Moduls in der Standortkonfiguration verhindert diesen internen Documents-&-Contracts-Invoice-Prozess derzeit nicht zuverlässig. ONE LOOP kann die von der Plattform erzeugte Rechnung oder E-Mail mit dieser Marketplace-App nicht unterdrücken. Der Scope `invoices.readonly` ist ausschließlich lesend: Er erzeugt oder versendet keine Rechnung, sondern wird bei diesem Quelltyp nur benötigt, um die bereits erzeugten Positions- und Steuerdaten sicher für Lexware Office auszulesen.

Wenn auf keinen Fall eine plattformseitige Rechnung oder E-Mail entstehen darf, nutze Documents & Contracts nur für Unterschrift oder Annahme, deaktiviere **Direct Payment** und sende anschließend im Workflow einen separaten [Payment Link](#payment-link-statt-direct-payment). Nach erfolgreicher Zahlung führst du die Lexware-Action aus. Alternativ kannst du **Direct Payment** verwenden und akzeptierst die zusätzliche plattformseitige Rechnung/E-Mail als aktuelle Plattformbeschränkung.
{% endhint %}

Die Plattform beschreibt den grundlegenden Ablauf von Direct Payment und den Invoice-Versand in der [offiziellen Referenz zu automatisch erzeugten Rechnungen](https://help.gohighlevel.com/support/solutions/articles/155000004063-automatically-generate-invoices-from-signed-documents-contracts).

## Payment Link statt Direct Payment

Dieser Ablauf vermeidet die zusätzliche plattformseitige Rechnung/E-Mail:

1. Erstelle Documents & Contracts nur für Unterschrift oder Annahme und deaktiviere **Direct Payment**.
2. Warte auf das Ereignis, das die angenommene oder unterschriebene Vereinbarung bestätigt.
3. Sende in einem nachfolgenden Workflow-Schritt einen separaten **Payment Link**.
4. Verwende nach der bestätigten Zahlung den Trigger **Payment Received**.
5. Füge **Lexware Office – Create Invoice** mit der Positionsquelle **Paid transaction** hinzu und ordne die **Transaction ID** aus genau diesem Zahlungstrigger zu.
6. Prüfe nach der Action `success=true`, `invoiceNumber` und `invoiceFileUrl`.

So ist die Zahlung vom Vertrags-/Annahmeschritt getrennt; die Lexware-Action erstellt die offizielle Rechnung erst für die erfolgreich bezahlte Transaktion.

## 2. Rechnung-Action hinzufügen

Füge im gleichen Workflow-Zweig **Lexware Office – Create Invoice** hinzu.

Wähle als Positionsquelle **Paid transaction**. Diese Variante sagt der App: Die tatsächlich bezahlte Transaktion und die zugehörige Bestellung sind die Grundlage der Rechnung.

Ordne anschließend die **Transaction ID** aus dem Zahlungstrigger zu. Wähle sie über den Variablen-Picker. Tippe keine selbst erfundene Platzhaltervariable ein und verwende nicht die ID eines anderen Workflows.

## 3. Dokumentdetails bewusst festlegen

Du kannst Titel, Einleitung, Bemerkung und Zahlungsziel ergänzen. Lässt du optionale Felder leer, verwendet Lexware Office die dort hinterlegten Vorgaben.

Überlege vorab:

* Soll der Beleg eine abweichende Überschrift oder Einleitung erhalten?
* Gibt es eine feste Zahlungsfrist oder soll die Vorgabe aus Lexware Office gelten?
* Soll eine Bemerkung für diesen Prozess immer erscheinen?

Halte den ersten Test einfach. Ändere erst danach einzelne Texte, damit du bei Problemen klar erkennst, welche Änderung eine Auswirkung hatte.

## 4. Kundentyp wählen

Für den Einstieg eignet sich **Detect automatically from CRM contact**:

* Firmenname vorhanden: Die App verwendet die Unternehmenslogik.
* Kein Firmenname vorhanden: Die App verwendet die Privatpersonenlogik.

Du kannst den Kundentyp auch bewusst festlegen, wenn dein Prozess ihn bereits eindeutig kennt. Prüfe in jedem Fall, ob der Kontakt wirklich die passenden Angaben enthält. Ein falscher Firmenname oder eine unvollständige Anschrift führt nicht zu einem brauchbaren Rechnungsdokument.

## 5. Testausgabe direkt hinter der Action einbauen

Füge nach **Create Invoice** eine interne Benachrichtigung oder einen anderen einfachen Prüfschritt ein. Wähle über den Variablen-Picker mindestens:

* **Action Success**
* **Invoice Number**
* **Gross Amount**
* **Invoice File URL**
* **Lexware Invoice URL**

Damit kontrollierst du im selben Durchlauf, ob die Action erfolgreich war und ob die Ergebniswerte für spätere Folgeprozesse verfügbar sind.

## 6. Workflow veröffentlichen und Testzahlung ausführen

Speichere die Action, veröffentliche den Workflow und führe anschließend eine neue Testzahlung aus. Öffne danach die Workflow-Ausführung.

Ein korrektes Ergebnis erfüllt alle vier Punkte:

1. Die Rechnung-Action zeigt **Success**.
2. In Lexware Office ist eine finalisierte Rechnung vorhanden.
3. Das offizielle PDF liegt im Kontaktfeld **Lexware Documents**.
4. Deine Testausgabe enthält Nummer, Betrag sowie Datei- und Dokumentlink.

## Wenn die Action nicht erfolgreich ist

Prüfe diese Reihenfolge:

1. Stammt die **Transaction ID** wirklich aus dem Zahlungstrigger desselben Workflows?
2. Wurde die Zahlung im aktuellen ONE LOOP Standort verarbeitet?
3. Ist die Lexware-Office-Verbindung in diesem Standort bestätigt?
4. Enthält der Kontakt die notwendigen Rechnungsdaten?
5. Stimmen die Zahlungs- und Steuerdaten des Testvorgangs?

Ändere erst dann die Konfiguration. So vermeidest du, dass ein Fehler durch mehrere gleichzeitige Änderungen schwer nachvollziehbar wird.
