Centurio Documentación de sistemas y módulos
🏛️ Arquitectura de la plataforma 🔑 Login
🏠 Todos los módulos / supply_chain / Regresos y reclamaciones
↩️

Regresos y reclamaciones

returns supply_chain 🛡️ RLS Protected

Gestión de las devoluciones para clientes y proveedores, control de calidad, almacenamiento y calificación de créditos.

Fachliche Bestimmung: Proceso de RMA (autorizamiento de devoluciones de mercancías) de carácter general: los clientes o técnicos de servicios informan de las devoluciones.

⚡ Flujos de trabajo y ciclos de vida

Recurso de la RMA rma_workflow

Desde la entrada de la devolución hasta la verificación técnica hasta el crédito.

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
Notificación de devolución
cliente o Servicio interno notifica la devolución con motivo.
Aktionen: Número de RMA generado
2. RECEIVE
Entrada y identificación
El paquete se encuentra en almacén, escaneo de código de barras de la RMA.
Aktionen: En el caso de las empresas de la Comunidad
3. INSPECT
Verificación de estado
Examen: Nuevo, usado, necesitado de reparación o desechado.
Aktionen: Documentación de los resultados de las pruebas
4. SETTLE
Desarrollo
Re-deposito en la almacén o descomposición, la salida del crédito.
Aktionen: Crédito

Regreso status:return_order

Las operaciones de la máquina de estado observable (solo observable) no se obligan a realizar.

1. draft
proyecto
Estado de la máquina de retorno de estado.
2. requested
Requerido
Estado <unk>requerido <unk> de la máquina de retorno de estado.
3. approved
Aplicado
Estado <unk>aprobado<unk> de la máquina de retorno de estado.
4. rejected
Rechazado
Estado <unk> rechazado <unk> de la máquina de regreso de estado.
5. in_transit
in_transit
Estado <unk>in_transit<unk> de la máquina de retorno de estado.
6. part_received
part_received
Estado <unk>part_received<unk> de la máquina de retorno de estado.
7. received
Recibida
Estado <unk>recibido <unk> de la máquina de retorno de estado.
8. inspected
inspeccionado
Estado de la máquina de regreso de estado
9. resolved
Resolvido
Estado <unk> resuelto <unk> de la máquina de regreso de estado.
10. closed
cerrado
Estado de la máquina de regreso de estado.
11. cancelled
cancelado
Estado de la máquina de retorno de estado

🗄️ Modelos de datos y campos

ReturnLines return_lines RLS Aktiv
30 Cálculos y columnas

Tabelle return_lines

Feldname Tipo de datos Obligado Schlüssel Importancia profesional
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 - 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 - 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 Cálculos y columnas

Tabelle return_notes

Feldname Tipo de datos Obligado Schlüssel Importancia profesional
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 Cálculos y columnas

Tabelle return_orders

Feldname Tipo de datos Obligado Schlüssel Importancia profesional
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 - Feld invoice_id
work_order_id UUID Nein - Feld work_order_id
project_id UUID Nein - 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 - Feld parent_return_id
policy_id UUID Nein - 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 - Feld credit_note_id
replacement_ref VARCHAR(255) Nein - Feld replacement_ref
repair_work_order_id UUID Nein - Feld repair_work_order_id
charge_invoice_id UUID Nein - 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 Cálculos y columnas

Tabelle return_policies

Feldname Tipo de datos Obligado Schlüssel Importancia profesional
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 Cálculos y columnas

Tabelle return_reasons

Feldname Tipo de datos Obligado Schlüssel Importancia profesional
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

🔌 Puntos de inicio (UI y API)

Art El método Punto final / camino Titel & Zweck Reacción
⚡ REST API GET /api/v1/returns
list_returns
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /api/v1/returns/analytics
análisis
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /api/v1/returns/contract/{contract_id}/returnables
contract_returnables
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /api/v1/returns/invoice/{invoice_id}/items
invoice_items
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /api/v1/returns/meta
El
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /api/v1/returns/party-context
party_context
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /api/v1/returns/policies
list_policies
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /api/v1/returns/reasons
list_reasons
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /api/v1/returns/{return_id}
get_return
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /api/v1/returns/{return_id}/credit-preview
credit_preview
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /portal/{slug}/retouren
returns_page
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /pub/retoure/status/{token}
return_status
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /pub/retoure/status/{token}/slip
return_slip
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /pub/retoure/{tenant_id}
return_form
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /returns
returns_list_page
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /returns/analytics
returns_analytics_page
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /returns/new
returns_new_page
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /returns/settings
returns_settings_page
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /returns/{return_id}
returns_detail_page
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API GET /returns/{return_id}/print
returns_print_page
Semantic binding: not_evaluated; mutation=False
returns
⚡ REST API PATCH /api/v1/returns/policies/{policy_id}
update_policy
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API PATCH /api/v1/returns/reasons/{reason_id}
update_reason
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /api/v1/returns
create_return
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /api/v1/returns/collective-credit-note
create_collective_credit_note
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /api/v1/returns/policies
create_policy
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /api/v1/returns/reasons
create_reason
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/approve
Aplicación
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/cancel
cancelación
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/close
cercanas
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/escalate-ticket
escalate_to_ticket
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/inspect
inspección
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/lines/{line_id}/photos
add_photos
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/notes
add_note
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/receive
reciben
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/reject
rechazo
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/resolve
Resolución
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /api/v1/returns/{return_id}/ship
Navios
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /portal/{slug}/retouren/anfordern
return_request
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /pub/retoure/{tenant_id}
return_lookup
Semantic binding: not_evaluated; mutation=True
returns
⚡ REST API POST /pub/retoure/{tenant_id}/submit
return_submit
Semantic binding: not_evaluated; mutation=True
returns

🛡️ Regulación y cumplimiento

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • BGB Derecho de revocación (artículo 355)
  • Derecho de garantía (artículo 437 BGB)
  • Provecho de crédito de la GOBD
Modulos vinculados:
➔ inventory ➔ finance ➔ customers ➔ portal