Fertigung: Stücklisten & Aufträge

Überblick
Fertigung besteht aus zwei Teilen: der Stückliste (woraus etwas besteht) und dem Fertigungsauftrag (dass etwas tatsächlich gebaut wird).
Eine harte Regel liegt darunter: Die Fertigung bucht Bestand ausschließlich über die Bestands-Schnittstelle, nie direkt. Deshalb sieht das Lager Materialentnahme und Fertigmeldung wie jede andere Bewegung — und der Bestand bleibt eine Zahl, nicht zwei.
Abgrenzung zum Verkaufs-Set: Ein Produkt-Bündel wird beim Verkauf zerlegt und nie gefertigt. Eine Stückliste beschreibt einen Fertigungsvorgang mit eigenem Bestand für das Erzeugnis.
Kernaufgaben
Eine Stückliste anlegen und freigeben. Sie legen Kopf und Positionen an. Solange die Fassung ein Entwurf ist, lässt sie sich ändern; erst die Freigabe macht sie verwendbar. Eine freigegebene Fassung wird nicht mehr geändert, sondern über „neue Version" kopiert — laufende Aufträge behalten die Fassung, mit der sie angelegt wurden.
Einen Fertigungsauftrag planen. Sie wählen Erzeugnis, Menge und Termin; das Material ergibt sich aus der freigegebenen Stückliste.
Material entnehmen. Die Entnahme bucht die Komponenten aus dem Lager. Fehlt etwas, meldet der Auftrag das, statt still zu buchen.
Fertig melden. Die Fertigmeldung bucht das Erzeugnis zu — ganz oder als Teilmenge.
Felder im Detail
Zwei Datensätze, vier Masken: Stücklisten-Kopf und -Position, Auftrags-Kopf und die Handlungen am Auftrag. Der graue Name hinter der Beschriftung ist das Feld der API.
Stückliste anlegen
| Feld | Pflicht | Werte / Format | Was es bewirkt |
|---|---|---|---|
Erzeugnis productId | ja | ein bestehender Artikel | Was hergestellt wird. Die Version zählt je Erzeugnis automatisch hoch. |
Bezeichnung name | nein | Text, in der Maske bis 160 Zeichen | Wie die Rezeptur heißt — nützlich, wenn es für ein Erzeugnis mehrere gibt („Sommermischung"). |
Ausbringungsmenge outputQty | nein | ganze Zahl ab 1 | Auf welche Menge des Erzeugnisses sich die Positionsmengen beziehen — etwa 3 kg je 10 Liter. Ohne Angabe 1. Der Auftrag rechnet von hier aus hoch. |
Notiz note | nein | Text, in der Maske bis 500 Zeichen | Freitext zur Rezeptur. |
Positionen der Stückliste
Positionen werden als vollständige Liste zurückgeschrieben (items): Die übergebene Liste ersetzt die bisherige. Eine teilweise Übernahme ergäbe eine Rezeptur, die so nie beschlossen wurde. Änderbar nur im Status Entwurf.
Je Position (Schlüssel innerhalb von items, keine eigenen Auftragsfelder):
| Angabe | Pflicht | Werte / Format | Was sie bewirkt |
|---|---|---|---|
Komponente (componentProductId) | ja | ein bestehender Artikel | Welches Material eingeht. |
Menge (qty) | ja | ganze Zahl ab 1 | Wie viel davon — bezogen auf die Ausbringungsmenge, nicht auf ein Stück. |
Ausschuss in % (scrapPercent) | nein | 0 bis 99 | Anteil des eingesetzten Materials, der verloren geht. Der Bedarf steigt entsprechend (netto geteilt durch 1 − Ausschuss). Ohne diese Angabe fehlt beim dritten Auftrag Material, ohne dass jemand weiß, warum. |
Notiz (note) | nein | Text | Freitext zur Position. |
Ohne Position keine Freigabe.
Freigeben, stilllegen, neue Version haben keine Felder. Die Freigabe macht den Entwurf zur gültigen Fassung und archiviert die bisher aktive; der Status (status: Entwurf, Freigegeben, Stillgelegt) ist nicht direkt setzbar, sondern die Folge dieser Handlungen. Eine freigegebene Fassung ist der Nachweis, woraus gefertigt wurde — geändert wird sie nie, sondern über „neue Version" kopiert.
Fertigungsauftrag anlegen
| Feld | Pflicht | Werte / Format | Was es bewirkt |
|---|---|---|---|
Erzeugnis productId | ja | ein bestehender Artikel | Was gefertigt wird. Das Material ergibt sich aus der freigegebenen Stückliste dieses Erzeugnisses; der Auftrag merkt sich deren Version und behält sie. |
Geplante Menge qtyPlanned | ja | ganze Zahl ab 1 | Wie viel gefertigt werden soll. Der Materialbedarf wird daraus hochgerechnet. |
Geplantes Ende plannedEndAt | nein | Datum | Wann es fertig sein soll. |
Notiz note | nein | Text | Freitext zum Auftrag. |
| Feld | Werte / Format | Was es bewirkt |
|---|---|---|
plannedStartAt | Datum | Geplanter Beginn. In der Maske nicht gesetzt, über die Schnittstelle verfügbar. |
warehouseId | ein Lager | Hält fest, für welches Lager der Auftrag gedacht ist. Die Buchungen von Entnahme und Zugang laufen über die Bestands-Schnittstelle und werden von diesem Feld nicht gesteuert. |
brandId | eine Ihrer Marken | Marke des Auftrags; wer die Marke nicht sieht, sieht den Auftrag nicht. |
Handlungen am Auftrag
Diese Angaben gehören zur Handlung, nicht zum Auftrag — sie werden nicht als Auftragsfelder gespeichert und stehen deshalb nicht in der Tabelle oben:
| Angabe | Pflicht | Werte / Format | Was sie bewirkt |
|---|---|---|---|
| Freigeben | — | keine Angabe | Reserviert den Materialbedarf; ab dann ist das Material für den Verkauf nicht mehr verfügbar. Die Einstellung manufacturing.release.shortage_mode entscheidet, was bei Unterdeckung geschieht: partial reserviert, was da ist (Vorgabe; die Differenz ist die Fehlteil-Liste), strict weist die Freigabe ab. |
| Material entnehmen — Zeilen | ja | je Zeile Position, Menge und wahlweise eine Charge | Bucht die Komponenten aus dem Lager. Mehr als der offene Bedarf wird abgewiesen. Bei chargengeführtem Material wählt ohne Chargenangabe die FEFO-Regel (kürzeste Restlaufzeit zuerst). |
| Gefertigte Menge | ja | Zahl | Was tatsächlich entstanden ist; steht danach im Auftrag als qtyProduced. Weicht sie von der geplanten Menge ab, bleibt der Unterschied stehen und wird nicht geglättet. |
| Davon Ausschuss | nein | Zahl | Was misslungen ist; steht danach als qtyScrapped. Ausschuss wird nicht zugebucht. |
| Charge des Erzeugnisses | nein | Text | Die Charge, unter der die Fertigware eingeht (outputBatchRef). Leer gelassen, wird die Auftragsnummer verwendet. |
| Offenen Sollbedarf jetzt entnehmen | nein | Ja/Nein | Rückwärtsentnahme: entnimmt vor der Fertigmeldung, was noch offen ist. Ohne jede Entnahme wird die Fertigmeldung abgewiesen. |
| Abbrechen | — | keine Angabe | Gibt Reservierungen frei. Bereits entnommenes Material bleibt entnommen — es ist verbaut oder Ausschuss. |
Entnahme und Fertigmeldung sind benennbare Vorgänge: mit einem Idempotenz-Schlüssel läuft der Vorgang genau einmal, auch wenn die Meldung zweimal ankommt. Eine wiederholte Entnahme wäre doppelt gebuchtes Material.
Die Fertigung bucht ausschließlich über die Bestandsführung — sie führt keinen eigenen Bestand. Entnahme und Zugang sind normale Lagerbewegungen, und deshalb stimmen Bestandsliste und Fertigung immer überein.
Ein Set ist etwas anderes: Es wird verkauft, nicht hergestellt, und sein Bestand bleibt an den Einzelteilen. Wer ein Set fertigt, meint eine Stückliste.
Einstellungen & Rechte
- Stücklisten:
manufacturing.bom.view/manufacturing.bom.manage - Aufträge planen, freigeben, abbrechen:
manufacturing.order.view/manufacturing.order.manage - Material entnehmen und fertig melden:
manufacturing.order.execute
Modul-Flag: module.manufacturing.
FAQ & Fehlerbilder
Die Entnahme wird abgelehnt. Dann reicht der Bestand einer Komponente nicht. Der Auftrag nennt, welche.
Ein Auftrag rechnet mit alten Positionen. Das ist Absicht: Er hängt an der Stücklisten-Fassung, mit der er angelegt wurde.
Eine Stückliste lässt sich nicht ändern. Freigegebene Fassungen sind fest. Legen Sie eine neue Fassung an.