Diagrama 1: Flujo Principal de Venta (End-to-End)

Nota: Canal de Venta y Categoría de Cliente son dos dimensiones independientes.
El Canal determina el % de Manejo base. La Categoría determina el % de Utilidad y el Precio de Envío.
La combinación Canal × Categoría puede modificar el % de Manejo (ver Matriz Cruzada).
flowchart TD START([🛒 Inicio de Venta]) --> DIM1 subgraph DIM1["📡 DIMENSIÓN 1: Canal de Venta (Cómo se vende)"] direction TB A{¿Por qué canal
se realiza la venta?} A -->|Presencial| B1["🏪 Presencial
% Manejo Base: 13%"] A -->|Online| B2["🌐 On-Line
% Manejo Base: 13%"] A -->|Casillero| B3["📬 Casillero
% Manejo Base: 22%"] A -->|Comisión| B4["👥 Comisión / Vendedores
% Manejo Base: TBD"] A -->|Servicio a Domicilio| B5["🚚 Servicio A Domicilio
% Manejo Base: TBD"] end B1 --> CLIENT B2 --> CLIENT B3 --> CLIENT B4 --> CLIENT B5 --> CLIENT CLIENT["🔍 Identificación del Cliente"] --> DIM2 subgraph DIM2["👤 DIMENSIÓN 2: Categoría del Cliente (Quién compra)"] direction TB D{¿Qué categoría
tiene el cliente?} D -->|Estándar| E1["📋 Estándar
% Utilidad: 30%
Envío Base: $2.49"] D -->|VIP| E2["⭐ VIP
% Utilidad: 20%
Envío Base: $1.99"] D -->|Empleado| E3["🏷️ Empleado
% Utilidad: 0%
Envío Base: $1.81"] D -->|Agencia| E4["🏢 Agencia
% Utilidad: 25%
Envío Base: $1.70"] D -->|Mayorista| E5["📦 Mayorista
% Utilidad: 20%
Envío Base: $2.25"] end E1 --> CROSS E2 --> CROSS E3 --> CROSS E4 --> CROSS E5 --> CROSS CROSS["⚙️ Cruce Canal × Categoría
Resolver % Manejo final
(puede variar por combinación)"] --> F F["📦 Selección de Productos"] --> G["💲 Cálculo Precio Producto
Precio Venta = Costo × (1 + % Utilidad Categoría)"] G --> H{¿Proveedor del Producto?} H -->|Almacén SW| I1["🏭 Almacén SW
Tarifa: Fija
Entrega: Envío Paquete / Directa"] H -->|Pan-Inter| I2["📦 Pan-Inter
Tarifa: Por Provincia
Entrega: Almacén Prov. / Kanguro"] H -->|Express| I3["⚡ Express
Tarifa: Por Provincia
Entrega: Por Kanguro"] H -->|Despensa| I4["🍽️ Despensa
Tarifa: Por Provincia
Entrega: Por Proveedor"] H -->|Otros| I5["📋 Otros
Tarifa: Por Provincia
Entrega: Por Kanguro"] I1 --> J["📐 Cálculo de Envío
Envío = Peso × Precio Envío (Categoría)
+ Retractilado (si aplica)
= Subtotal de Envío"] I2 --> J I3 --> J I4 --> J I5 --> J J --> K["💰 Manejo de Envío
Manejo = Subtotal Envío × % Manejo (Canal×Categoría)"] K --> L["🧾 Generación de Factura
━━━━━━━━━━━━━━━━━━━━
Subtotal Producto (Costo × 1+%Utilidad)
+ Subtotal Envío (Peso × Tarifa + Cargos)
+ Manejo del Envío (%Manejo × Subtotal Envío)
- Descuentos / Cupones
━━━━━━━━━━━━━━━━━━━━
= TOTAL A PAGAR"] L --> M{¿Requiere Etiqueta?} M -->|"Envío de Paquete /
Por Kanguro /
Por Proveedor"| N1[🏷️ Generar Etiqueta de Envío] M -->|"Entrega Directa en SW /
Almacén del Proveedor"| N2[❌ No Genera Etiqueta] N1 --> O[💳 Procesamiento de Pago] N2 --> O O --> P{¿Tiene Cupón de Afiliado?} P -->|Sí| Q1["👥 Registrar Comisión
Estado: PENDIENTE"] P -->|No| Q2[Sin comisión] Q1 --> R["📊 Liquidación
━━━━━━━━━━━━━━━
Pago a Proveedor
Comisión a Afiliado
Utilidad de la Empresa"] Q2 --> R R --> END([✅ Venta Completada]) style START fill:#4CAF50,color:#fff style END fill:#4CAF50,color:#fff style DIM1 fill:#e3f2fd,stroke:#1565C0 style DIM2 fill:#fff3e0,stroke:#E65100 style CROSS fill:#f3e5f5,stroke:#7B1FA2 style L fill:#FF9800,color:#fff style R fill:#2196F3,color:#fff