> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fynn.eu/llms.txt
> Use this file to discover all available pages before exploring further.

# Kernkonzepte

> Die Felder eines Provisionsplans und die beiden monatlichen Auszahlungsschwellen je Vertriebsmitarbeiter.

Ein Provisionsplan legt den Provisionssatz fest und steuert, ab wann ausgezahlt wird. Diese Seite erklärt die Felder, die du beim Anlegen setzt, und die beiden monatlichen Schwellen.

## Felder eines Plans

| Feld                      | Bedeutung                                                                              |
| ------------------------- | -------------------------------------------------------------------------------------- |
| `name`                    | Interner Name des Plans.                                                               |
| `type`                    | Berechnungsart. Aktuell `ongoing_percentage`.                                          |
| `percentage`              | Basissatz als Dezimalbruch, `0.10` entspricht 10 %.                                    |
| `basisType`               | Berechnung auf `net` oder `gross` des Rechnungsbetrags.                                |
| `triggerEvent`            | `invoice_finalized` (bei Rechnungsstellung) oder `invoice_paid` (bei Zahlungseingang). |
| `commissionScope`         | `all_invoices` oder `first_contract_period`.                                           |
| `requireDeal`             | Wenn `true`, generieren nur Rechnungen mit verknüpftem Deal Provisionen.               |
| `payoutThresholdAmount`   | Mindestauszahlung je Vertriebsmitarbeiter und Monat. Siehe unten.                      |
| `monthlyRevenueThreshold` | Mindestumsatz je Vertriebsmitarbeiter und Monat. Siehe unten.                          |
| `rules`                   | Produktregeln, die den Basissatz je Produkt überschreiben.                             |

Beträge gibst du als Objekt in kleinster Einheit an:

```json theme={null}
{ "amount": 5000, "currency": "EUR", "precision": 2 }
```

Das entspricht 50,00 EUR. Lässt du eine Schwelle weg oder setzt sie auf `null`, gilt keine Grenze.

## Die beiden monatlichen Schwellen

Beide Schwellen wirken **je Vertriebsmitarbeiter, je Plan, je Kalendermonat**, immer über alle Kunden eines Vertriebsmitarbeiters zusammen. Sie entscheiden, ob die Provisionen eines Monats ausgezahlt werden.

**Mindestauszahlung (`payoutThresholdAmount`)**

Erreicht die Provisionssumme eines Vertriebsmitarbeiters im Monat diese Grenze nicht, wird der ganze Monat zurückgehalten. Erreicht sie die Grenze, wird der komplette Monat ausgezahlt.

**Mindestumsatz (`monthlyRevenueThreshold`)**

Erreicht der Umsatz eines Vertriebsmitarbeiters im Monat diese Grenze nicht, gibt es für den gesamten Monat keine Provision. Wird die Grenze erreicht, wird der komplette Umsatz provisioniert. So belohnst du das Erreichen von Monatszielen.

Sind beide gesetzt, muss ein Monat **beide** erreichen, damit er ausgezahlt wird.

```mermaid theme={null}
flowchart TD
  Start[Monat je Vertriebsmitarbeiter und Plan] --> Rev{Mindestumsatz erreicht?}
  Rev -- Nein --> Hold[Keine Provision für den Monat]
  Rev -- Ja --> Pay{Mindestauszahlung erreicht?}
  Pay -- Nein --> Hold
  Pay -- Ja --> Ok[Provisionen des Monats werden ausgezahlt]
```

<Tip>
  Zurückgehaltene Provisionen gehen nicht verloren. Sie bleiben genehmigt und werden aufgenommen, sobald die Grenze in einem zukünftigen Monat erreicht wird.
</Tip>

### Beispiel

Ein Plan mit Mindestauszahlung 50 EUR und Mindestumsatz 1.000 EUR:

| Vertriebsmitarbeiter | Umsatz im Monat | Provision im Monat | Ergebnis                                          |
| -------------------- | --------------- | ------------------ | ------------------------------------------------- |
| A                    | 1.500 EUR       | 75 EUR             | wird ausgezahlt (beide Grenzen erreicht)          |
| B                    | 600 EUR         | 75 EUR             | zurückgehalten (Mindestumsatz nicht erreicht)     |
| C                    | 1.500 EUR       | 25 EUR             | zurückgehalten (Mindestauszahlung nicht erreicht) |

## Einen Plan anlegen

```bash theme={null}
curl https://coreapi.io/api/commissions/plans \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Neukundenvertrieb 10 %",
    "percentage": "0.10",
    "basisType": "net",
    "triggerEvent": "invoice_finalized",
    "commissionScope": "all_invoices",
    "requireDeal": false,
    "payoutThresholdAmount": { "amount": 5000, "currency": "EUR", "precision": 2 },
    "monthlyRevenueThreshold": { "amount": 100000, "currency": "EUR", "precision": 2 }
  }'
```

Die vollständige Referenz aller Felder und Antworten findest du unter [Provisionspläne](/v2-commission-api/plans/create-plan).
