Retouren & Reklamationen
returns
supply_chain
🛡️ RLS Protected
Rücksendungsmanagement für Kunden und Lieferanten, Qualitätsprüfung, Einlagerung und Gutschrifterstellung.
⚡ Workflows & Lifecycles
RMA-Retourenprüfung & Verbuchung
rma_workflow
Vom Retoureneingang über die technische Zustandsprüfung bis zur Gutschrift.
Benutzerbefehl: returns agent
plan:command_returns_agent
Geprüfter Durable-Plan (durable_plan), Start: manual_command.
Retoure
status:return_order
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 returns_agent
agent_entry:returns_agent
|
Agent-Einstieg returns_agent
Quelle:
code:module_agent_map
|
manual_entry |
✓ Auto
|
Keine Seiteneffekte deklariert |
Retoure genehmigen
capability:approve_return
Op:
approve_return
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Retoure stornieren
capability:cancel_return
Op:
cancel_return
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Retoure abschließen
capability:close_return
Op:
close_return
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Sammelgutschrift für Retouren erstellen
capability:create_collective_return_credit
Op:
create_collective_return_credit
|
Objekt:
customer
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Retourenprüfung erfassen
capability:inspect_return
Op:
inspect_return
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Vertragliche Retoure eröffnen
capability:open_return_from_contract
Op:
open_return_from_contract
|
Intent:
open_return_case
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Gewährleistungsfall aus Vertrag
capability:open_warranty_claim
Op:
open_warranty_claim
|
Intent:
open_warranty_claim
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Retoureneingang buchen
capability:receive_return
Op:
receive_return
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Retoure ablehnen
capability:reject_return
Op:
reject_return
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Retoure entscheiden / abwickeln
capability:resolve_return
Op:
resolve_return
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Umtausch
capability:returns.exchange.create
Op:
returns.exchange.create
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Rückerstattung
capability:returns.refund.issue
Op:
returns.refund.issue
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Retoure einlagern
capability:returns.restock
Op:
returns.restock
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Return: add note
capability:returns.return.add_note
Op:
returns.return.add_note
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Return: add photos
capability:returns.return.add_photos
Op:
returns.return.add_photos
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Return: approve
capability:returns.return.approve
Op:
returns.return.approve
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Return: cancel
capability:returns.return.cancel
Op:
returns.return.cancel
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Return: close
capability:returns.return.close
Op:
returns.return.close
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Return: create
capability:returns.return.create
Op:
returns.return.create
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Return: create collective credit note
capability:returns.return.create_collective_credit_note
Op:
returns.return.create_collective_credit_note
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Return: create from rental booking
capability:returns.return.create_from_rental_booking
Op:
returns.return.create_from_rental_booking
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Return: mark shipped
capability:returns.return.mark_shipped
Op:
returns.return.mark_shipped
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Return: receive
capability:returns.return.receive
Op:
returns.return.receive
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Return: reject
capability:returns.return.reject
Op:
returns.return.reject
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Retoure freigeben
capability:returns.rma.approve
Op:
returns.rma.approve
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Retoure annehmen
capability:returns.rma.receive
Op:
returns.rma.receive
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
Retoure versenden
capability:ship_return
Op:
ship_return
|
Objekt:
return_order
Quelle:
code:capability_registry
|
⚙️ Engine |
✓ Auto
Risiko:
business_record
|
|
return_line: edit form
form_surface_anchor:return_line.edit
|
Objekt:
return_line
Quelle:
code:erp_form_surface
|
operator_surface |
✓ Auto
|
Keine Seiteneffekte deklariert |
return_order: edit form
form_surface_anchor:return_order.edit
|
Objekt:
return_order
Quelle:
code:erp_form_surface
|
operator_surface |
✓ Auto
|
Keine Seiteneffekte deklariert |
approve return
gateway:approve_return
Op:
approve_return
|
approve return
Quelle:
code:engine_facade
|
⚙️ Engine |
✓ Auto
|
Keine Seiteneffekte deklariert |
cancel return
gateway:cancel_return
Op:
cancel_return
|
cancel return
Quelle:
code:engine_facade
|
⚙️ Engine |
✓ Auto
|
Keine Seiteneffekte deklariert |
close return
gateway:close_return
Op:
close_return
|
close return
Quelle:
code:engine_facade
|
⚙️ Engine |
✓ Auto
|
Keine Seiteneffekte deklariert |
collective return credit
gateway:collective_return_credit
Op:
collective_return_credit
|
collective return credit
Quelle:
code:engine_facade
|
⚙️ Engine |
✓ Auto
|
Keine Seiteneffekte deklariert |
inspect return
gateway:inspect_return
Op:
inspect_return
|
inspect return
Quelle:
code:engine_facade
|
⚙️ Engine |
✓ Auto
|
Keine Seiteneffekte deklariert |
receive return
gateway:receive_return
Op:
receive_return
|
receive return
Quelle:
code:engine_facade
|
⚙️ Engine |
✓ Auto
|
Keine Seiteneffekte deklariert |
reject return
gateway:reject_return
Op:
reject_return
|
reject return
Quelle:
code:engine_facade
|
⚙️ Engine |
✓ Auto
|
Keine Seiteneffekte deklariert |
resolve return
gateway:resolve_return
Op:
resolve_return
|
resolve return
Quelle:
code:engine_facade
|
⚙️ Engine |
✓ Auto
|
Keine Seiteneffekte deklariert |
Vertragliche Retoure eröffnen
gateway:return_intake
Op:
open_return_from_contract
|
Vertragliche Retoure eröffnen
Quelle:
code:reviewed_gateway
|
⚙️ Engine |
✓ Auto
|
Keine Seiteneffekte deklariert |
ship return
gateway:ship_return
Op:
ship_return
|
ship return
Quelle:
code:engine_facade
|
⚙️ Engine |
✓ Auto
|
Keine Seiteneffekte deklariert |
Gewährleistungsfall aus Vertrag
gateway:warranty_claim
Op:
open_warranty_claim
|
Gewährleistungsfall aus Vertrag
Quelle:
code:reviewed_gateway
|
⚙️ Engine |
✓ Auto
|
Keine Seiteneffekte deklariert |
Benutzerbefehl: returns agent
plan:command_returns_agent
|
Benutzerbefehl: returns agent
Quelle:
code:reviewed_execution_plan
|
durable_plan |
✓ Auto
|
Keine Seiteneffekte deklariert |
Retoure
status:return_order
|
Objekt:
return_order
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 Retouren- und Reklamationsprozess in der betrieblichen Praxis
Retouren und Reklamationen sind heikle Kundenkontaktpunkte mit hohem finanziellem und juristischem Risiko. Centurio ERP verwandelt Beschwerden in strukturierte Qualitätsprozesse mit lückenloser Rückverfolgbarkeit.
1. Reklamationsanmeldung & RMA-Nummernvergabe (RMA Intake)
Ein Retourenprozess beginnt mit dem Kundenkontakt:
- Eingangskanäle: Der Kunde meldet einen Mangel per Telefon, E-Mail (
inbox), Ticket-System (tickets) oder über das B2B-Kundenportal (portal). - Verifikationsprüfung: Das System gleicht die Reklamation mit der ursprünglichen Verkaufsrechnung (
invoices) oder dem Lieferschein (sales) ab:- Befindet sich der Artikel innerhalb der gesetzlichen Gewährleistungsfrist (§ 438 BGB) oder einer vertraglichen Garantie?
- Stimmen Seriennummer oder Chargennummer mit dem ausgelieferten Beleg überein?
- RMA-Vergabe: Ist die Reklamation plausibel, generiert das System eine eindeutige RMA-Nummer (Return Merchandise Authorization) über
cap:returns.rma.createund sendet einen Retourenschein mit Paketmarke an den Kunden. Unangemeldete Rücksendungen werden im Lager sofort als Wild-Retoure identifiziert und zur Klärung gesperrt.
2. Physischer Wareneingang ins Sperrlager (Quarantine Inward)
Trifft das Paket im Lager ein:
- Der Lagermitarbeiter scannt den Barcode des RMA-Scheins.
- Das System bucht den Artikel über
cap:returns.rma.receive_packagephysisch ein – jedoch nicht in den freien Verkaufsbestand, sondern zwingend in das definierte Sperr- und Quarantänelager (quarantine_location). - Das verhindert, dass defekte oder ungeprüfte Ware versehentlich an andere Kunden ausgeliefert oder in der Produktion verbaut wird.
3. Technische & optische Befundung (Inspection & Diagnostics)
Im Prüffeld oder in der Werkstatt begutachtet ein Qualitätsprüfer die Retoure:
- Fehlerbild-Dokumentation: Über die Capability
cap:returns.rma.record_inspectionwerden Befund, Messwerte und Schadensfotos erfasst. - Ursachenklassifikation (Root Cause Analysis):
- Transportschaden: Beschädigung auf dem Versandweg ➔ Schadenmeldung an Frachtführer (
claims). - Herstellungs- / Montagefehler: Qualitätsmangel im eigenen Werk ➔ Auslösung eines internen CAPA-Korrekturauftrags in der Fertigung (
assembly). - Zulieferfehler: Mangelhaftes Zukaufteil ➔ Auslösung eines Lieferantenregresses im Einkauf (
purchasing). - Fehlbedienung / Kundenschaden: Mangel durch unsachgemäßen Gebrauch ➔ Ablehnung der kostenlosen Gewährleistung.
- Transportschaden: Beschädigung auf dem Versandweg ➔ Schadenmeldung an Frachtführer (
4. Die kaufmännische & operative Entscheidungsverzweigung (Resolution Gate)
Auf Basis des Befundberichts trifft der Qualitäts- oder Kundendienstleiter die verbindliche Entscheidung:
- Entscheidungspfad A: Warengutschrift (Credit Note): Kann oder soll der Artikel nicht repariert werden, stößt
cap:returns.rma.trigger_credit_notedie Erzeugung einer Rechnungskorrektur im Rechnungsmodul an. Der offene Posten des Kunden wird gemindert oder der Betrag erstattet. - Entscheidungspfad B: Kostenlose Ersatzlieferung: Das System generiert automatisch einen neuen Kundenauftrag mit 100% Kulanz-/Garantierabatt (
cap:sales.sales_order.create_replacement), der priorisiert durch das Lager ausgeliefert wird. - Entscheidungspfad C: Nacharbeit & Reparatur: Handelt es sich um hochwertiges Investitionsgut, wird über
cap:workorders.workorder.create_from_returnein Reparaturauftrag in der Werkstatt eröffnet. Nach Instandsetzung wird der reparierte Originalartikel an den Kunden zurückgesandt. - Entscheidungspfad D: Ablehnung (Rejection): Liegt kein Gewährleistungsfall vor, erstellt das System einen formalen Ablehnungsbescheid mit Prüfprotokoll. Der Kunde kann wählen zwischen kostenpflichtiger Reparatur oder Rücksendung auf eigene Kosten.
- Entscheidungspfad E: Lieferantenregress: Handelt es sich um ein defektes Zukaufteil, nimmt das System den Vorlieferanten in Regress (
cap:purchasing.supplier_claim.create), fordert Ersatz oder eine Lieferantengutschrift an.
5. Materialverbleib: Aufarbeitung, B-Ware oder Verschrottung
Was geschieht mit dem physischen Artikel im Quarantänelager?
- Aufarbeitung & B-Ware: Kann der Artikel nach Reinigung oder Neuverpackung wieder verkauft werden, erfolgt die Umbuchung in den Sonderbestand B-Ware mit reduziertem Bewertungspreis.
- Verschrottung (Scrap): Ist der Artikel unbrauchbar, bucht der Gateway
gw:return_scrap@v1das Material endgültig auf das Aufwandskonto Ausschuss/Schrott aus; es wird ein Nachweis zur ordnungsgemäßen Entsorgung erzeugt.
6. Transaktionssicherer Abschluss & Qualitäts-Feedback
- Über den Gateway
gw:return_resolution@v1wird der RMA-Vorgang abgeschlossen (cap:returns.rma.complete). - Alle Kaskaden (Gutschrift, Ersatzauftrag, Lieferantenforderung) werden synchronisiert.
- Das Outbox-Signal
RETURN_PROCESS_RESOLVEDaktualisiert die Qualitätskennzahlen des Artikels und des Lieferanten im Management-Cockpit.
Meta-Fachlogik: Ideologische Blaupause, Soll-Weltbild & Normen
Meta-Fachlogik: Die ideologische Blaupause & das normative Weltbild
Die Meta-Fachlogik des Retourenmanagements beruht auf dem gesetzlichen Gewährleistungsrecht (BGB), dem SCOR-Modell (sR1 Return Defective Product) und Methoden des Qualitätsmanagements (Closed-Loop CAPA).
1. Zivilrechtliche Grundlagen der Mängelhaftung (BGB §§ 434 ff.)
- Sachmangel (§ 434 BGB): Eine Sache ist frei von Sachmängeln, wenn sie bei Gefahrenübergang den subjektiven und objektiven Anforderungen sowie den Montageanforderungen entspricht.
- Nacherfüllungsanspruch (§ 439 BGB):
- Der Käufer hat primär Anspruch auf Nacherfüllung: Er kann nach seiner Wahl die Beseitigung des Mangels (Nachbesserung / Reparatur) oder die Lieferung einer mangelfreien Sache (Ersatzlieferung) verlangen.
- Erst nach erfolglosem Ablauf einer angemessenen Frist zur Nacherfüllung darf der Käufer vom Vertrag zurücktreten (§ 440 BGB) oder den Kaufpreis mindern (§ 441 BGB).
- Das Soll-Modell verlangt die lückenlose Fristenüberwachung dieser Nacherfüllungsstufen.
- Beweislastumkehr: Im B2C-Verbrauchsgüterkauf (§ 477 BGB) gilt eine gesetzliche Vermutung der Mangelhaftigkeit innerhalb von 12 Monaten; im B2B-Handelsgeschäft greift die unverzügliche Rügepflicht nach HGB § 377.
2. Reverse Logistics im SCOR-Modell & Qualitätsverbesserung
- sR1 / sR2 Return Processes: Das Soll-Modell betrachtet Retouren nicht als lästige Kostenfalle, sondern als unverzichtbaren Sensor für Produktmängel.
- Closed-Loop CAPA (Corrective and Preventive Actions): Jeder wiederkehrende Retourengrund muss zwingend in den Konstruktions- und Fertigungsregelkreis zurückgespeist werden, um Serienfehler dauerhaft abzustellen.
3. Invarianten des Soll-Modells
- Keine Retoure ohne eindeutige RMA-Nummer und Belegverknüpfung.
- Retourenware darf niemals ohne bestandene Freigabeprüfung in den regulären Verkaufsbestand gebucht werden.
- Gutschriften dürfen erst erzeugt werden, wenn der physische Wareneingang bestätigt oder ein Vorabaustausch explizit autorisiert wurde.
- Verschrottungen von Artikeln über Schwellenwert (z.B. > 500 €) verlangen eine Vier-Augen-Freigabe.
Normbezug für returns
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.
Geführte Prüfreferenzen:
scor-ds-14.0, SCOR Digital Standard (SCOR-DS) Version 14.0, Ausgabe SCOR-DS 14.0 (2025). Art: reference_process. Lizenz schließt eine inhaltliche Nutzung aus. Keine modulspezifische Kataloganforderung. Die Zuordnung bleibt eine Prüfreferenz.iso-9001-2026, ISO 9001:2026 Quality management systems — Requirements, Ausgabe ISO 9001:2026 (6. Ausgabe, 2026-09-16). Art: normative. Volltext liegt nicht vor. Keine Klauselprüfung. Keine modulspezifische Kataloganforderung. Die Zuordnung bleibt eine Prüfreferenz.
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 Realisierung im Kernmodul returns.
1. Datenmodelle & Semantische Schicht (ORM)
ReturnAuthorization: Der RMA-Vorgangskopf (Felder:id,tenant_id,rma_number,customer_id,original_invoice_id,original_sales_order_id,status,reason_code,total_claimed_amount).ReturnLine: Einzelpositionen (Felder:rma_id,product_id,lot_id,serial_number,claimed_quantity,received_quantity,inspection_result,resolution_type[credit, replacement, repair, reject]).ReturnInspection: Befundungsprotokoll mit Prüfer-ID, Messdaten und Fotodokumentations-Links.SupplierClaim: Weiterleitung des Mangels an den Vorlieferanten.
2. Das Capability-Register
cap:returns.rma.create: Registrierung eines neuen Reklamationsfalls und RMA-Generierung.cap:returns.rma.receive_package: Wareneingangsbuchung ins Sperrlager.cap:returns.rma.record_inspection: Erfassung von Mangelursache und Fehlerbild.cap:returns.rma.trigger_credit_note: Automatische Erzeugung einer Rechnungskorrektur.cap:returns.rma.create_replacement_order: Erzeugung eines kostenlosen Ersatzauftrags.cap:returns.rma.reject: Ablehnung der Reklamation mit förmlicher Begründung.cap:returns.rma.scrap_item: Buchung des Artikels zur Verschrottung.cap:returns.rma.complete: Finaler Vorgangsabschluss.
3. Der Gateway gw:return_resolution@v1
Der Abwicklungs-Gateway sichert die finale Auflösung ab:
- Validierung: Prüft, ob alle Zeilen einen dokumentierten Befund und eine gültige Entscheidungszuweisung tragen.
- Kaskadierung: Erzeugt transaktional die Folgebelege (Gutschrift in
invoices, Ersatzauftrag insalesoder Reparatur inworkorders). - Bestandsausbuchung: Löst den Quarantänestatus auf (Umbuchung B-Ware oder Schrottung).
- Outbox-Signal: Feuert
RETURN_RESOLUTION_EXECUTED.
4. Statusmodelle
registered (RMA erteilt) ➔ waiting_reception (Paket erwartet) ➔ received_quarantine (Im Prüflager) ➔ inspecting (In Begutachtung) ➔ resolution_approved (Entscheidung getroffen) ➔ completed (Abgewickelt) oder rejected (Abgelehnt).
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 Reklamations- und Gewährleistungsprozessen.
1. Kundenanforderungsanalyse
- Welche Reklamationsgründe sind branchenspezifisch relevant (z.B. Maßabweichung, Transportschaden, Softwarefehler)?
- Soll bei Geringwertartikeln (z.B. Warenwert < 20 €) auf die physische Rücksendung verzichtet werden (No-Return Refund)?
- Wie lange sind vertragliche Garantiefristen (12, 24, 36 Monate)?
2. No-Code Zusatzfelder (Custom Fields)
Im No-Code Studio (/semantic/customizing):
- Auf
ReturnAuthorization:carrier_tracking_return_number(Text): Sendungsverfolgungsnummer des Retourenpakets.freight_cost_credited(Checkbox): Werden dem Kunden die Rücksendekosten erstattet?
- Auf
ReturnLine:serial_number_scanned(Text): Exakter Abgleich der Geräteseriennummer.wear_and_tear_percent(Dezimal): Abzug bei Wertminderung durch übermäßige Nutzung.
3. No-Code Workflow Canvas DAGs
Blueprint A: No-Return Kulanz-Erstattung für Geringwertartikel
- Trigger-Node:
cap:returns.rma.createwird aufgerufen. - Condition-Node:
rma.total_claimed_amount < 25.00 AND customer.credit_standing == 'good'. - Action-Node 1: Überspringe physischen Rückversand; rufe direkt
cap:returns.rma.trigger_credit_noteauf. - Action-Node 2: Sende kundenfreundliche E-Mail: Betrag erstattet – Artikel darf entsorgt oder behalten werden.
Blueprint B: Automatischer Lieferantenregress bei Zukaufteilen
- Trigger-Node:
cap:returns.rma.record_inspectiondeklariertroot_cause == 'supplier_defect'. - Action-Node: Erzeuge automatisch einen
SupplierClaimim Einkaufsmodul mit Referenz auf den Lieferanten und die Original-Bestellnummer, blockiere Zahlungen an den Lieferanten.
📚 Operative Prozessbegriffe & Transaktionsschnittstellen
- Kundenbeschwerde per E-Mail, Telefon oder Kundenportal
- Eintreffendes Rücksendepaket an der Rampe des Lagers
- Transportschadenprotokoll des Frachtführers (Spedition/Paketdienst)
- Qualitätsmeldungen des Kunden mit Schadensfotos
- RMA-Rücksendeschein mit Paketlabel für den Kunden
- Befundungsprotokoll mit Messwerten und Schadensursachen
- Revisionssichere Gutschriften und Rechnungskorrekturen
- Kostenlose Ersatzlieferungsaufträge für den Warenausgang
- Lieferantenreklamationen für den Einkauf
- rma_received -> quarantine_stock_increase: Einlagerung in das gesperrte Prüflager
- resolution_credit -> invoice_credit_note_generated: Erzeugung der kaufmännischen Gutschrift
- resolution_replacement -> sales_order_replacement_created: Auslösung des Nachlieferungsauftrags
- supplier_defect_detected -> trigger_supplier_claim: Einsteuern in den Lieferantenregress
- Regulierung von Transportschäden mit der Transportversicherung
- Klärung unberechtigter Retouren (Rücksendung zu Lasten des Kunden)
- Aufarbeitung und Sondervermarktung von Retouren als B-Ware
- Schrottung und Entsorgungsnachweis bei unbrauchbaren Artikeln
- Gewährleistungsfristen je Artikelkategorie im System konfigurieren
- Katalog standardisierter Retourengründe für statistische Auswertungen pflegen
- Wertgrenzen für automatische Kulanzgutschriften (No-Return) definieren
- No-Code Zusatzfelder für Frachtführer-Tracking und Seriennummern auf ReturnLine anlegen
🗄️ Data Models & Fields
🔌 Entry Points (UI & APIs)
| Art | Method | Endpoint / Path | Titel & Zweck | Required Role |
|---|---|---|---|---|
| ⚡ REST API | GET | /api/v1/returns |
list_returns
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /api/v1/returns/analytics |
analytics
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /api/v1/returns/contract/{contract_id}/returnables |
contract_returnables
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /api/v1/returns/invoice/{invoice_id}/items |
invoice_items
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /api/v1/returns/meta |
meta
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /api/v1/returns/party-context |
party_context
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /api/v1/returns/policies |
list_policies
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /api/v1/returns/reasons |
list_reasons
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /api/v1/returns/{return_id} |
get_return
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /api/v1/returns/{return_id}/credit-preview |
credit_preview
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /portal/{slug}/retouren |
returns_page
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /pub/retoure/status/{token} |
return_status
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /pub/retoure/status/{token}/slip |
return_slip
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /pub/retoure/{tenant_id} |
return_form
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /returns |
returns_list_page
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /returns/analytics |
returns_analytics_page
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /returns/new |
returns_new_page
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /returns/settings |
returns_settings_page
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /returns/{return_id} |
returns_detail_page
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | GET | /returns/{return_id}/print |
returns_print_page
Semantic binding: inventory_only; mutation=False
|
returns
|
| ⚡ REST API | PATCH | /api/v1/returns/policies/{policy_id} |
update_policy
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | PATCH | /api/v1/returns/reasons/{reason_id} |
update_reason
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /api/v1/returns |
create_return
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /api/v1/returns/collective-credit-note |
create_collective_credit_note
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /api/v1/returns/policies |
create_policy
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /api/v1/returns/reasons |
create_reason
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /api/v1/returns/{return_id}/approve |
approve
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /api/v1/returns/{return_id}/cancel |
cancel
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /api/v1/returns/{return_id}/close |
close
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /api/v1/returns/{return_id}/escalate-ticket |
escalate_to_ticket
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /api/v1/returns/{return_id}/inspect |
inspect
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /api/v1/returns/{return_id}/lines/{line_id}/photos |
add_photos
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /api/v1/returns/{return_id}/notes |
add_note
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /api/v1/returns/{return_id}/receive |
receive
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /api/v1/returns/{return_id}/reject |
reject
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /api/v1/returns/{return_id}/resolve |
resolve
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /api/v1/returns/{return_id}/ship |
ship
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /portal/{slug}/retouren/anfordern |
return_request
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /pub/retoure/{tenant_id} |
return_lookup
Semantic binding: operator_surface; mutation=True
|
returns
|
| ⚡ REST API | POST | /pub/retoure/{tenant_id}/submit |
return_submit
Semantic binding: operator_surface; mutation=True
|
returns
|
🛡️ Regulatory & Compliance
Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:
- BGB Widerrufsrecht (§355)
- Gewährleistungsrecht (§437 BGB)
- GoBD Gutschriftennachweis