> 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/workflow-trigger/angebotsstatus-geandert.md).

# Angebotsstatus geändert

## Teststatus

Die technische Umsetzung dieser Integration liegt vor. Die allgemeine Verfügbarkeit für alle Standorte ist jedoch noch nicht bestätigt. Nutze den Trigger zunächst nur in kontrollierten Tests und prüfe das Ergebnis am betreffenden Angebot.

## Was passiert?

Der Trigger startet einen Workflow, wenn ein Angebot in Lexware Office den Status **angenommen** oder **abgelehnt** erhält. Er stellt die Angebots-, Kontakt- und Betragsdaten als Workflow-Variablen bereit. Er ändert das Angebot nicht.

## Einrichtung

1. Wähle **Angebotsstatus geändert** als Workflow-Auslöser.
2. Lege bei **Quotation status** fest, auf welche Statusänderung der Workflow hören soll:
   * `accepted`: Angebot angenommen.
   * `rejected`: Angebot abgelehnt.
3. Speichere und veröffentliche den Workflow.
4. Ändere den Status eines Testangebots und kontrolliere den Workflow-Verlauf.

Wenn Annahme und Ablehnung unterschiedliche Prozesse auslösen sollen, erstelle je einen Workflow mit dem passenden Filter.

## Payload-Beispiel

Die folgenden Werte stehen als Variablen im Workflow zur Auswahl. Das Beispiel zeigt eine Annahme:

```json
{
  "eventId": "lexware-quotation-9d4e1b7a-accepted-1",
  "quotationId": "9d4e1b7a-709c-4e2a-b90e-f3c17c721001",
  "quotationNumber": "ANG-2026-0017",
  "quotationStatus": "accepted",
  "previousQuotationStatus": "open",
  "lexwareContactId": "1d7f56b6-43da-4ec1-9f31-120d88e2a001",
  "contactId": "contact-one-loop-001",
  "locationId": "location-one-loop-001",
  "voucherDate": "2026-08-12",
  "voucherDateFormatted": "12.08.2026",
  "expirationDate": "2026-08-26",
  "expirationDateFormatted": "26.08.2026",
  "currency": "EUR",
  "netAmount": 200,
  "taxAmount": 38,
  "grossAmount": 238,
  "lexwareViewUrl": "https://app.lexware.de/permalink/quotations/9d4e1b7a-709c-4e2a-b90e-f3c17c721001",
  "quotationFileUrl": "https://files.example.test/quotation.pdf",
  "quotationDocumentId": "document-lexware-001",
  "providerEventDate": "2026-08-21T10:02:48.000Z",
  "providerEventDateFormatted": "21.08.2026, 12:02"
}
```

## Alle Workflow-Variablen

### Ereignis und Angebotsstatus

| Variable                  | Bedeutung und Nutzung                                                                                                                                                           |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `eventId`                 | Eindeutige Kennung dieser Statusänderung. Nutze sie, damit eine Folgeaktion bei erneuter Zustellung nicht doppelt läuft.                                                        |
| `quotationId`             | Interne Lexware-ID des Angebots. Bei einer angenommenen Angebotsbestätigung übergibst du diese Variable an das Feld **Quotation** der Aktion **Auftragsbestätigung erstellen**. |
| `quotationNumber`         | Sichtbare Angebotsnummer für E-Mails, Notizen und interne Hinweise.                                                                                                             |
| `quotationStatus`         | Neuer Status des Angebots: `accepted` oder `rejected`.                                                                                                                          |
| `previousQuotationStatus` | Status unmittelbar vor diesem Ereignis. Hilft bei Prüfungen und Protokollen.                                                                                                    |

### Kontakt und Standort

| Variable           | Bedeutung und Nutzung                                                                                         |
| ------------------ | ------------------------------------------------------------------------------------------------------------- |
| `lexwareContactId` | Interne Lexware-ID des zugehörigen Kontakts.                                                                  |
| `contactId`        | Kennung des verknüpften ONE LOOP Kontakts, sofern vorhanden. Nutze sie für kontaktbezogene Folgeaktionen.     |
| `locationId`       | Kennung des Standorts, aus dem der Vorgang stammt. Nützlich für standortübergreifende Abläufe und Protokolle. |

### Daten und Beträge

| Variable                                     | Bedeutung und Nutzung                                                   |
| -------------------------------------------- | ----------------------------------------------------------------------- |
| `voucherDate` / `voucherDateFormatted`       | Angebotsdatum im Format `YYYY-MM-DD` bzw. als lesbarer Text.            |
| `expirationDate` / `expirationDateFormatted` | Ablaufdatum des Angebots im Format `YYYY-MM-DD` bzw. als lesbarer Text. |
| `currency`                                   | Währung des Angebots, zum Beispiel `EUR`.                               |
| `netAmount`                                  | Netto-Betrag des Angebots für Berechnungen.                             |
| `taxAmount`                                  | Steuerbetrag des Angebots für Berechnungen.                             |
| `grossAmount`                                | Brutto-Betrag des Angebots für Berechnungen und Nachrichten.            |

### Links und Dokumente

| Variable              | Bedeutung und Nutzung                                                                           |
| --------------------- | ----------------------------------------------------------------------------------------------- |
| `lexwareViewUrl`      | Direkter Link zum Angebot in Lexware Office. Füge ihn zum Beispiel in eine interne Aufgabe ein. |
| `quotationFileUrl`    | Download-Link zur Angebotsdatei, sofern verfügbar. Dieser Wert kann leer sein.                  |
| `quotationDocumentId` | Kennung des zugehörigen Dokuments, sofern verfügbar. Dieser Wert kann leer sein.                |

### Zeitpunkt

| Variable                     | Bedeutung und Nutzung                                           |
| ---------------------------- | --------------------------------------------------------------- |
| `providerEventDate`          | Technischer Zeitstempel des Ereignisses im ISO-Format.          |
| `providerEventDateFormatted` | Derselbe Zeitstempel als lesbarer Text für interne Nachrichten. |

## Praxisbeispiel: angenommene Angebote intern übergeben

Ein Angebot wird in Lexware Office angenommen.

1. Der Workflow verwendet den Filter `accepted`.
2. Der Trigger liefert unter anderem `quotationId`, `quotationNumber`, `contactId`, `grossAmount` und `lexwareViewUrl`.
3. Eine interne Aufgabe erhält den Text: `Angebot {{quotationNumber}} wurde angenommen. Betrag: {{grossAmount}} {{currency}}.`
4. Im nächsten Schritt nutzt du **Auftragsbestätigung erstellen** und übergibst `quotationId` an dessen Feld **Quotation**.
5. Der Workflow-Verlauf enthält die Angebotsnummer und den Link zur Prüfung in Lexware Office.

Bei einer Ablehnung verwendest du einen separaten Workflow mit `rejected`, zum Beispiel für eine interne Rückmeldung oder eine geplante Nachfassaufgabe.

## Grenzen und Prüfung

* Ereignisse werden mindestens einmal zugestellt. Sichere Folgeaktionen mit `eventId` gegen doppelte Ausführung ab.
* Der Trigger reagiert nur auf die Status `accepted` und `rejected`.
* `quotationFileUrl` und `quotationDocumentId` sind nur verfügbar, wenn das Angebot zuvor über diese Integration erstellt wurde. Plane leere Werte ein.
* Beträge sind Zahlen. Wenn du einen formatierten Betrag für einen Text brauchst, bilde ihn in einem nachfolgenden Schritt passend ab.

Prüfe nach einem Test die Angebotsnummer, den neuen Status, die Beträge und `lexwareViewUrl` im Workflow-Verlauf gegen das Angebot in Lexware Office.
