# Einheitenkonvertierung

Stammdaten zur Umrechnung von Einheiten. Workist kann Einheiten erkennen und automatisch in andere Mengen umrechnen. Um dies durchzuführen benötigt Workist eine Liste an Umrechnungsquotienten.

:::warning
Wenn Einheiten-Konvertierung in Workist verwendet werden soll, werden die `sales_units` und die `order_units` in der Artikelliste verpflichtend! → [Artikelstammdaten](/docs/master-data/articles.md)
:::

## Spaltenbeschreibung

> **Pflichtfeld:** Ohne diese Spalte kann Workist den Datensatz nicht verwenden. **Empfohlen:** verbessert die Erkennung deutlich. Der Import selbst prüft keine Spalten: Fehlt eine Spalte, bleibt das Feld leer.

| # | Feldname | Status | Beschreibung |
|---|----------|--------|--------------|
| 1 | `partition_id` | <span class="status-optional">Optional</span> | `client_id1` des Kunden, für den die Umrechnung gilt. Wirkt nur, wenn im Kanal die partitionsspezifische Einheitenkonversion aktiv ist. Findet Workist für den Kunden keine Umrechnung, verwendet es die Umrechnungen ohne `partition_id`. |
| 2 | `article_id` | <span class="status-required">Pflichtfeld</span> | Artikelnummer. Muss dieselbe Nummer wie `article_id1` in den Artikelstammdaten sein. Workist sucht Umrechnungen immer zu einer bestimmten Artikelnummer. |
| 3 | `source_unit` | <span class="status-required">Pflichtfeld</span> | Ursprungseinheit der Umrechnung (die Bestelleinheit) |
| 4 | `target_unit` | <span class="status-required">Pflichtfeld</span> | Zieleinheit der Umrechnung (die Verkaufseinheit) |
| 5 | `conversion_quotient` | <span class="status-required">Pflichtfeld</span> | Umrechnungsquotient (in anderen Systemen oft als Faktor angegeben — hier muss es 1/Faktor sein) |
| 6 | `extra_data` | <span class="status-optional">Optional</span> | Zusätzliche Angaben als JSON-Objekt, z. B. `{"Marke": "Muster"}`. Workist speichert sie mit dem Datensatz und zeigt sie im Datenexplorer an. Für die Erkennung nutzt Workist sie standardmäßig nicht. |

Die Importkonfiguration zeigt `article_id` nicht als Zeile mit `*` an. Ordnen Sie die Spalte trotzdem zu: Umrechnungen ohne Artikelnummer findet Workist nicht.

Beachten Sie beim `conversion_quotient`:

- Jede Zeile braucht einen Wert, und der Wert braucht einen **Punkt** als Dezimaltrennzeichen (`0.125`, nicht `0,125`). Sonst schlägt der Import fehl.
- Liegt in Ihrem System ein Faktor statt eines Quotienten vor, kann Workist die Umrechnung beim Import übernehmen. Sprechen Sie dazu Ihre Ansprechperson bei Workist an.

Pro Artikel und Ursprungseinheit (und gegebenenfalls Kunde) darf es nur **eine** Zeile geben. Findet Workist mehrere Umrechnungen für dieselbe Kombination, kann es die Position nicht umrechnen.

## Format

> Nicht benötigte Spalten können im Datenexport weggelassen werden.

Beispieldateiname: `conversion_factor_list.csv`

```csv
partition_id;article_id;source_unit;target_unit;conversion_quotient
;ART001;Karton;Packung;0.1
;ART002;Karton;Packung;0.05
K001;ART001;Karton;Packung;0.125
```

Das Beispiel verwendet `;` als Trennzeichen. Stellen Sie das Trennzeichen in der [Importkonfiguration](/docs/master-data/transformer-configuration.md) ein; ohne Angabe erwartet Workist ein Komma.

Im Beispiel enthält ein Karton von `ART001` 10 Packungen (`0.1`), für den Kunden `K001` 8 Packungen (`0.125`).

Per API übermitteln Sie dieselben Spalten als CSV-Datei oder als JSON. Endpunkt: [Swagger](https://api.workist.com/v1/swagger/#/Master%20Data/conversion_factors_imports_create), Grundlagen: [Benutzung der Stammdaten-API](/docs/api-documentation/master-data-api.md).

## Details zur Einheitenkonvertierung

Für die Einheiten-Konvertierungen muss in Workist zuerst für jeden verfügbaren Artikel konfiguriert werden, in welchen Einheiten er bestellt und in welchen er verkauft werden kann. Bei Workist nennen wir dies die verfügbaren `order_units` und `sales_units` in den Artikelstammdaten.

### Anpassungen in den Artikelstammdaten

Beispiel: `order_units` und `sales_units` für ein Bier konfigurieren:
- `sales_units` wird auf `["Flaschen"]` gesetzt — Workist rechnet diesen Artikel in der Ausgabe immer auf Flaschen um.
- `order_units` muss eine Liste aller Einheiten sein, in denen Kunden bestellen können, z.B. `["Kisten", "Sixpacks", "Flaschen"]`.

```csv
article_id1;description;article_id2;order_units;sales_units
123;Bier;000123;["Kisten","Sixpacks","Flaschen"];["Flaschen"]
abc;Orangensmoothie;000abc;["Flaschen"];["Flaschen"]
1234;Blaubeerwein;0001234;["Kisten","Flaschen"];["Flaschen"]
1122;Sprudelwasser;0001122;["Kisten","Flaschen"];["Flaschen"]
```

### Konfiguration der Konvertierungsstammdaten

Die Konvertierung wird als Quotient gespeichert. Im `conversion_quotient` muss hinterlegt werden:
- 1 Flasche = 1/6 Sixpack → `0.16666...`
- 1 Flasche = 1/24 Kiste → `0.04166...`

```csv
article_id;source_unit;target_unit;conversion_quotient
123;Sixpacks;Flaschen;0.16666666666
123;Kisten;Flaschen;0.04166666666
1234;Kisten;Flaschen;0.125
1122;Kisten;Flaschen;0.08333333333
```

Für jede Artikel- und `order_unit`-Kombination wird ein Eintrag in den Stammdaten benötigt (nicht für Einheiten, die nicht konvertiert werden müssen, z.B. Flaschen zu Flaschen).

Wenn von einem Kunden 1 Sixpack bestellt wird, wird in Workist die Ausgabemenge in **6 Flaschen** umgewandelt.

### Wenn keine Umrechnung passt

Bestellt ein Kunde bereits in einer Verkaufseinheit, rechnet Workist nicht um. Findet Workist für eine andere Einheit keine passende Umrechnung, setzt es die erste Verkaufseinheit des Artikels ein und markiert Menge und Einheit zur Prüfung in der Assistenz. Wie Workist das Ergebnis einer Umrechnung rundet, legen Sie in der Kanal-Konfiguration fest (siehe [Einheitenumrechnung](/docs/channel-configuration/document-processing/document.md)).
