Centurio System- & moduldokumentation
🏛️ Plattformarkitektur 🔑 Login
🏠 Alla moduler / supply_chain / Återlämningar
↩️

Återlämningar

returns supply_chain 🛡️ RLS Protected

Förvaltning av återförsändelser för kunder och leverantörer, kvalitetskontroll, lagring och kreditlån.

Fachliche Bestimmung: Den omfattande RMA-processen (godkännande av återvändande av varor) Kunden eller tjänsteutbildaren anmäler återlämningar. Systemet ger en RMA-nummer, leder lagerarbetaren genom kvalitets- och felkontroll, bokar felfri varor tillbaka i lager och uppmuntrar automatiskt att kredit- eller ersättningsleveranser görs.

⚡ Arbetsflöden och livscykler

RMA-avkastningskontroll och bokföring rma_workflow

Från återbetalning till teknisk kontroll till kredit.

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
Anmälan om återvändande
Inlandstjänst anmäler återlämnande med grund.
Aktionen: RMA-nummer
2. RECEIVE
Inträde & Identifiering
Paket hittar ett barkodskanning från RMA.
Aktionen: Användning av
3. INSPECT
Förberedande åtgärder
Tittning: Ny, begagnad, reparationsnödlig eller skrot.
Aktionen: Dokumentera kontrollresultat
4. SETTLE
Förvaltning
Återföring till lager eller förfall, utlåning av skulder.
Aktionen: Utveckling av kredit

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

Återvändning status:return_order

Observable_only_observable_state machine.

1. draft
Förberedande
Status <unk>utkast <unk> av återvändande av maskinen.
2. requested
Förfrågan
Status <unk>requested<unk> av återvändande av maskinens status.
3. approved
godkänt
Status <unk>godkänt <unk> av återvändande av maskinen.
4. rejected
Avvisad
Status <unk>avvisad <unk> av återvändande av maskinens status.
5. in_transit
in_transit
Status <unk>in_transit<unk> av returmaskinen.
6. part_received
part_received
Status <unk>part_received<unk> av returmaskinens status.
7. received
Räkning
Status <unk> mottagit <unk> retur av maskinens status.
8. inspected
Inspekterade
Status <unk>inspekterad<unk> av returmaskinens status.
9. resolved
Avslutade
Status <unk>lösad<unk> av återvändande av maskinens status.
10. closed
Stängd
Status <unk>closed<unk> av returmaskinens status.
11. cancelled
Avbokade
Status <unk>annuleras <unk> retur av maskinens status.

🗄️ Datamodeller & fält

ReturnLines return_lines RLS Aktiv
30 Fält / kolumner

Tabelle return_lines

Feldname Uppgifter Förpliktelse Schlüssel Arbetsuppgifter
return_id UUID Ja * FK ➔ return_orders.id Feld return_id
position INTEGER Ja * - Feld position
stock_owner VARCHAR(16) Ja * - Feld stock_owner
product_id UUID Nein FK ➔ products.id Feld product_id
stored_article_id UUID Nein FK ➔ stored_articles.id Feld stored_article_id
asset_id UUID Nein FK ➔ assets.id Feld asset_id
invoice_item_id UUID Nein FK ➔ invoice_items.id Feld invoice_item_id
description VARCHAR(255) Ja * - Feld description
unit VARCHAR(32) Ja * - Feld unit
unit_price NUMERIC(14, 2) Nein - Feld unit_price
tax_rate NUMERIC(6, 3) Nein - Feld tax_rate
quantity_requested NUMERIC(14, 4) Ja * - Feld quantity_requested
quantity_received NUMERIC(14, 4) Ja * - Feld quantity_received
quantity_accepted NUMERIC(14, 4) Ja * - Feld quantity_accepted
from_location_id UUID Nein FK ➔ locations.id Feld from_location_id
tracking_codes JSONB Ja * - Feld tracking_codes
reason_id UUID Nein FK ➔ return_reasons.id Feld reason_id
condition_grade VARCHAR(1) Nein - Feld condition_grade
disposition VARCHAR(24) Nein - Feld disposition
disposition_location_id UUID Nein FK ➔ locations.id Feld disposition_location_id
disposed_at DATETIME Nein - Feld disposed_at
unit_cost NUMERIC(14, 2) Nein - Feld unit_cost
inspection_notes TEXT Nein - Feld inspection_notes
photo_document_ids JSONB Ja * - Feld photo_document_ids
child_return_id UUID Nein FK ➔ return_orders.id Feld child_return_id
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
ReturnNotes return_notes RLS Aktiv
9 Fält / kolumner

Tabelle return_notes

Feldname Uppgifter Förpliktelse Schlüssel Arbetsuppgifter
return_id UUID Ja * FK ➔ return_orders.id Feld return_id
author_id UUID Nein - Feld author_id
kind VARCHAR(16) Ja * - Feld kind
body TEXT Ja * - Feld body
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
ReturnOrders return_orders RLS Aktiv
46 Fält / kolumner

Tabelle return_orders

Feldname Uppgifter Förpliktelse Schlüssel Arbetsuppgifter
rma_number VARCHAR(64) Ja * - Feld rma_number
kind VARCHAR(24) Ja * - Feld kind
status VARCHAR(16) Ja * - Feld status
channel VARCHAR(16) Ja * - Feld channel
public_token UUID Ja * - Feld public_token
customer_id UUID Nein FK ➔ customers.id Feld customer_id
supplier_id UUID Nein FK ➔ suppliers.id Feld supplier_id
contract_id UUID Nein FK ➔ contracts.id Feld contract_id
invoice_id UUID Nein FK ➔ invoices.id Feld invoice_id
work_order_id UUID Nein FK ➔ work_orders.id Feld work_order_id
project_id UUID Nein FK ➔ projects.id Feld project_id
rental_booking_id UUID Nein FK ➔ rental_bookings.id Feld rental_booking_id
ticket_id UUID Nein FK ➔ tickets.id Feld ticket_id
parent_return_id UUID Nein FK ➔ return_orders.id Feld parent_return_id
policy_id UUID Nein FK ➔ return_policies.id Feld policy_id
reason_id UUID Nein FK ➔ return_reasons.id Feld reason_id
reason_text TEXT Nein - Feld reason_text
resolution VARCHAR(24) Nein - Feld resolution
restocking_fee_percent NUMERIC(5, 2) Ja * - Feld restocking_fee_percent
credit_note_id UUID Nein FK ➔ invoices.id Feld credit_note_id
replacement_ref VARCHAR(255) Nein - Feld replacement_ref
repair_work_order_id UUID Nein FK ➔ work_orders.id Feld repair_work_order_id
charge_invoice_id UUID Nein FK ➔ invoices.id Feld charge_invoice_id
credit_amount NUMERIC(14, 2) Nein - Feld credit_amount
carrier VARCHAR(128) Nein - Feld carrier
tracking_number VARCHAR(128) Nein - Feld tracking_number
return_location_id UUID Nein FK ➔ locations.id Feld return_location_id
pickup_address TEXT Nein - Feld pickup_address
risk_score INTEGER Ja * - Feld risk_score
risk_flags JSONB Ja * - Feld risk_flags
requested_at DATETIME Nein - Feld requested_at
approved_at DATETIME Nein - Feld approved_at
shipped_at DATETIME Nein - Feld shipped_at
received_at DATETIME Nein - Feld received_at
inspected_at DATETIME Nein - Feld inspected_at
resolved_at DATETIME Nein - Feld resolved_at
notes TEXT Nein - Feld notes
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
ReturnPolicies return_policies RLS Aktiv
22 Fält / kolumner

Tabelle return_policies

Feldname Uppgifter Förpliktelse Schlüssel Arbetsuppgifter
name VARCHAR(255) Ja * - Feld name
customer_id UUID Nein FK ➔ customers.id Feld customer_id
contract_id UUID Nein FK ➔ contracts.id Feld contract_id
is_default BOOLEAN Ja * - Feld is_default
window_days INTEGER Ja * - Feld window_days
auto_approve BOOLEAN Ja * - Feld auto_approve
restocking_fee_percent NUMERIC(5, 2) Ja * - Feld restocking_fee_percent
require_inspection BOOLEAN Ja * - Feld require_inspection
shipping_paid_by VARCHAR(16) Ja * - Feld shipping_paid_by
grade_credit_percent JSONB Ja * - Feld grade_credit_percent
condition_matrix JSONB Ja * - Feld condition_matrix
max_return_rate_percent NUMERIC(5, 2) Ja * - Feld max_return_rate_percent
active BOOLEAN Ja * - Feld active
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
ReturnReasons return_reasons RLS Aktiv
16 Fält / kolumner

Tabelle return_reasons

Feldname Uppgifter Förpliktelse Schlüssel Arbetsuppgifter
code VARCHAR(32) Ja * - Feld code
label VARCHAR(255) Ja * - Feld label
category VARCHAR(32) Ja * - Feld category
fault_party VARCHAR(16) Ja * - Feld fault_party
default_disposition VARCHAR(24) Nein - Feld default_disposition
default_resolution VARCHAR(24) Nein - Feld default_resolution
active BOOLEAN Ja * - Feld active
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata

🔌 Inledande punkter (UI & API)

Art Förberedelse Slutpunkt / väg Titel & Zweck Förmåga
⚡ REST API GET /api/v1/returns
list_returns
Semantic binding: inventory_only; mutation=False
returns
⚡ REST API GET /api/v1/returns/analytics
Analyser
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
Förberedande
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
godkänna
Semantic binding: operator_surface; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/cancel
Avbryta
Semantic binding: operator_surface; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/close
Nära
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
Inspektion
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
Först
Semantic binding: operator_surface; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/reject
Avkastning
Semantic binding: operator_surface; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/resolve
-
Semantic binding: operator_surface; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/ship
Skip
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

🛡️ Reglering och efterlevnad

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • BGB Återkallelse (§ 355)
  • Försäkring (§ 437 BGB)
  • Försäkringsbolag
Kopplade moduler:
➔ inventory ➔ finance ➔ customers ➔ portal