---
title: "Manufacturing"
description: "Stücklisten. Jede App ist ein Modul auf einem gemeinsamen Datenmodell."
canonical: "https://obop.dev/de/apps/manufacturing/"
lang: "de"
---

# Manufacturing

## Wofür sie gedacht ist

Define what a product is made of and plan manufacturing orders through draft, confirmed, in progress and done. Component stock is not consumed automatically.

## Was das Paket leistet und was nicht

Bills of materials and manufacturing orders with a draft, confirmed, in progress and done flow. Component stock is not consumed automatically.

## Moduldetails

- **Version:** `0.2.0`
- **Autor:** SpaceCorps
- **Lizenz:** [AGPL-3.0-or-later](https://spdx.org/licenses/AGPL-3.0-or-later.html)
- **Benötigt Kern:** `^0.2` (aktuell ist Kern 0.2.0)
- **Reifegrad:** Experimentell
- **Kategorien:** Lieferkette

## Modelle

### `manufacturing_bom`

A recipe: the components needed to make a product

Lesegruppe: `manufacturing.user`. Schreibgruppe: `manufacturing.manager`.

| Feld | Art | Datenklasse | Personenbezogene Daten | Gruppe | Agenten sehen | Beschreibung |
|---|---|---|---|---|---|---|
| `product_id` | ref → product | `none` | nein | `manufacturing.user` | im Klartext | The finished product the recipe makes |
| `name` | text | `none` | nein | `manufacturing.user` | im Klartext | Name of the recipe, for example Standard assembly |
| `quantity` | number | `none` | nein | `manufacturing.user` | im Klartext | Units of the finished product one run produces |
| `instructions` | longtext | `none` | nein | `manufacturing.user` | im Klartext | Assembly notes for the shop floor |
| `active` | bool | `none` | nein | `manufacturing.user` | im Klartext | Whether the recipe can be used for new orders |

### `manufacturing_bom_line`

One component of a bill of materials

Lesegruppe: `manufacturing.user`. Schreibgruppe: `manufacturing.manager`.

| Feld | Art | Datenklasse | Personenbezogene Daten | Gruppe | Agenten sehen | Beschreibung |
|---|---|---|---|---|---|---|
| `bom_id` | ref → manufacturing_bom | `none` | nein | `manufacturing.user` | im Klartext | The recipe the component belongs to |
| `component_id` | ref → product | `none` | nein | `manufacturing.user` | im Klartext | The product consumed |
| `quantity` | number | `none` | nein | `manufacturing.user` | im Klartext | Units of the component used per run |

### `manufacturing_order`

An instruction to produce a quantity of a product

Lesegruppe: `manufacturing.user`. Schreibgruppe: `manufacturing.user`.

| Feld | Art | Datenklasse | Personenbezogene Daten | Gruppe | Agenten sehen | Beschreibung |
|---|---|---|---|---|---|---|
| `reference` | text | `none` | nein | `manufacturing.user` | im Klartext | Order number, for example MO-0042 |
| `bom_id` | ref → manufacturing_bom | `none` | nein | `manufacturing.user` | im Klartext | The recipe to follow |
| `quantity` | number | `none` | nein | `manufacturing.user` | im Klartext | Units of the finished product to make |
| `planned_on` | date | `none` | nein | `manufacturing.user` | im Klartext | Date production should start (YYYY-MM-DD) |
| `deadline` | date | `none` | nein | `manufacturing.user` | im Klartext | Date the goods are needed (YYYY-MM-DD) |
| `responsible` | text | `internal` | ja | `manufacturing.user` | maskiert | Name of the person in charge of the run |
| `state` | select (draft, confirmed, in_progress, done, cancelled) | `none` | nein | `manufacturing.user` | im Klartext | Order status: draft, confirmed, in_progress, done, cancelled |

## Workflows

### `manufacturing_order`

| Aktion | Bewegt | Wer sie ausführen darf | Freigabe |
|---|---|---|---|
| `manufacturing_order.confirm` | state: draft → confirmed | `manufacturing.manager` | nein |
| `manufacturing_order.start` | state: confirmed → in_progress | `manufacturing.user` | nein |
| `manufacturing_order.finish` | state: in_progress → done | `manufacturing.user` | nein |
| `manufacturing_order.cancel` | state: draft → cancelled | `manufacturing.user` | nein |

## Berechtigungsgruppen

Von dieser App verwendete Gruppen:

- `manufacturing.manager`
- `manufacturing.user`

## Freigabeschritte

Kein Schritt dieser App braucht eine Freigabe, abgesehen vom Löschen von Datensätzen.

## Was Agenten tun können und was nicht

Ein Agent kann Datensätze dieser App lesen, durchsuchen, anlegen und aktualisieren sowie Aktionen ausführen, die keine Freigabe brauchen, und zwar innerhalb der Berechtigungsgruppen seines Tokens.

Diese Schritte kann er nur vorschlagen, und eine Person muss sie freigeben: `manufacturing_bom.delete`, `manufacturing_bom_line.delete`, `manufacturing_order.delete`.

Personenbezogene Daten werden als Platzhalter maskiert: `manufacturing_order.responsible`.

## Abhängigkeiten

Jede Abhängigkeit nennt die Versionen, die sie akzeptiert. Integrierte Apps werden mit dem Kern versioniert; eine Anforderung an sie wird daher gegen die Kernversion geprüft.

- [Products](/de/apps/products/): `^0.2` (integriert)

Beim Installieren dieser App aus dem Marktplatz werden fehlende Abhängigkeiten mitinstalliert, in einem Plan, der einmal bestätigt wird.

## Installation

Installieren Sie sie in der App Customize (Marktplatz) oder über die Kommandozeile:

```bash
obop modules install-from manufacturing
```

Erfordert eine Datenbank und Administratorrechte.

## Selbst bauen

[Der Modulleitfaden zeigt, wie Apps wie diese geschrieben werden](/de/docs/reference/module-manifest/)
