Artikelkatalog, Varianten & Kategorien
catalog
inventory_logistics
🛡️ RLS Protected
Zentraler Artikelstamm, Variantenmatrix, Preislisten, Standardkategorien und dynamische Merkmals-Fieldsets.
⚡ Workflows & Lifecycles
Benutzerbefehl: warehouse product crud subagent
plan:command_warehouse_product_crud_subagent
Geprüfter Durable-Plan (durable_plan), Start: manual_command.
⚙️ Fachprozesse & Capabilities (System-Fachlogik)
Registrierte Fachoperationen und System-Capabilities dieses Moduls zur Steuerung von Workflows, Kaskaden und KI-Agenten.
| Capability & Schlüssel | Fachliche Bezeichnung | Ausführung / Coverage | Risikostufe & Freigabe | Effekte & Kaskaden |
|---|---|---|---|---|
Agent-Einstieg warehouse_product_crud_subagent
agent_entry:warehouse_product_crud_subagent
|
Agent-Einstieg warehouse_product_crud_subagent
Quelle:
code:module_agent_map
|
manual_entry |
✓ Auto
|
Keine Seiteneffekte deklariert |
Stückliste
capability:catalog.bom.explode
Op:
catalog.bom.explode
|
Objekt:
bom
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Location: create location
capability:catalog.location.create_location
Op:
catalog.location.create_location
|
Objekt:
location
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Location: merge location
capability:catalog.location.merge_location
Op:
catalog.location.merge_location
|
Objekt:
location
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Location: update location
capability:catalog.location.update_location
Op:
catalog.location.update_location
|
Objekt:
location
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Preisliste
capability:catalog.price_list.publish
Op:
catalog.price_list.publish
|
Objekt:
price_list
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product: confirm
capability:catalog.product.confirm
Op:
catalog.product.confirm
|
Objekt:
product
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product: create product
capability:catalog.product.create_product
Op:
catalog.product.create_product
|
Objekt:
product
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product: delete product
capability:catalog.product.delete_product
Op:
catalog.product.delete_product
|
Objekt:
product
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Artikel freigeben
capability:catalog.product.publish
Op:
catalog.product.publish
|
Objekt:
product
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product: update product
capability:catalog.product.update_product
Op:
catalog.product.update_product
|
Objekt:
product
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product Category: bind attribute
capability:catalog.product_category.bind_attribute
Op:
catalog.product_category.bind_attribute
|
Objekt:
product_category
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product Category: create
capability:catalog.product_category.create
Op:
catalog.product_category.create
|
Objekt:
product_category
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product Category: delete
capability:catalog.product_category.delete
Op:
catalog.product_category.delete
|
Objekt:
product_category
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product Category: seed category sets
capability:catalog.product_category.seed_category_sets
Op:
catalog.product_category.seed_category_sets
|
Objekt:
product_category
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product Category: seed default fieldsets
capability:catalog.product_category.seed_default_fieldsets
Op:
catalog.product_category.seed_default_fieldsets
|
Objekt:
product_category
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product Category: seed standard fieldsets
capability:catalog.product_category.seed_standard_fieldsets
Op:
catalog.product_category.seed_standard_fieldsets
|
Objekt:
product_category
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product Category: unbind attribute
capability:catalog.product_category.unbind_attribute
Op:
catalog.product_category.unbind_attribute
|
Objekt:
product_category
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product Category: update
capability:catalog.product_category.update
Op:
catalog.product_category.update
|
Objekt:
product_category
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product Category: update fieldset meta
capability:catalog.product_category.update_fieldset_meta
Op:
catalog.product_category.update_fieldset_meta
|
Objekt:
product_category
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product Supplier Info: create
capability:catalog.product_supplier_info.create
Op:
catalog.product_supplier_info.create
|
Objekt:
product_supplier_info
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product Supplier Info: delete
capability:catalog.product_supplier_info.delete
Op:
catalog.product_supplier_info.delete
|
Objekt:
product_supplier_info
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product Supplier Info: set preferred
capability:catalog.product_supplier_info.set_preferred
Op:
catalog.product_supplier_info.set_preferred
|
Objekt:
product_supplier_info
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product Supplier Info: update info
capability:catalog.product_supplier_info.update_info
Op:
catalog.product_supplier_info.update_info
|
Objekt:
product_supplier_info
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product Variant: create attribute
capability:catalog.product_variant.create_attribute
Op:
catalog.product_variant.create_attribute
|
Objekt:
product_variant
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Product Variant: generate variants
capability:catalog.product_variant.generate_variants
Op:
catalog.product_variant.generate_variants
|
Objekt:
product_variant
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Lieferantenartikel
capability:catalog.supplier_item.sync
Op:
catalog.supplier_item.sync
|
Objekt:
product
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Produktvarianten erzeugen
capability:catalog.variant.generate
Op:
catalog.variant.generate
|
Objekt:
product
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Artikel anlegen
capability:product.create
Op:
product.create
|
Intent:
create_product
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
product: create form
form_surface_anchor:product.create
|
Objekt:
product
Quelle:
code:erp_form_surface
|
operator_surface |
✓ Auto
|
Keine Seiteneffekte deklariert |
product: edit form
form_surface_anchor:product.edit
|
Objekt:
product
Quelle:
code:erp_form_surface
|
operator_surface |
✓ Auto
|
Keine Seiteneffekte deklariert |
product_bom: edit form
form_surface_anchor:product_bom.edit
|
Objekt:
product_bom
Quelle:
code:erp_form_surface
|
operator_surface |
✓ Auto
|
Keine Seiteneffekte deklariert |
product_supplier: edit form
form_surface_anchor:product_supplier.edit
|
Objekt:
product_supplier
Quelle:
code:erp_form_surface
|
operator_surface |
✓ Auto
|
Keine Seiteneffekte deklariert |
Benutzerbefehl: warehouse product crud subagent
plan:command_warehouse_product_crud_subagent
|
Benutzerbefehl: warehouse product crud subagent
Quelle:
code:reviewed_execution_plan
|
durable_plan |
✓ Auto
|
Keine Seiteneffekte deklariert |
🧠 Fachprozess-Erzählung & Dual Knowledge Architektur
Synthese aus der ideologischen Blaupause (Meta-Fachlogik / Soll), der faktischen System-Implementierung (System-Fachlogik / Ist) und No-Code Customizing für KI-Consultants.
Der durchgängige Businessprozess im Detail (End-to-End Fließtext-Erzählung)
Der durchgängige Lager- und Logistikprozess in der betrieblichen Praxis
Die Lagerlogistik in Centurio ERP steuert den gesamten physischen Materialfluss – von der Vereinnahmung im Wareneingang über die dynamische Einlagerung, interne Puffer- und Nachschubtransfers bis hin zur wegeoptimierten Multi-Order-Kommissionierung und dem Versand.
1. Wareneingang & Identifikation (Goods Inward)
Der logistische Lebenszyklus von Artikeln beginnt an der Laderampe:
- Eintreffen der Ware: Lieferungen treffen auf Basis von Einkaufsbestellungen (
purchasing), internen Umlagerungen oder Kundenretouren (returns) ein. - Identifikation & Barcode-Scan: Über mobile Handheld-Terminals oder Scanner wird der Packstück-Barcode (EAN/GTIN, NVE/SSCC) erfasst. Das System verifiziert über die Capability
cap:inventory.goods_receipt.createdie Bestellbindung und öffnet den Wareneingangsbeleg. - Mengen- und Sichtprüfung: Es erfolgt der Abgleich zwischen Lieferschein und physischem Ist. Bei Abweichungen (Unter- oder Überlieferungen) oder Transportschäden wird sofort ein Schadensprotokoll mit Fotodokumentation angelegt.
- Chargen- und Seriennummernerfassung: Verlangt der Artikel laut Stammdaten Chargen- oder Seriennummernführung (z.B. Stahlchargen, Elektronikkomponenten, verderbliche Chemikalien), erzwingt das System die Eingabe der Losnummer (
StockLot) und des Mindesthaltbarkeitsdatums (MHD). - Quarantäne-Sperrlager: Beschädigte oder prüfpflichtige Artikel werden nicht sofort frei eingebucht, sondern automatisiert in den gesperrten Quarantänebereich (
quarantine_location) gebucht, bis das Qualitätsmanagement die Freigabe erteilt.
2. Einlagerungsstrategien & Platzvergabe (Slotting & Putaway)
Nach erfolgreicher Qualitätsprüfung schlägt die LVS-Engine den optimalen Ziel-Lagerplatz vor:
- Hierarchische Fachkoordinaten: Lagerplätze sind eindeutig adressiert nach dem Schema
Gebäude - Zone - Gang - Regal - Ebene - Fach(z.B.L1-Z2-G04-R12-E03-F02). - Chaotische Lagerhaltung vs. Festplatzsystem:
- Festplatzsystem: Artikel haben feste Stammfächer (ideal für Kleinteile und Schnelldreher an Werkstattstationen).
- Freie (chaotische) Lagerhaltung: Das System sucht ein freies Fach passender Dimensionierung und Traglast. Das minimiert Fahrwege des Gabelstaplers und maximiert den Raumausnutzungsgrad.
- ABC-Zonierung (Slotting): Schnelldreher (A-Güter) werden wegeoptimiert in den unteren Ebenen und nahe an der Kommissionierzone platziert; Langsamdreher (C-Güter) auf den oberen Rängen oder in Außenbereichen.
3. Bestandsreservierung & ATP-Logik (Available-to-Promise)
Bestände im Lager sind mehr als nur ein numerischer Zähler:
- Sobald ein Verkaufsauftrag (
sales), Fertigungsauftrag (assembly) oder Arbeitsauftrag (workorders) genehmigt wird, berechnet das System die Verfügbarkeit: $$\text{ATP} = \text{Physischer Bestand} - \text{Reservierter Bestand} + \text{Bestätigter Beschaffungszulauf}$$ - Über
cap:inventory.stock.reservewerden die benötigten Mengen hart reserviert. Das verhindert zuverlässig Überbuchungen (Stock-Outs) und Doppelzusagen an Kunden. - Auslagerungsstrategie: Das System reserviert standardmäßig nach FIFO (First-In, First-Out) zur Vermeidung von Veralterung, bzw. nach FEFO (First-Expired, First-Out) bei verfallbaren Gütern.
4. Automatischer Nachschub (Replenishment & Kanban)
Ein kritischer Engpass in Fabriken und Lagern ist das Leerlaufen von Bereitstellungs- und Pufferlagerplätzen:
- Jeder Lagerplatz oder jede Logistikzone kann mit einem Mindestbestand (Meldebestand) und einem Maximalbestand parametriert werden.
- Fällt der Bestand an einem Kommissionierfach oder an einem Fertigungs-Arbeitsplatz unter die Meldeschwelle, feuert das System ein Signal.
- Das Modul erzeugt vollautomatisch eine interne Nachschub-Aufgabe (
cap:inventory.stock.transfer): Ein Hubwagen- oder Staplerfahrer erhält auf seinem mobilen Terminal den Fahrauftrag, Nachschubpaletten aus dem Hochregallager in das Kommissionierfach umzulagern.
5. Kommissionierung & Pickvorgang (Order Picking)
Trifft ein Versand- oder Fertigungsauftrag zur Ausführung ein, beginnt das Picking:
- Picklistenerzeugung: Über
cap:inventory.picking.generatefasst das System Auslagerpositionen zusammen. Je nach Lagertyp unterstützt Centurio ERP:- Single-Order Picking: Abarbeitung eines einzelnen Auftrags.
- Batch / Multi-Order Picking: Mehrere Aufträge werden wegeoptimiert in einem Rundgang gepickt und auf Kommissionierwagen mit Fachaufteilung verteilt (Pick-by-Light / Pick-by-Voice fähig).
- Pick-Quittierung: Der Picker scannt das Fach, den Artikelbarcode und gegebenenfalls die Chargennummer. Buchungsfehler werden durch den Scanner sofort mit Fehlerton abgewiesen.
- Materialbereitstellung: Die gepickten Artikel werden physisch an den Packtisch des Warenausgangs oder den Bereitstellungspuffer der Fertigung übergeben (
cap:inventory.picking.complete).
6. Packtisch, Versand & Warenausgangsbuchung (Dispatch)
Am Packtisch erfolgt die Versandfertigung:
- Überprüfung des Sendungsinhalts (Scan-Kontrolle gegen Pickliste).
- Packstückbildung und Wiegen: Erfassung von Bruttogewicht und Abmessungen.
- Automatischer Druck von Versandetiketten (DHL, UPS, Dachser, Schenker via Speditions-API) und Frachtpapieren.
- Warenausgangs-Gateway: Der Gateway schließt die Auslagerung ab: Der physische Bestand wird final abgebucht (
StockMove: OUT), der Lieferschein GoBD-revisionssicher erzeugt und der Verkaufsauftrag auf versendet geschaltet.
7. Stichtags- und permanente Inventur
Zur Einhaltung handelsrechtlicher Pflichten (HGB § 240) bietet das Modul:
- Permanente Inventur: Fächer werden rollierend während des Jahres gezählt (z.B. immer dann, wenn ein Fach leergepickt wird (Zero-Crossing Check)).
- Stichtagsinventur: Sperrung von Lagerbereichen, Zähllistenausgabe, Doppelzählungsabgleich und Genehmigung von Zähldifferenzen über Vier-Augen-Freigabe vor Verbuchung auf das GuV-Bestandsveränderungskonto.
Meta-Fachlogik: Ideologische Blaupause, Soll-Weltbild & Normen
Meta-Fachlogik: Die ideologische Blaupause & das normative Weltbild
Die Meta-Fachlogik des Lagers basiert auf Best-Practice-Standards des Supply Chain Council (SCOR-Modell), VDI-Richtlinien zur Intralogistik und gesetzlichen Bewertungsvorschriften nach HGB und GoBD.
1. Logistische Philosophien & Prinzipien
- SCOR-Modell (Supply Chain Operations Reference - sD1/sD2): Standardisierung der Prozesse Deliver Stocked Product und Deliver Make-to-Order Product. Ziel ist die Maximierung der Liefertreue (OTIF - On-Time In-Full) bei minimalen Lagerhaltungskosten (Holding Costs).
- Vermeidung von Überbeständen vs. Lieferfähigkeit: Das Spannungsfeld zwischen gebundenem Betriebskapital (Working Capital) und Fehlmengenkosten (Stockout Costs) wird über dynamische Sicherheitsbestände und die Andler-Losgrößenformel optimiert.
- Wegeminimierung in der Intralogistik: Kommissionierwege machen bis zu 60% der Gesamtarbeitszeit im Lager aus. Das Soll-Modell verlangt strikt wegeoptimierte S-Shape- oder Return-Routen sowie ABC-Klassifikation.
2. Gesetzliche Normen & Standards
- HGB §§ 240, 241 (Inventur & Bewertung):
- Pflicht zur Erstellung eines lückenlosen Inventars zum Abschluss des Geschäftsjahres.
- Gesetzliche Zulässigkeit von Stichprobeninventuren und permanenter Inventur nur bei lückenloser digitaler Lagerbuchführung mit Festschreibung.
- Gesetzliche Bewertungsvereinfachungsverfahren: FIFO (First-In-First-Out) und LIFO (Last-In-First-Out) nach HGB § 256. Centurio ERP setzt primär FIFO und FEFO ein.
- GoBD (Grundsätze zur ordnungsmäßigen Führung digitaler Unterlagen):
- Keine Bestandsbuchung ohne Beleg (Belegprinzip).
- Jede Ein-, Aus- oder Umlagerung muss einen unveränderbaren Transaktionsstempel mit Zeitstempel, Benutzer-ID und Herkunftsbeleg tragen.
- Gefahrstoffverordnung (GefStoffV) & Zusammenlagerungsverbote:
- Vorschriften nach TRGS 510 zur strikten Trennung inkompatibler Gefahrgutklassen (z.B. brennbare Flüssigkeiten vs. brandfördernde Stoffe).
3. Invarianten des Soll-Modells
- Kein negativer physischer Lagerbestand (physisches Material kann nicht kleiner Null sein).
- Keine Auslagerung oder Reservierung von Chargen im Quarantäne- oder Sperrstatus.
- Jede Umlagerung zwischen Lagerplätzen erzeugt einen lückenlos nachvollziehbaren
StockMove. - Inventurdifferenzen dürfen nur von autorisierten Rollen (Lagerleiter/CFO) mit Pflichtbegründung verbucht werden.
Normbezug für catalog
Prüfkatalog Standards-Registry v2026.10.1. Dieser Abschnitt ordnet Prüfreferenzen zu und stellt nicht fest, dass das Modul eine Norm einhält; keine Kataloganforderung ist als PASS bewertet.
Im Prüfkatalog ist keine modulspezifische Anforderung und keine primäre Prüfreferenz hinterlegt.
Plattformweite Katalogwerke mit Geltungsbereich all (unter anderem WCAG 2.2, EN 301 549 V4.1.1, ISO 9241-110:2020, ISO 9241-210:2019, ISO/IEC 25010:2023, ISO 9001:2026, ISO/IEC 27001:2022, APQC PCF 8.0, DSGVO, EU AI Act) umfassen dieses Modul mit. Wo der Volltext fehlt, bleibt der Zugang ohne Quelle, lizenzpflichtig oder nur als öffentliche Zusammenfassung gekennzeichnet. Auch diese Nennung weist keine eingehaltene Vorgabe nach.
Systemische Fachlogik: Faktische Umsetzung in Centurio ERP & Capabilities
Systemische Fachlogik: Die faktische Umsetzung in Centurio ERP
Die System-Fachlogik dokumentiert die konkrete technische Implementierung des LVS im Monolithen unter Nutzung der Datenbankmodelle, Capabilities, Gateways und Events.
1. Datenmodelle & Semantische Schicht (ORM)
StockLocation: Hierarchischer Lagerort (Felder:id,tenant_id,name,code,parent_id,location_type[warehouse, zone, aisle, bin, transit, quarantine],is_active,max_weight_kg,max_volume_m3).StockItem: Artikelstamm-Referenz mit Lagerparametern (Felder:product_id,min_quantity,max_quantity,reorder_point,lead_time_days).StockQuant: Der atomare Bestandsnachweis (Felder:id,product_id,location_id,lot_id,serial_number,quantity,reserved_quantity).StockLot: Chargen und Losverwaltung (Felder:lot_number,product_id,expiration_date,quarantine_status,supplier_lot_number).StockMove: Unveränderliches Transaktionsbuch (Felder:source_location_id,destination_location_id,product_id,lot_id,quantity,reference_type,reference_id,created_by,timestamp).PickingOrder: Kommissionierauftrag mit verknüpftenPickingLines.
2. Das Capability-Register
cap:inventory.goods_receipt.create: Anlegen eines Wareneingangs mit Mengen- und Chargenabgleich.cap:inventory.stock.transfer: Umlagerung von Material zwischen beliebigen Fächern oder Werken.cap:inventory.stock.reserve: Blockieren von Beständen für Kundenaufträge oder Fertigung.cap:inventory.stock.release_reservation: Freigabe reservierter Mengen bei Stornierung oder Änderung.cap:inventory.picking.generate: Erzeugung einer wegeoptimierten Pickliste nach ABC-Zonen.cap:inventory.picking.complete: Quittierung der Entnahme und Übergabe an Packtisch.cap:inventory.replenishment.run: Automatischer Scan nach Meldebeständen und Auslösung interner Transfers.cap:inventory.inventory_count.record: Erfassung von Zählergebnissen bei Stichtags- oder permanenter Inventur.cap:inventory.inventory_count.reconcile: Buchen der Inventurdifferenz auf Aufwandskonten.
3. Der Gateway gw:warehouse_dispatch@v1
Sichert die Warenauslagerung atomar ab:
- Validierung: Prüft, ob die Pickliste vollständig bestätigt ist und alle Reservierungen auflösbar sind.
- Buchung: Bucht
StockQuant.quantityab, hebt die Reservierung auf, generiert denStockMove: OUTund aktualisiert den Lieferstatus des Auftrags. - Outbox-Signal: Feuert
STOCK_LEVEL_CHANGEDundORDER_DISPATCHEDzur Benachrichtigung des Kunden und der Buchhaltung.
4. Statusmodelle
- Lagerort-Status:
active(Freigegeben),locked(Gesperrt für Zählung),quarantine(Sperrlager),maintenance(Instandhaltung). - Kommissionierauftrag:
draft➔assigned➔in_picking➔packed➔dispatched.
5. Umgesetzte LVS-Erweiterungen (Code-Stand 2026-10-23, reale Bezeichner)
Bestand bleibt bewegungsbasiert (StockMovement als einziges Ledger); alle Erweiterungen sind operative Schichten darüber.
- ABC/XYZ & Zonierung (
inventory/abc_slotting.py): Klassen nach Wert (Product.abc_class), Zugriffshäufigkeit (Product.slotting_class) und Nachfrageschwankung (Product.xyz_class) nur per geprüfter Übernahme (cap:inventory.abc_classification.apply, unveränderlicheabc_classification_runs); ABC-Zonen (WarehouseZone.abc_class) und Greifhöhe je Fach (Location.access_level) steuern die Einlagerung; Umlagerungsliste (cap:warehouse.abc_relocation.execute); Cube-per-Order-Index; tägliche Prüferinnerung. - Ladungsträger & SSCC (
inventory/inbound.py,HandlingUnit): Palette/Karton/Wanne, verschachtelbar; SSCC (NVE) nach GS1 nur mit hinterlegter GS1-Basisnummer, sonst interner Code; Umlagern bucht je Inhaltsposition (cap:inventory.handling_unit.create,cap:inventory.handling_unit.move); GS1-128-Etikettdaten. - Lieferavis & Blindeingang (
InboundAdvice): Avis manuell/aus Bestellung/EDI/Agent; Zählung blind (Sollmengen verborgen), Abweichungen überreceiving_tolerance_pctnur mit Freigabe der Lagerleitung; Abschluss erzeugt einen Wareneingangsentwurf (cap:inventory.inbound_advice.complete_receiving), Lieferanten-SSCC werden Ladungsträger. - Lagerfähigkeit (
inventory/storage_rules.py) – geprüft bei jeder Einlagerung und Umbuchung: Fachmaße/-volumen (Location.max_*), Überhang-Alternativen bei Übergröße, Temperaturbereich Artikel ↔ Zone, Gefahrstoff-Zusammenlagerung nach mandantengepflegter Matrix (StorageClassRule, ungeregelte Paare werden abgelehnt;cap:warehouse.storage_class_rule.set), Kartonagenvorschlag (CartonType). - Ausführung (
inventory/execution.py): AufgabensteuerungWarehouseTaskaus Picks, Einlagerungen, Inventuren, Avisen und ABC-Umlagerungen mit Doppelspiel (gleiche Zone zuerst); Pick-and-Pass-Abschnitte mit Übergabe; Leistungskennzahlen je Mitarbeiter; Sortierwand (PutWall); Hofverwaltung (YardVisit). - Geräte & Voice (
inventory/devices.py): Pick-/Put-to-Light, AutoStore/AMR/Fördertechnik herstellerneutral über Pull-Gateway (Token-Hash) oder Simulator; Quittungen werdenPickConfirmation; Pick-by-Voice mit serverseitig geprüften Prüfziffern; Abschluss immer über den regulären Pickablauf.
KI-Consultant Leitfaden: Customizing- & No-Code-Konzept (Soll-Ist-Synthese)
KI-Consultant Blueprint: Customizing & No-Code Architektur
Dieser Leitfaden dient Beratern und autonomen KI-Agenten zur Konzeptionierung individueller Lagerstrukturen und Automatisierungen.
1. Kundenanforderungsanalyse
- Handelt es sich um ein Standardlager, ein Tiefkühllager, ein Zolllager oder ein Werkstatt-Konsignationslager?
- Welche Identifikationsmittel nutzt der Kunde (QR-Codes, EAN-13, GS1-128 mit Chargen-KI, RFID)?
- Wie viele Lagerstufen existieren (Zentrallager ➔ Regionallager ➔ Servicewagen)?
2. No-Code Zusatzfelder (Custom Fields)
Im No-Code Studio (/semantic/customizing) anzulegen:
- Auf
StockLocation:temperature_zone(Auswahlliste: Normal +15°C bis +25°C, Gekühlt +2°C bis +8°C, Tiefkühl -20°C): Zur Absicherung der Kühlkettenlogistik.floor_load_limit_kg_m2(Dezimal): Maximale Decken- bzw. Bodenbelastbarkeit.
- Auf
StockLot:country_of_origin(ISO-2 Code): Zollrechtlicher Ursprungsnachweis (KN8/Ursprung).lab_test_report_url(URL/Dokument): Link zum chemischen oder physikalischen Prüfbericht.
- Auf
StockMove:transport_equipment_id(Text): Verwendeter Stapler oder Transportwagen zur Nachverfolgung.
3. No-Code Workflow Canvas DAGs
Blueprint A: Automatischer Kanban-Nachschub (Replenishment DAG)
- Trigger-Node: Event
STOCK_LEVEL_CHANGED. - Condition-Node:
quant.location.location_type == 'picking_bin' AND quant.quantity <= stock_item.reorder_point. - Action-Node: Erzeuge sofort einen internen Transportauftrag von
quant.product.default_storage_locationzum Zielfach mit Mengestock_item.max_quantity - quant.quantity. - Notification-Node: Sende Push-Benachrichtigung an Handheld-Gruppe Staplerfahrer.
Blueprint B: Kühlketten-Alarmierung (Temperature Alert DAG)
- Trigger-Node: IoT-Webhook über UIP-Connector (
temperature_sensor_reading). - Condition-Node:
sensor_temp > location.max_temp. - Action-Node: Sperre alle betroffenen
StockLotsauf Statusquarantine(cap:inventory.stock.lock_lot) und erzeuge eine dringende QM-Prüfaufgabe.
📚 Operative Prozessbegriffe & Transaktionsschnittstellen
- Wareneingangsbeleg aus Lieferantenbestellung oder Streckengeschäft
- Fertigmeldung aus der Werkstatt / Montage
- Reservierungsanforderung aus Verkaufsauftrag oder Werkstattauftrag
- Umlagerungsauftrag zwischen Filialen, Werken oder Konsignationslagern
- Kundenretoure mit Quarantäne-Zuweisung
- Gebuchte Lagerzugänge mit Fach- und Chargenzuweisung
- Wegeoptimierte Kommissionier- und Picklisten für das Lagerpersonal
- Warenausgangsbelege und Speditionsversandpapiere (NVE/SSCC)
- Permanente Inventur-Zählprotokolle und Buchungsbelege für Differenzen
- Echtzeit-Bestandsspiegel mit ATP-Verfügbarkeit für den Vertrieb
- goods_receipt_posted -> inventory_level_updated: Sofortige Erhöhung des freien Bestands
- stock_reserved -> update_atp_view: Aktualisierung der Vertriebsverfügbarkeit
- picking_completed -> staging_area_docked: Übergabe der Sendung an den Warenausgang
- dispatch_confirmed -> sales_order_shipped: Statuswechsel des Verkaufsauftrags auf versendet
- reorder_point_reached -> trigger_replenishment: Automatischer Nachschubauftrag
- Sperrung schadhafter Chargen und Umlagerung in das Quarantänelager
- Schwund- und Bruchbuchungen bei Beschädigung mit Genehmigungsnachweis
- Manuelle Fachumbuchungen bei Reorganisation oder Platzoptimierung
- Zollrechtliche Verwahrung bei Einfuhrgütern bis zur zollamtlichen Abfertigung
- Lagerstruktur mit Gebäuden, Gängen und Fächern im Stammdatenbaum anlegen
- Auslagerungsstrategie (FIFO oder FEFO nach Verfallsdatum) je Artikelkategorie festlegen
- Barcode-Scanpflicht für Fächer und Chargen im mobilen Lagerclient aktivieren
- Temperaturbereich je Zone und je Artikel sowie Gefahrstoff-Lagerklassen direkt pflegen (eingebaute Felder, keine Zusatzfelder nötig)
- Zusammenlagerungsmatrix mit Quelle (z. B. TRGS 510) erfassen und als geprüft markieren
- GS1-Basisnummer hinterlegen, damit Ladungsträger echte SSCC erhalten
- Blindeingang und Wareneingangstoleranz in den Lagereinstellungen festlegen
- ABC-Zonen, Greifhöhe und Prüfintervall einrichten; Klassen regelmäßig geprüft übernehmen
- Pick-/Put-to-Light- und Automatik-Gateways registrieren; zuerst mit dem Simulator testen
🗄️ Data Models & Fields
🔌 Entry Points (UI & APIs)
| Art | Method | Endpoint / Path | Titel & Zweck | Required Role |
|---|---|---|---|---|
| ⚡ REST API | DELETE | /api/v1/catalog/category-taxonomy-bindings/{standard_code} |
delete_category_taxonomy_binding
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | DELETE | /api/v1/catalog/products/categories/{category_id} |
delete_product_category
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | DELETE | /api/v1/catalog/products/categories/{category_id}/fieldset/bindings/{field_key:path} |
unbind_category_attribute_api
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | DELETE | /api/v1/catalog/products/{product_id}/accessories/{accessory_product_id} |
remove_product_accessory
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | DELETE | /api/v1/catalog/products/{product_id}/compatible-equipment/{equipment_product_id} |
remove_compatible_equipment
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | DELETE | /api/v1/catalog/products/{product_id}/compatible-parts/{part_product_id} |
remove_compatible_part
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | DELETE | /api/v1/catalog/products/{product_id}/supplier-info/{info_id} |
delete_supplier_info
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | DELETE | /api/v1/catalog/units/{unit_id} |
delete_unit
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/barcode/lookup |
lookup_barcode
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/barcode/search |
search_barcode
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/category-taxonomy-bindings |
list_category_taxonomy_bindings
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/category-taxonomy-bindings/{standard_code}/history |
category_taxonomy_binding_history
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/locations |
list_locations
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/locations/{location_id}/end-customer-aliases |
list_end_customer_aliases
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/locations/{location_id}/neighbors |
location_neighbors
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/locations/{location_id}/stock |
location_stock
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/platform-fieldset-templates |
list_platform_fieldset_templates
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/platform-fieldset-templates/{standard_code} |
get_platform_fieldset_template
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/product-attributes |
list_product_attributes
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/products |
list_products
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/products/autocomplete |
autocomplete_products
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/products/categories |
list_product_categories
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/products/categories/{category_id} |
get_product_category
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/products/categories/{category_id}/fieldset |
get_category_fieldset_api
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/products/{product_id}/accessories |
list_product_accessories
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/products/{product_id}/compatible-equipment |
list_compatible_equipment
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/products/{product_id}/compatible-parts |
list_compatible_parts
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/products/{product_id}/lots |
product_lots
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/products/{product_id}/stock-detail |
product_stock_detail
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/products/{product_id}/supplier-info |
list_supplier_info
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/products/{product_id}/variants |
list_product_variants
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/scan/lookup |
scan_lookup
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/standard-categories/search |
search_standard_categories
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/standard-categories/top |
list_top_level_categories
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/standard-categories/{code} |
get_standard_category
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/standard-categories/{parent_code}/children |
list_child_categories
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/stock/cockpit |
stock_cockpit
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/stock/history |
stock_history
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/stock/issues |
stock_issues
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/stock/issues/{issue_id} |
get_stock_issue
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/stock/issues/{issue_id}/delivery-note.pdf |
stock_issue_delivery_note
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/stock/movements |
list_movements
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/stock/overview |
stock_overview
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/stock/reservations |
list_stock_reservations
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/stock/stats |
stock_stats
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/stock/valuation |
stock_valuation
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/stock/valuation/{product_id} |
stock_valuation_for_product
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/catalog/units |
list_units
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /api/v1/kn8/search |
search_reference
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /portal/{slug}/kategorien/ebene/{level} |
portal_category_level
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /portal/{slug}/kategorien/suche |
portal_category_search
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /portal/{slug}/kategorien/{category_identifier}/fieldset |
portal_category_fieldset
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /portal/{slug}/produkte |
products_page
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /products |
products_page
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /products/new |
product_create_page
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /products/{product_id} |
product_detail_page
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | GET | /products/{product_id}/edit |
product_edit_page
Semantic binding: inventory_only; mutation=False
|
products
|
| ⚡ REST API | PATCH | /api/v1/catalog/locations/{location_id} |
update_location
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | PATCH | /api/v1/catalog/products/categories/{category_id}/fieldset |
update_category_fieldset_meta_api
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | PATCH | /api/v1/catalog/products/categories/{category_id}/fieldset/bindings/{field_key:path} |
patch_category_attribute_binding_api
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | PATCH | /api/v1/catalog/products/{product_id} |
update_product
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | PATCH | /api/v1/catalog/products/{product_id}/supplier-info/{info_id} |
update_supplier_info
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | PATCH | /api/v1/catalog/units/{unit_id} |
update_unit
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/categories/suggest-for-product |
suggest_categories_for_product
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/categories/suggest-settings |
suggest_category_settings
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/locations |
create_location
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/locations/structure |
create_location_structure
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/locations/{location_id}/end-customer-aliases |
allocate_end_customer_alias
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/locations/{location_id}/end-customer-aliases/release |
release_end_customer_aliases
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/locations/{location_id}/merge |
merge_location
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/locations/{location_id}/unmerge |
unmerge_location
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/platform-fieldset-templates/seed |
seed_platform_fieldset_templates
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/platform-fieldset-templates/{standard_code}/toggle-active |
toggle_platform_fieldset_template
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/product-attributes |
create_product_attribute
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products |
create_product
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/categories |
create_product_category
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/categories/fieldset/bindings/remap-bulk |
bulk_remap_category_attributes_api
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/categories/seed-fieldsets |
seed_category_fieldsets_api
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/categories/{category_id}/fieldset/bindings |
bind_category_attribute_api
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/categories/{category_id}/fieldset/bindings/{field_key:path}/remap |
remap_category_attribute_api
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/categories/{category_id}/fieldset/bindings/{field_key:path}/toggle-required |
toggle_category_attribute_required_api
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/categories/{category_id}/fieldset/revisions |
create_category_fieldset_revision_api
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/categories/{category_id}/fieldset/revisions/{revision_id}/activate |
activate_category_fieldset_revision_api
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/categories/{category_id}/fieldset/revisions/{revision_id}/approve |
approve_category_fieldset_revision_api
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/categories/{category_id}/fieldset/revisions/{revision_id}/simulate |
simulate_category_fieldset_revision_api
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/categories/{category_id}/fieldset/validate |
validate_category_fieldset_api
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/{product_id}/accessories |
add_product_accessory
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/{product_id}/attributes |
update_product_attributes_api
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/{product_id}/compatible-equipment |
add_compatible_equipment
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/{product_id}/compatible-parts |
add_compatible_part
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/{product_id}/confirm |
confirm_product
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/{product_id}/photo |
upload_product_photo
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/{product_id}/photo-from-url |
import_product_photo_from_url_api
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/{product_id}/supplier-info |
create_supplier_info
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/{product_id}/supplier-info/{info_id}/preferred |
set_preferred_supplier_info
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/products/{product_id}/variants/generate |
generate_product_variants
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/standard-categories/seed |
seed_standard_categories
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/standard-categories/{code}/adopt |
adopt_standard_category
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/stock/adjustment |
stock_adjustment
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/stock/inbound |
stock_inbound
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/stock/issues |
create_stock_issue
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/stock/issues/{issue_id}/post |
post_stock_issue
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/stock/issues/{issue_id}/print-delivery-note |
print_stock_issue_delivery_note
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/stock/issues/{issue_id}/reverse |
reverse_stock_issue
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/stock/issues/{issue_id}/ship |
ship_stock_issue
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/stock/movements |
create_movement
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/stock/outbound |
stock_outbound
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/stock/reservations |
create_stock_reservation
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/stock/reservations/{reservation_id}/release |
release_stock_reservation
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/stock/transfer |
stock_transfer
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/stock/withdraw-partial |
stock_withdraw_partial
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/units |
create_unit
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/catalog/units/seed |
seed_units
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/kn8/reference/enrich-descriptions |
enrich_reference_descriptions
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/kn8/reference/import |
import_reference
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/kn8/reference/import-official |
import_official
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/kn8/reference/{reference_id}/activate |
activate_reference
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /api/v1/kn8/suggest |
suggest_reference
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | POST | /portal/{slug}/kategorien/{category_identifier}/validate |
portal_validate_category_fieldset
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | PUT | /api/v1/catalog/category-taxonomy-bindings/{standard_code} |
set_category_taxonomy_binding
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | PUT | /api/v1/catalog/platform-fieldset-templates/{standard_code} |
upsert_platform_fieldset_template
Semantic binding: operator_surface; mutation=True
|
products
|
| ⚡ REST API | PUT | /api/v1/catalog/products/categories/{category_id} |
update_product_category
Semantic binding: operator_surface; mutation=True
|
products
|
| 🖥️ WEB-UI | GET | /products/{id}/edit |
Artikel bearbeiten
Stammdaten, Preise und dynamische Fieldsets pflegen
|
catalog:write
|
| ⚡ REST API | POST | /api/v1/catalog/products/{id}/attributes |
Attribute speichern
Speichert typvalidierte semantische Merkmale
|
catalog:write
|
🛡️ Regulatory & Compliance
Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:
- UStG Steuersatzzuordnung
- Zolltarifnummern (KN8 / TARIC)
- GoBD Stammdatenänderungshistorie