Flujo de Comisiones — Arquitectura actual
Ya tenés bastante del backend implementado. Veamos el flujo completo:

Cómo funciona el ciclo de comisiones
┌─────────────────────────────────────────────────────────────┐
│ 1. HOLDING asigna suscripción a subsidiario │
│ └─ comision_aplicada = 15% (definida al crear) │
│ └─ vendida_por_empresa_id = Reseller que lo refirió │
└──────────────────┬──────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 2. CADA MES se genera comisión automáticamente │
│ └─ generarComisionesMensuales() → cron job o manual │
│ └─ Calcula: monto_base × porcentaje = monto_comision │
│ └─ Estado: "pendiente" │
│ └─ Se guarda en tabla comisiones_nuevas │
└──────────────────┬──────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 3. HOLDING ve comisiones pendientes por pagar │
│ └─ Agrupadas por reseller │
│ └─ Detalle: subsidiario, plan, monto, período │
│ └─ Total adeudado por reseller │
└──────────────────┬──────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 4. HOLDING paga al reseller │
│ └─ Selecciona comisiones a pagar (checkbox) │
│ └─ Registra método de pago + referencia │
│ └─ marcarComisionesPagadas() → estado: "pagada" │
└──────────────────┬──────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ 5. HISTORIAL visible para ambos │
│ └─ Holding: ve todo lo que pagó │
│ └─ Reseller: ve todo lo que cobró (tab "Mis Comisiones")│
└─────────────────────────────────────────────────────────────┘
