↩️
Retouren & Reklamationen
returns
supply_chain
🛡️ RLS Protected
Rücksendungsmanagement für Kunden und Lieferanten, Qualitätsprüfung, Einlagerung und Gutschrifterstellung.
Fachliche Bestimmung: Umfassender RMA-Prozess (Return Merchandise Authorization). Kunden oder Servicetechniker melden Rücksendungen an. Das System vergibt eine RMA-Nummer, führt den Lagerarbeiter durch die Qualitäts- und Fehlerprüfung, bucht fehlerfreie Ware zurück in den Bestand und stößt automatisch die Erstellung von Gutschriften oder Ersatzlieferungen an.
⚡ Workflows & Lebenszyklen (3)
🗄️ Datenmodelle & Felder (5)
🔌 Einstiegspunkte (UI & APIs) (40)
🛡️ Regulatorik & Compliance
⚡ Workflows & Lebenszyklen
RMA-Retourenprüfung & Verbuchung
rma_workflow
Vom Retoureneingang über die technische Zustandsprüfung bis zur Gutschrift.
stateDiagram-v2
[*] --> REGISTER: RMA anlegen
REGISTER --> RECEIVE: Ware trifft ein
RECEIVE --> INSPECT: Qualitätsprüfung
INSPECT --> RESTOCK: Ware einwandfrei -> Lagerzubuchung
INSPECT --> SCRAP: Defekt -> Schrottbuchung
RESTOCK --> SETTLE: Gutschrift auslösen
SCRAP --> SETTLE: Kulanz- / Garantiegutschrift
SETTLE --> [*]
1. REGISTER
Retourenanmeldung
Kunde oder Innendienst meldet Rücksendung mit Grund an.
Aktionen: RMA-Nummer erzeugen
2. RECEIVE
Eingang & Identifikation
Paket trifft im Lager ein, Barcode-Scan der RMA.
Aktionen: Prüfauftrag anlegen
3. INSPECT
Zustandsprüfung
Prüfung: Neuwertig, Gebraucht, Reparaturbedürftig oder Schrott.
Aktionen: Prüfergebnis dokumentieren
4. SETTLE
Abwicklung
Wiedereinlagerung ins Lager oder Verschrottung, Auslösen der Gutschrift.
Aktionen: Gutschrift erzeugen
Benutzerbefehl: returns agent
plan:command_returns_agent
Geprüfter Durable-Plan (unreviewed_plan), Start: manual_command.
1. returns_agent
returns_agent
{"key": "execute_command", "label": "Befehl prüfen, ausführen oder zur Freigabe vorlegen", "adapter": "agent.execute", "agent": "returns_agent", "condition_fact": null}
Aktionen: returns_agent
Retoure
status:return_order
Beobachtbare Zustandsmaschine (observable_only). Übergänge hier nicht erzwungen — siehe Service-Validierung.
1. draft
draft
Status «draft» der Zustandsmaschine Retoure.
2. requested
requested
Status «requested» der Zustandsmaschine Retoure.
3. approved
approved
Status «approved» der Zustandsmaschine Retoure.
4. rejected
rejected
Status «rejected» der Zustandsmaschine Retoure.
5. in_transit
in_transit
Status «in_transit» der Zustandsmaschine Retoure.
6. part_received
part_received
Status «part_received» der Zustandsmaschine Retoure.
7. received
received
Status «received» der Zustandsmaschine Retoure.
8. inspected
inspected
Status «inspected» der Zustandsmaschine Retoure.
9. resolved
resolved
Status «resolved» der Zustandsmaschine Retoure.
10. closed
closed
Status «closed» der Zustandsmaschine Retoure.
11. cancelled
cancelled
Status «cancelled» der Zustandsmaschine Retoure.
🗄️ Datenmodelle & Felder
🔌 Einstiegspunkte (UI & APIs)
| Art | Methode | Endpunkt / Pfad | Titel & Zweck | Berechtigung |
|---|---|---|---|---|
| ⚡ 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
|
🛡️ Regulatorik & Compliance
Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:
- BGB Widerrufsrecht (§355)
- Gewährleistungsrecht (§437 BGB)
- GoBD Gutschriftennachweis
Verknüpfte Module: