Centurio Documentazione dei sistemi e dei moduli
🏛️ Architettura della piattaforma 🔑 Login
🏠 Tutti i moduli / supply_chain / Ritorno e reclami
↩️

Ritorno e reclami

returns supply_chain 🛡️ RLS Protected

Gestione delle restituzioni per clienti e fornitori, controllo della qualità, deposito e calcolo dei crediti.

Fachliche Bestimmung: Il sistema fornisce un numero di RMA, conduce il lavoratore in magazzino alla verifica della qualità e degli errori, rimette in stock il merce senza errori e inizia automaticamente la creazione di crediti o di consegne di sostituzione.

⚡ Flussi di lavoro e cicli di vita

RMA - Riprese e contabilità rma_workflow

Dall'entrata in vigore del regolamento di base, fino al controllo tecnico e al credito.

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
Riferimento
cliente o Servizio interno notifica il rimpatrio con motivo.
Aktionen: Numero RMA generato
2. RECEIVE
Inserimento e identificazione
Il pacchetto si trova nel magazzino, scansione del codice a barre della RMA.
Aktionen: Invio di un'operazione di controllo
3. INSPECT
Controllo di stato
Esame: nuovo, usato, in necessità di riparazione o in scarto.
Aktionen: Documentazione dei risultati delle prove
4. SETTLE
Disposizioni
Rediversi nel magazzino o di scadenza, esclusione del credito.
Aktionen: La creazione di credito

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

Ritorno status:return_order

La macchina in stato di osservazione (solo osservabile) non è obbligatoria.

1. draft
Progetto
Statuto della macchina di ritorno.
2. requested
richiesto
Statuto <unk> richiesto <unk> della macchina di ritorno.
3. approved
approvato
Statuto di restituzione della macchina di stato
4. rejected
rifiutato
Stato di ritorno della macchina di stato
5. in_transit
in_transit
Statuto <unk>in_transit<unk> della macchina di ritorno.
6. part_received
part_received
Status <unk>part_received<unk> della macchina di ritorno di stato.
7. received
ricevuti
Statuto <unk> ricevuta <unk> della macchina di stato di ritorno.
8. inspected
di cui all'articolo 2, paragrafo 1,
Statuto della macchina di ritorno.
9. resolved
Risolto
Statuto della macchina di stato di ritorno.
10. closed
chiuso
Stato di chiusura della macchina di stato di ritorno.
11. cancelled
Cancellato
Stato di reinserimento della macchina di reinserimento.

🗄️ Modelli di dati

ReturnLines return_lines RLS Aktiv
30 Feltri / colonne

Tabelle return_lines

Feldname Tipo di dati Dati Schlüssel Importanza professionale
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 Feltri / colonne

Tabelle return_notes

Feldname Tipo di dati Dati Schlüssel Importanza professionale
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 Feltri / colonne

Tabelle return_orders

Feldname Tipo di dati Dati Schlüssel Importanza professionale
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 Feltri / colonne

Tabelle return_policies

Feldname Tipo di dati Dati Schlüssel Importanza professionale
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 Feltri / colonne

Tabelle return_reasons

Feldname Tipo di dati Dati Schlüssel Importanza professionale
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

🔌 Punto di partenza (UI & API)

Art Metodo Punto finale / percorso Titel & Zweck Il diritto
⚡ REST API GET /api/v1/returns
list_returns
Semantic binding: inventory_only; mutation=False
returns
⚡ REST API GET /api/v1/returns/analytics
analisi
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
di cui al paragrafo 1
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
approva
Semantic binding: operator_surface; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/cancel
Cancellare
Semantic binding: operator_surface; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/close
- di
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
ispezione
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
ricevere
Semantic binding: operator_surface; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/reject
rifiutare
Semantic binding: operator_surface; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/resolve
- risoluzione
Semantic binding: operator_surface; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/ship
navi
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

🛡️ Regolamentazione e conformità

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • BGB diritto di revoca (§355)
  • Diritto di garanzia (§ 437 BGB)
  • Prove di credito
Moduli collegati:
➔ inventory ➔ finance ➔ customers ➔ portal