Logistik & Frachtversand
logistics
inventory_logistics
🛡️ RLS Protected
Logistik & Frachtversand — aus Code abgeleitete Prozess- und API-Dokumentation.
⚡ Workflows & Lebenszyklen
Kundenauftrag → Abwicklung
cascade:business.customer_order.fulfill
Kaskade (review_gated).
Lieferschein-Vollverarbeitung
cascade:business.delivery_note.intake
Kaskade (review_gated).
Retourenbearbeitung
cascade:business.return_note.handling
Kaskade (review_gated).
Tour / Abholung einplanen
cascade_target:business.logistics.tour
Kaskade (review_gated).
Benutzerbefehl: logistics tour agent
plan:command_logistics_tour_agent
Geprüfter Durable-Plan (durable_plan), Start: manual_command.
Sendung
status:logistics_shipment
Beobachtbare Zustandsmaschine (observable_only). Übergänge hier nicht erzwungen — siehe Service-Validierung.
Tour
status:logistics_tour
Beobachtbare Zustandsmaschine (observable_only). Übergänge hier nicht erzwungen — siehe Service-Validierung.
⚙️ 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 logistics_tour_agent
agent_entry:logistics_tour_agent
|
Agent-Einstieg logistics_tour_agent
Quelle:
code:module_agent_map
|
manual_entry |
✓ Auto
|
Keine Seiteneffekte deklariert |
Tour / Abholung einplanen
capability:create_tour
Op:
create_tour
|
Objekt:
tour
Quelle:
code:capability_registry
|
reviewed |
🔒 Freigabe nötig
Risiko:
business_record
|
|
Cross-Dock-Vorgang anlegen
capability:crossdock.create
Op:
crossdock.create
|
Intent:
create_crossdock
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Cross Dock: add inbound
capability:crossdock.cross_dock.add_inbound
Op:
crossdock.cross_dock.add_inbound
|
Objekt:
cross_dock
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Cross Dock: add inbound from purchase
capability:crossdock.cross_dock.add_inbound_from_purchase
Op:
crossdock.cross_dock.add_inbound_from_purchase
|
Objekt:
cross_dock
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Cross Dock: add outbound
capability:crossdock.cross_dock.add_outbound
Op:
crossdock.cross_dock.add_outbound
|
Objekt:
cross_dock
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Cross Dock: add outbound from quote
capability:crossdock.cross_dock.add_outbound_from_quote
Op:
crossdock.cross_dock.add_outbound_from_quote
|
Objekt:
cross_dock
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Cross Dock: cancel
capability:crossdock.cross_dock.cancel
Op:
crossdock.cross_dock.cancel
|
Objekt:
cross_dock
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Cross Dock: create
capability:crossdock.cross_dock.create
Op:
crossdock.cross_dock.create
|
Objekt:
cross_dock
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Cross Dock: create from purchase
capability:crossdock.cross_dock.create_from_purchase
Op:
crossdock.cross_dock.create_from_purchase
|
Objekt:
cross_dock
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Cross Dock: dispatch
capability:crossdock.cross_dock.dispatch
Op:
crossdock.cross_dock.dispatch
|
Objekt:
cross_dock
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Cross Dock: receive
capability:crossdock.cross_dock.receive
Op:
crossdock.cross_dock.receive
|
Objekt:
cross_dock
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Cross Dock: remove line
capability:crossdock.cross_dock.remove_line
Op:
crossdock.cross_dock.remove_line
|
Objekt:
cross_dock
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Cross Dock: set allocation
capability:crossdock.cross_dock.set_allocation
Op:
crossdock.cross_dock.set_allocation
|
Objekt:
cross_dock
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Cross-Dock-Versand buchen
capability:crossdock.dispatch
Op:
crossdock.dispatch
|
Intent:
dispatch_crossdock
Quelle:
code:capability_registry
|
⚙️ Engine |
🔒 Freigabe nötig
Risiko:
business_record
|
|
Cross-Dock-Eingang buchen
capability:crossdock.receive
Op:
crossdock.receive
|
Intent:
receive_crossdock
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Spedition buchen
capability:logistics.carrier.book
Op:
logistics.carrier.book
|
Objekt:
shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Crossdock WE
capability:logistics.crossdock.receive
Op:
logistics.crossdock.receive
|
Objekt:
shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Crossdock Umschlag
capability:logistics.crossdock.stage
Op:
logistics.crossdock.stage
|
Objekt:
shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Dropship Versand
capability:logistics.dropship.confirm_ship
Op:
logistics.dropship.confirm_ship
|
Objekt:
shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Ablieferbeleg
capability:logistics.pod.capture
Op:
logistics.pod.capture
|
Objekt:
shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Shipment: assign to tour
capability:logistics.shipment.assign_to_tour
Op:
logistics.shipment.assign_to_tour
|
Objekt:
shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Sendung auf Tour setzen
capability:logistics.shipment.assign_tour
Op:
logistics.shipment.assign_tour
|
Intent:
assign_shipment_tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Versandlabel buchen (Sendcloud)
capability:logistics.shipment.book_label
Op:
logistics.shipment.book_label
|
Intent:
book_shipping_label
Quelle:
code:capability_registry
|
⚙️ Engine |
🔒 Freigabe nötig
Risiko:
external_effect
|
|
Shipment: cancel
capability:logistics.shipment.cancel
Op:
logistics.shipment.cancel
|
Objekt:
shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Sendung anlegen
capability:logistics.shipment.create
Op:
logistics.shipment.create
|
Intent:
create_shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Zustellung buchen
capability:logistics.shipment.deliver
Op:
logistics.shipment.deliver
|
Intent:
record_delivery
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Versandlabel
capability:logistics.shipment.label_print
Op:
logistics.shipment.label_print
|
Objekt:
shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Shipment: mark delivered
capability:logistics.shipment.mark_delivered
Op:
logistics.shipment.mark_delivered
|
Objekt:
shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Shipment: mark failed
capability:logistics.shipment.mark_failed
Op:
logistics.shipment.mark_failed
|
Objekt:
shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Shipment: mark in transit
capability:logistics.shipment.mark_in_transit
Op:
logistics.shipment.mark_in_transit
|
Objekt:
shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Shipment: mark picked up
capability:logistics.shipment.mark_picked_up
Op:
logistics.shipment.mark_picked_up
|
Objekt:
shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Shipment: set carrier tracking
capability:logistics.shipment.set_carrier_tracking
Op:
logistics.shipment.set_carrier_tracking
|
Objekt:
shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Sendungsereignis
capability:logistics.shipment.track_event
Op:
logistics.shipment.track_event
|
Objekt:
shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Shipment: update vehicle capacity profile
capability:logistics.shipment.update_vehicle_capacity_profile
Op:
logistics.shipment.update_vehicle_capacity_profile
|
Objekt:
shipment
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tour: add stop
capability:logistics.tour.add_stop
Op:
logistics.tour.add_stop
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tour: assign driver
capability:logistics.tour.assign_driver
Op:
logistics.tour.assign_driver
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tour: assign vehicle
capability:logistics.tour.assign_vehicle
Op:
logistics.tour.assign_vehicle
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tour aufteilen
capability:logistics.tour.break_bulk
Op:
logistics.tour.break_bulk
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tour: cancel tour
capability:logistics.tour.cancel_tour
Op:
logistics.tour.cancel_tour
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tour abschließen
capability:logistics.tour.complete
Op:
logistics.tour.complete
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tour: complete stop
capability:logistics.tour.complete_stop
Op:
logistics.tour.complete_stop
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tour: complete tour
capability:logistics.tour.complete_tour
Op:
logistics.tour.complete_tour
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tour anlegen
capability:logistics.tour.create
Op:
logistics.tour.create
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tour: create tour
capability:logistics.tour.create_tour
Op:
logistics.tour.create_tour
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tour: mark arrived
capability:logistics.tour.mark_arrived
Op:
logistics.tour.mark_arrived
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tourenstopps optimieren
capability:logistics.tour.optimize_route
Op:
logistics.tour.optimize_route
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Stopps neu reihen
capability:logistics.tour.resequence_stops
Op:
logistics.tour.resequence_stops
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tour starten
capability:logistics.tour.start
Op:
logistics.tour.start
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tour: start tour
capability:logistics.tour.start_tour
Op:
logistics.tour.start_tour
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tour: update assignment
capability:logistics.tour.update_assignment
Op:
logistics.tour.update_assignment
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Tour: update position
capability:logistics.tour.update_position
Op:
logistics.tour.update_position
|
Objekt:
tour
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Vehicle Load Bay: assign load
capability:logistics.vehicle_load_bay.assign_load
Op:
logistics.vehicle_load_bay.assign_load
|
Objekt:
vehicle_load_bay
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Vehicle Load Bay: create bay
capability:logistics.vehicle_load_bay.create_bay
Op:
logistics.vehicle_load_bay.create_bay
|
Objekt:
vehicle_load_bay
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Vehicle Load Bay: remove load
capability:logistics.vehicle_load_bay.remove_load
Op:
logistics.vehicle_load_bay.remove_load
|
Objekt:
vehicle_load_bay
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Kundenauftrag → Abwicklung
cascade:business.customer_order.fulfill
|
Kundenauftrag → Abwicklung
Quelle:
code:cascade_process
|
review_gated |
✓ Auto
|
Keine Seiteneffekte deklariert |
Lieferschein-Vollverarbeitung
cascade:business.delivery_note.intake
|
Lieferschein-Vollverarbeitung
Quelle:
code:cascade_process
|
review_gated |
✓ Auto
|
Keine Seiteneffekte deklariert |
Retourenbearbeitung
cascade:business.return_note.handling
|
Retourenbearbeitung
Quelle:
code:cascade_process
|
review_gated |
✓ Auto
|
Keine Seiteneffekte deklariert |
Tour / Abholung einplanen
cascade_target:business.logistics.tour
Op:
create_tour
|
Tour / Abholung einplanen
Quelle:
code:cascade_target
|
review_gated |
🔒 Freigabe nötig
|
Keine Seiteneffekte deklariert |
logistics_shipment: edit form
form_surface_anchor:logistics_shipment.edit
|
Objekt:
logistics_shipment
Quelle:
code:erp_form_surface
|
operator_surface |
✓ Auto
|
Keine Seiteneffekte deklariert |
logistics_tour: edit form
form_surface_anchor:logistics_tour.edit
|
Objekt:
logistics_tour
Quelle:
code:erp_form_surface
|
operator_surface |
✓ Auto
|
Keine Seiteneffekte deklariert |
Benutzerbefehl: logistics tour agent
plan:command_logistics_tour_agent
|
Benutzerbefehl: logistics tour agent
Quelle:
code:reviewed_execution_plan
|
durable_plan |
✓ Auto
|
Keine Seiteneffekte deklariert |
Sendung
status:logistics_shipment
|
Objekt:
logistics_shipment
Quelle:
code:status_machine
|
observable_only |
✓ Auto
|
Keine Seiteneffekte deklariert |
Tour
status:logistics_tour
|
Objekt:
logistics_tour
Quelle:
code:status_machine
|
observable_only |
✓ 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 Logistik-, Versand- und Fuhrparkprozess in der betrieblichen Praxis
Die pünktliche und unbeschädigte Zustellung von Waren beim Kunden sowie der sichere und rechtlich einwandfreie Betrieb der Firmenfahrzeuge bilden das logistische Rückgrat jedes Handels- und Fertigungsunternehmens.
1. Warenausgang & Versandbereitstellung (Dispatch Staging)
Sobald das Lager (inventory) die Kommissionierung für einen Verkaufsauftrag (sales) abschließt, übernimmt das Logistikmodul:
- Packstückbildung: Die gepickten Artikel werden in Versandkartons oder auf Europaletten konsolidiert. Das System ermittelt Brutto-, Netto- und Volumengewicht.
- NVE / SSCC-Etikettierung: Jedes Packstück erhält eine weltweit eindeutige Nummer der Versandeinheit (NVE / Serial Shipping Container Code - SSCC) als GS1-128-Barcode.
- Frachtführer-Auswahl & Ratenvergleich: Anhand von Gewicht, Destination (Inland, EU, Drittland) und gewünschter Laufzeit (Standard vs. Express) vergleicht das System hinterlegte Tarife oder ruft Live-Raten über Speditions-APIs ab (DHL, UPS, DPD, Dachser, DB Schenker, Kühne+Nagel).
- Labeldruck: Über die integrierte Druckserver-Bridge (
printbridge) wird das offizielle Versandetikett mit Routing-Barcode auf dem Thermotransferdrucker am Packtisch ausgegeben.
2. Ladelisten & Speditionsübergabe (Manifest & Handover)
- Bei Paletten- und Speditionssendungen fasst das System Packstücke zu einer Ladeliste / einem Frachtbrief (CMR-Frachtbrief) zusammen (
cap:logistics.shipment.generate_manifest). - Bei Abholung durch den Speditionsfahrer quittiert dieser die Anzahl der übernommenen Packstücke auf dem Handheld oder Lieferschein.
- Warenausgangs-Gateway: Der Gateway setzt den Sendungsstatus auf Im Transit (
in_transit) und übermittelt die Sendungsverfolgungsnummer (Tracking-ID) per E-Mail an den Kunden.
3. Eigener Fuhrpark & Tourenplanung (Fleet & Routing)
Verfügt das Unternehmen über eigene Liefer- oder Montagefahrzeuge:
- Fahrzeugstamm (
fleet): Verwaltung von PKWs, Transportern, LKWs und Anhängern mit Kennzeichen, Nutzlast, Ladevolumen und Wartungsintervallen. - Tourenoptimierung: Aufträge eines Liefergebiets werden wege- und zeitoptimiert zu einer Ausliefertour zusammengefasst. Das System berücksichtigt Zeitfenster, LKW-Mautstrecken und Lenk- und Ruhezeiten.
- Rollende Fahrzeuglager: Kundendienstfahrzeuge führen einen eigenen mobilen Ersatzteilbestand, der vor Abfahrt aufgefüllt wird.
4. Halterhaftung & Führerscheinkontrolle (§ 21 StVG)
Als Fahrzeughalter haftet die Geschäftsführung strafrechtlich, wenn Mitarbeitern ohne gültige Fahrerlaubnis ein Firmenwagen überlassen wird:
- Regelmäßige Pflichtprüfung: Das System erzwingt alle 6 Monate (oder anlassbezogen) die Führerscheinprüfung aller Dienstwagenberechtigten (
cap:fleet.vehicle.verify_license). - Audit-Nachweis: Die Prüfung erfolgt per Sichtprüfung mit Scan oder über manipulationssichere RFID-Führersiegelsysteme. Das Prüfergebnis wird unveränderbar im Audit-Trail protokolliert.
5. Digitales Fahrtenbuch & Finanzamtskonformität
- Zur Versteuerung des geldwerten Vorteils (Alternative zur 1%-Regelung) führt das Modul ein digitales, finanzamtskonformes Fahrtenbuch.
- Fahrten werden mit Startort, Zielort, Kilometerstand, Fahrtzweck (Dienstfahrt, Arbeitsweg, Privatfahrt) und besuchtem Kunden erfasst.
- Nachträgliche Manipulationen an Zeitstempeln oder Routendaten sind softwareseitig ausgeschlossen.
6. UVV-Sicherheitsprüfung nach DGUV Vorschrift 70
- Gewerblich genutzte Fahrzeuge unterliegen der jährlichen Prüfung auf Betriebssicherheit nach DGUV Vorschrift 70 (UVV Fahrzeuge):
- Überprüfung von Bremsen, Reifen, Gurten, Ladungssicherungsmitteln (Spanngurte, Antirutschmatten), Warnwesten und Verbandkasten.
- Das System terminiert die UVV-Prüfung und sperrt das Fahrzeug bei Fristüberziehung für Neuvergaben im Kalender (
cap:fleet.vehicle.schedule_uvv).
Meta-Fachlogik: Ideologische Blaupause, Soll-Weltbild & Normen
Meta-Fachlogik: Die ideologische Blaupause & das normative Weltbild
Die Meta-Fachlogik stützt sich auf das Transport- und Speditionsrecht (HGB §§ 407 ff., ADSp 2017), das Straßenverkehrsgesetz (§ 21 StVG), die Berufsgenossenschaftlichen Vorschriften (DGUV V70) und Steuerrichtlinien zum Fahrtenbuch.
1. Frachtrecht & Haftung (HGB §§ 407 ff., CMR, ADSp 2017)
- Frachtvertrag & Haftungskorridor: Gesetzliche Haftungsbegrenzung des Frachtführers nach HGB § 431 (8,33 SZR pro kg) bzw. CMR im internationalen Straßengüterverkehr.
- Sorgfaltspflicht der Ladungssicherung (§ 22 StVO / VDI 2700): Der Absender ist für die verkehrssichere Verladung und Ladungssicherung verantwortlich. Das Soll-Modell verlangt Dokumentation geeigneter Sicherungsmittel vor Abfahrt.
2. Gesetzliche Halterhaftung (§ 21 Abs. 1 Nr. 2 StVG)
- Wer als Fahrzeughalter anordnet oder zulässt, dass jemand ein Fahrzeug führt, der die erforderliche Fahrerlaubnis nicht besitzt, macht sich strafbar (Freiheitsstrafe bis zu einem Jahr oder Geldstrafe).
- Das Soll-Modell verbietet die Zuweisung von Dienstwagen an Mitarbeiter mit ungeprüftem oder abgelaufenem Führerschein.
3. Invarianten des Soll-Modells
- Kein Warenausgang ohne lückenlose Packstück- und Gewichtsdokumentation.
- Keine Fahrzeugausgabe ohne verifizierten Führerscheinprüfungsnachweis.
- Ein finanzamtskonformes Fahrtenbuch darf keine rückwirkenden, unprotokollierten Änderungen zulassen.
- Fahrzeuge mit überzogener UVV-Prüfung oder abgelaufenem TÜV sind für den Fahrdienst zu sperren.
Systemische Fachlogik: Faktische Umsetzung in Centurio ERP & Capabilities
Systemische Fachlogik: Die faktische Umsetzung in Centurio ERP
Die System-Fachlogik dokumentiert die Realisierung in den Modulen logistics und fleet.
1. Datenmodelle & Semantische Schicht (ORM)
LogisticsShipment: Sendungskopf (Felder:id,tenant_id,shipment_number,carrier_code,tracking_number,service_level,total_weight_kg,package_count,shipping_label_url,status).ShipmentPackage: Einzelne Packstücke (Felder:shipment_id,sscc_nve,weight_kg,dimensions_cm).FleetVehicle: Fahrzeugstamm (Felder:id,license_plate,vin_chassis,vehicle_type,assigned_driver_id,odometer_km,next_inspection_date,next_uvv_date,status[active, maintenance, locked]).FleetTrip: Fahrtenbucheintrag (Felder:vehicle_id,driver_id,start_time,end_time,start_km,end_km,trip_type[business, commute, private],purpose,customer_id).DriverLicenseCheck: Revisionssicherer Nachweis der Führerscheinkontrolle.
2. Das Capability-Register
cap:logistics.shipment.create: Erzeugung einer Sendung und Ratenabfrage.cap:logistics.shipment.generate_label: Druck des Frachtführer-Versandlabels via PrintBridge.cap:logistics.shipment.generate_manifest: Ladelistenerstellung und Speditionsavis.cap:logistics.shipment.track: Statusabfrage der Tracking-Events beim Carrier.cap:fleet.vehicle.verify_license: Erfassung der gesetzlichen Führerscheinprüfung.cap:fleet.vehicle.log_trip: Verbuchung eines Fahrtenbucheintrags.cap:fleet.vehicle.schedule_uvv: Planung der jährlichen Sicherheitsprüfung nach DGUV 70.
3. Der Gateway gw:shipment_dispatch@v1
Sichert den Warenausgang ab:
- Validierung: Prüft Gewicht, Versandadresse und Gefahrgutdeklaration.
- Statuswechsel:
LogisticsShipment.status = 'dispatched'. - Outbox-Signal: Feuert
SHIPMENT_DISPATCHEDund triggert die Kundenbenachrichtigung mit Tracking-Link.
4. Statusmodelle
- Sendung:
draft➔labeled➔manifested➔in_transit➔deliveredoderexception. - Fahrzeug:
available➔in_use➔maintenance_due➔locked(z.B. wegen fehlender UVV).
KI-Consultant Leitfaden: Customizing- & No-Code-Konzept (Soll-Ist-Synthese)
KI-Consultant Blueprint: Customizing & No-Code Architektur
Anleitung für Solution Architects zur Einrichtung von Logistik- und Fuhrparkprozessen.
1. Kundenanforderungsanalyse
- Welche Frachtführer und Speditionen müssen angebunden werden?
- Sollen Versandkosten dem Kunden nach Staffel oder mit Festpauschalen in Rechnung gestellt werden?
- Gibt es Gefahrguttransporte (ADR-Auflagen mit Tunnelbeschränkungen)?
2. No-Code Zusatzfelder (Custom Fields)
Im No-Code Studio (/semantic/customizing):
- Auf
LogisticsShipment:customs_declaration_mrn(Text): Movement Reference Number bei Ausfuhr in Drittländer (ATLAS).liftgate_required(Checkbox): Hebebühnenzustellung erforderlich.
- Auf
FleetVehicle:fuel_card_number(Text): Flottentankkartennummer für Tankbelegabgleich.toll_onboard_unit_id(Text): OBU-Gerätenummer für automatische LKW-Maut.
3. No-Code Workflow Canvas DAGs
Blueprint A: Automatisches Tracking & Proaktiver Lieferverzugs-Alert
- Trigger-Node: Webhook des Paketdienstes (z.B. DHL Event
shipment.delayed). - Condition-Node:
event.delay_days >= 2. - Action-Node: Sende automatische SMS/E-Mail an Kunden: "Ihre Sendung verzögert sich um 2 Tage; Tracking-Link hier."
Blueprint B: Automatische Sperre bei überfälliger Führerscheinkontrolle
- Trigger-Node: Täglicher Scan der Führerscheingültigkeit.
- Condition-Node:
driver.last_license_check_date < current_date - 180_days. - Action-Node: Sperre Fahrzeugzuweisung für diesen Fahrer und sende Eskalations-Mail an Fuhrparkleiter.
📚 Operative Prozessbegriffe & Transaktionsschnittstellen
- Versandbereite Packstücke aus dem Warenausgang des Lagers
- Speditionsaufträge aus Streckengeschäften (Dropshipping)
- Fahrzeugdaten und Fahrtenbucheingaben der Fahrer
- Prüffristen für Führerscheine und Hauptuntersuchungen
- Frachtführer-Versandlabels mit Barcodes (DHL, UPS, Dachser)
- Speditions-Ladelisten und CMR-Frachtbriefe
- Audit-Nachweise über durchgeführte Führerscheinkontrollen (§ 21 StVG)
- Finanzamtskonforme Fahrtenbuchberichte (PDF/Excel)
- Tracking-Links und Lieferzeit-Avis an Kunden
- shipment_dispatched -> update_sales_order_status: Auftrag wird als versendet markiert
- tracking_delivered -> trigger_customer_review: Einladung zur Kundenzufriedenheitsbewertung
- license_check_failed -> lock_vehicle_assignment: Fahrersperre im Fuhrpark
- uvv_expired -> set_vehicle_status_maintenance: Fahrzeugsperre bis zur Werkstattprüfung
- Schadensabwicklung bei Transportschäden mit Speditionsregress
- Zollabfertigung und Ausfuhranmeldung über ATLAS bei Drittlandsendungen
- Kraftstoff- und Tankkartenabrechnung mit Plausibilitätsprüfung (Verbrauch l/100km)
- Bußgeldbearbeitung und Zeugenfragebogenverwaltung im Fuhrpark
- Speditions- und Paketdienst-Zugangsdaten (API-Keys) im System hinterlegen
- Zyklen für Führerscheinprüfung (Standard: 6 Monate) in Fuhrparkrichtlinien definieren
- Frachtkostenstaffeln nach Gewicht und Postleitzahlenzonen pflegen
- No-Code Zusatzfelder für Maut-OBU und Gefahrgut auf LogisticsShipment anlegen
🗄️ Datenmodelle & Felder
🔌 Einstiegspunkte (UI & APIs)
| Art | Methode | Endpunkt / Pfad | Titel & Zweck | Berechtigung |
|---|---|---|---|---|
| ⚡ REST API | DELETE | /api/v1/crossdock/{op_id}/lines/{kind}/{line_id} |
remove_line
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | DELETE | /api/v1/logistics/vehicle-bay-loads/{load_id} |
remove_vehicle_bay_load
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | GET | /api/v1/crossdock |
list_operations
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/crossdock/meta |
meta
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/crossdock/rules |
list_rules
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/crossdock/{op_id} |
get_operation
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/docks |
list_docks
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/docks/{dock_id}/slots |
list_dock_slots
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/export-consolidations/{consolidation_id} |
get_export_consolidation
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/packages/{package_id}/cn23 |
get_package_cn23
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/sendcloud/settings |
get_sendcloud_settings
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/shipments |
list_shipments
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/shipments/{shipment_id} |
get_shipment
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/shipments/{shipment_id}/cmr |
shipment_cmr_pdf
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/shipments/{shipment_id}/cmr.json |
shipment_cmr_json
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/shipments/{shipment_id}/contract-check |
shipment_contract_check
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/shipments/{shipment_id}/delivery-note |
shipment_delivery_note_pdf
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/shipments/{shipment_id}/label |
shipment_label_pdf
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/shipments/{shipment_id}/packages |
list_packages
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/tours |
list_tours
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/tours/my |
list_my_tours
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/tours/{tour_id} |
get_tour
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/tours/{tour_id}/load-plan |
tour_load_plan
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/tours/{tour_id}/positions |
list_tour_positions
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/vehicle-bay-loads |
list_vehicle_bay_loads
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/vehicle-bays |
list_vehicle_bays
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /api/v1/logistics/vehicles/{asset_id}/capacity |
get_vehicle_capacity
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /crossdock |
crossdock_page
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /logistics |
logistics_page
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /logistics/meine-touren |
logistics_meine_page
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | GET | /portal/{slug}/sendungen |
shipments_page
Semantic binding: inventory_only; mutation=False
|
logistics
|
| ⚡ REST API | PATCH | /api/v1/logistics/tours/{tour_id} |
patch_tour
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/crossdock |
create_operation
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/crossdock/dock-scan |
dock_scan
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/crossdock/from-purchase/{purchase_id} |
from_purchase
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/crossdock/rules |
create_rule
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/crossdock/{op_id}/allocate |
allocate
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/crossdock/{op_id}/cancel |
cancel
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/crossdock/{op_id}/dispatch |
dispatch
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/crossdock/{op_id}/inbound |
add_inbound
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/crossdock/{op_id}/inbound/from-purchase/{purchase_id} |
inbound_from_purchase
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/crossdock/{op_id}/outbound |
add_outbound
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/crossdock/{op_id}/outbound/from-quote/{quote_id} |
outbound_from_quote
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/crossdock/{op_id}/plan |
plan
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/crossdock/{op_id}/putaway |
putaway
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/crossdock/{op_id}/receive |
receive
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/dock-slots/{slot_id}/cancel |
cancel_dock_slot
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/dock-slots/{slot_id}/check-in |
check_in_dock_slot
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/dock-slots/{slot_id}/complete |
complete_dock_slot
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/docks |
create_dock
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/docks/{dock_id}/slots |
book_dock_slot
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/export-consolidations |
create_export_consolidation
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/export-consolidations/{consolidation_id}/close |
close_export_consolidation
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/export-consolidations/{consolidation_id}/packages |
add_export_consolidation_package
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/export-consolidations/{consolidation_id}/ship |
ship_export_consolidation
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/packages/scan |
scan_package
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/packages/{package_id}/cn23 |
ensure_package_cn23
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/shipments |
create_shipment
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/shipments/import |
import_shipments
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/shipments/{shipment_id}/assign-tour |
assign_tour
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/shipments/{shipment_id}/cancel |
cancel_shipment
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/shipments/{shipment_id}/carrier-tracking |
set_carrier_tracking
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/shipments/{shipment_id}/deliver |
deliver_shipment
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/shipments/{shipment_id}/fail |
fail_shipment
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/shipments/{shipment_id}/in-transit |
in_transit_shipment
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/shipments/{shipment_id}/packages |
add_package
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/shipments/{shipment_id}/pickup |
pickup_shipment
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/shipments/{shipment_id}/sendcloud/book |
book_sendcloud_label
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/shipments/{shipment_id}/sendcloud/cancel |
cancel_sendcloud_booking
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/shipments/{shipment_id}/verify-charges |
shipment_verify_charges
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/tours |
create_tour
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/tours/from-picking |
tour_from_picking
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/tours/from-return |
tour_from_return
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/tours/from-shipments |
tour_from_shipments
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/tours/{tour_id}/cancel |
cancel_tour
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/tours/{tour_id}/complete |
complete_tour
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/tours/{tour_id}/geocode-stops |
geocode_tour_stops
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/tours/{tour_id}/optimize-stops |
optimize_tour_stops
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/tours/{tour_id}/position |
update_position
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/tours/{tour_id}/start |
start_tour
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/tours/{tour_id}/stops |
add_stop
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/tours/{tour_id}/stops/{stop_id}/arrive |
arrive_stop
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/tours/{tour_id}/stops/{stop_id}/complete |
complete_stop
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/vehicle-bay-loads |
assign_vehicle_bay_load
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /api/v1/logistics/vehicle-bays |
create_vehicle_bay
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | POST | /portal/{slug}/sendungen/import |
shipments_import_cmr
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | PUT | /api/v1/crossdock/rules/{rule_id} |
update_rule
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | PUT | /api/v1/crossdock/{op_id}/allocations |
set_allocation
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | PUT | /api/v1/logistics/sendcloud/settings |
update_sendcloud_settings
Semantic binding: operator_surface; mutation=True
|
logistics
|
| ⚡ REST API | PUT | /api/v1/logistics/vehicles/{asset_id}/capacity |
put_vehicle_capacity
Semantic binding: operator_surface; mutation=True
|
logistics
|
🛡️ Regulatorik & Compliance
Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:
- GoBD Nachvollziehbarkeit
- Mandanten-Isolation (PostgreSQL RLS)