alloop
Marcar enlaces

Comisiones

alloop calcula lo que debes a cada colaborador por cada venta, lleva su cuenta con reembolsos incluidos y te prepara el lote de pago. El pago lo ordenas tú.

Cuando marcas los enlaces de tus colaboradores, alloop sabe quién trae cada venta. A partir de ahí puede calcular la comisión, llevar la cuenta de lo que le debes a cada uno y prepararte el lote de pago.

Dónde está el límite, dicho antes de que preguntes

alloop calcula y lleva la cuenta. El pago lo ordenas tú desde tu banco, Wise o PayPal con el lote que te preparamos, y nos dices que está hecho para que la contabilidad quede cerrada. Mover dinero de tu cuenta a la de un tercero tiene implicaciones legales y fiscales que se resuelven con un contrato, no con un botón.

Configurar a cada colaborador

En su ficha se define qué cobra. Cada uno puede tener lo suyo:

CampoQué hace
comisionPorcentaje sobre la venta (por ejemplo, 20)
comision_fijaImporte fijo por venta, en la divisa del cobro
recurrenteSi también cobra por las renovaciones. Por defecto, no
cuponesSus códigos de descuento, para atribuirle también quien no usa el enlace
emailEl suyo. Se usa para impedir que se compre a sí mismo
Ejemplo de registro
{
  "affiliates": [
    { "slug": "marta", "tipo": "influencer", "nombre": "Marta R.", "comision": 20,
      "cupones": ["MARTA20"], "email": "marta@ejemplo.com" },
    { "slug": "escuela-x", "tipo": "partner", "comision": 15, "recurrente": true },
    { "slug": "carlos", "tipo": "afiliado", "comision_fija": 25 }
  ],
  "affiliate_hold_days": 30
}

Sin tarifa NO se inventa un importe

Si llega una venta de un colaborador que no tiene comisión configurada, alloop registra la venta —para que no se pierda— pero con comisión cero, y te avisa en el panel. Nunca aplica un porcentaje "razonable" por su cuenta: eso generaría una deuda real con una persona a partir de una suposición.

Dos protecciones que actúan solas:

  • Una comisión fija nunca supera la venta. Si la tarifa son 25 € y alguien compra algo de 15 €, se pagan 15 €. Sin ese tope, cada venta pequeña de ese colaborador daría pérdida.
  • Un porcentaje mayor que 100 se ignora. Teclear 2000 en vez de 20 pasa, y aplicarlo pagaría veinte veces el importe de la venta.

Cupones: la venta que el enlace no ve

Mucha gente ve el código de descuento en un vídeo y lo teclea directamente en el checkout, sin pasar por el enlace del creador. Con solo el enlace, esa venta se registra como "directo" y quien la trajo no cobra por ella. Es el agujero más caro de un programa de afiliados.

La solución es mapear el cupón a su creador:

Marta tiene enlace y cupón
{
  "slug": "marta",
  "comision": 20,
  "cupones": ["MARTA20"]
}

El descuento vive en tu Stripe, aquí solo vive de quién es

Fíjate en que no se pone en ningún sitio cuánto descuenta MARTA20: eso es un cupón de tu Stripe, con su propio porcentaje, y ahí se queda. Si el importe estuviera también aquí, tendrías dos sitios donde cambiarlo y el día que edites uno solo, empezarían a discrepar.

Se reconoce el código lo escriba como lo escriba (MARTA20, marta20) y venga por donde venga: tanto si lo teclea en el pago como si tú se lo aplicas desde Stripe.

Cuando el enlace dice una cosa y el cupón otra

Pasa: alguien entra por el enlace de Carlos y luego teclea el código de Marta. Gana el cupón, porque teclear un código es un acto deliberado, mientras que un enlace puede haberse reenviado por un grupo semanas antes.

Se puede invertir si prefieres que mande el enlace. Lo importante es decidirlo ahora, no cuando dos colaboradores estén discutiendo por la misma venta.

Un colaborador no puede comprarse a sí mismo

Si el email del comprador es el mismo que el del colaborador, la comisión no se genera. La venta sí queda registrada —el dinero es tuyo y es real—; lo que se bloquea es cobrarse una comisión por comprarse a uno mismo.

Funciona también con los alias de correo: marta+loquesea@gmail.com es el mismo buzón que marta@gmail.com y se detecta igual.

Un enlace con un nombre inventado no paga a nadie

Cualquiera puede escribir ?via=loquesea en una URL. Solo se atribuyen ventas a colaboradores registrados: un slug que no está en tu lista no genera comisión, aunque aparezca en el enlace.

El recorrido de una comisión

VENTA con ?via=marta
      ↓  se calcula y se registra
   pendiente        ← espera por si hay devolución (30 días por defecto)

   por pagar        ← ya se puede liquidar
      ↓  ordenas el pago y lo confirmas
   pagada

La espera la fijas tú con affiliate_hold_days y debe cubrir tu ventana de devolución: pagar antes de que expire significa pagar comisiones de ventas que todavía pueden reembolsarse, y reclamar ese dinero a un colaborador es una conversación que nadie quiere tener.

Qué pasa con los reembolsos

La comisión original nunca se borra ni se edita. Cuando una venta se devuelve, se escribe un apunte negativo que la compensa:

venta    marta   +29,00 €   pagada
refund   marta   −29,00 €   revertida     ← apunte NUEVO
                 ────────
saldo:            0,00 €

Así el saldo de cada colaborador es siempre la suma de sus apuntes, y una venta reembolsada sigue siendo distinguible de una venta que nunca ocurrió — que es exactamente lo que necesitas poder demostrar si alguien discute una liquidación.

Si el reembolso es parcial, se revierte solo la parte proporcional: devolver la comisión entera por un reembolso del 30 % castigaría al colaborador por algo que no hizo.

Si el reembolso llega después de haberle pagado, su saldo queda en negativo y se descuenta de su siguiente liquidación. El panel te avisa de quién está en esa situación.

Liquidar

Pide el lote cuando quieras pagar:

curl -u "$ALLOOP_USER:$ALLOOP_PASSWORD" \
  "https://track.alloop.ch/api/v1/clients/tu-academia/affiliates/batch"
{
  "ok": true,
  "lineas": [
    { "affiliate": "marta", "currency": "EUR", "importe": 340.00, "entry_ids": ["commission:ch_1", "commission:ch_2"] },
    { "affiliate": "escuela-x", "currency": "CHF", "importe": 85.50, "entry_ids": ["commission:ch_9"] }
  ],
  "totales_por_divisa": { "EUR": 340.00, "CHF": 85.50 }
}

Dos cosas que ya vienen resueltas: el saldo negativo está descontado (a quien deba dinero no se le propone un pago de más) y las divisas van separadas — nunca se suman euros con francos para dar un total cómodo pero falso.

Cuando hayas pagado, ciérralo:

curl -u "$ALLOOP_USER:$ALLOOP_PASSWORD" -X POST \
  -H 'Content-Type: application/json' \
  -d '{"batch_id":"agosto-2026","lineas":[…]}' \
  "https://track.alloop.ch/api/v1/clients/tu-academia/affiliates/batch/paid"

Lo confirmas tú, no el sistema: alloop no puede saber si tu transferencia salió de verdad, y dar por pagado algo que no lo está es peor que no registrarlo. Repetir la llamada no marca nada dos veces.

El portal de tu colaborador

Puedes darle a cada uno un enlace privado donde ve lo suyo: su tarifa, sus ventas, y cuánto tiene pendiente, por cobrar y ya cobrado.

curl -u "$ALLOOP_USER:$ALLOOP_PASSWORD" -X POST \
  "https://track.alloop.ch/api/v1/clients/tu-academia/affiliates/marta/link"

Devuelve un enlace que dura 180 días y que puedes mandarle por donde quieras. No necesita cuenta ni contraseña, y no da acceso a tu panel.

Tu colaborador nunca ve a tus alumnos

El portal muestra importes, fechas y estados. Nunca quién compró: ni nombres, ni correos, ni el identificador de la transacción. Un programa de afiliados con acceso a tu base de clientes sería una fuga de datos disfrazada de funcionalidad.

Auditar

Todos los apuntes, para cuadrar contra Stripe:

curl -u "$ALLOOP_USER:$ALLOOP_PASSWORD" \
  "https://track.alloop.ch/api/v1/clients/tu-academia/affiliates/ledger?affiliate=marta"

Cada apunte guarda la tarifa que se aplicó en ese momento, así que subirle la comisión a alguien no recalcula lo que ya se registró.

Errores comunes

SíntomaCausa probableArreglo
"Sin tarifa configurada" en el panelEse colaborador no tiene comisión puestaAñádele comision o comision_fija
Una venta suya no generó comisiónLlegó sin ?via=, o el slug no está registradoMarcar enlaces
Las renovaciones no le cuentanrecurrente no está activadoEs opt-in a propósito: actívalo en su ficha
Su saldo está en negativoHubo un reembolso después de pagarleSe descuenta de su próxima liquidación
El lote sale vacíoLas comisiones siguen en esperaAún no ha pasado affiliate_hold_days
Vendió con su código y no cobróEl cupón no está mapeado a su fichaAñádele el código en cupones
Una compra suya no generó comisiónCompró con su propio emailEs a propósito: no puede autopagarse
Dos colaboradores reclaman la misma ventaVino por el enlace de uno y el cupón de otroManda el cupón; dinos si lo prefieres al revés

Siguiente paso

Si aún no repartes enlaces marcados, empieza por Afiliados e influencers — sin eso no hay nada que calcular.

¿Te atascas? Pregúntale a tu IA

Pregúntale a tu IA

Esta documentación está pensada para leerse con una IA al lado. Abre tu asistente con el contexto de alloop ya cargado y pregúntale lo que necesites, en tu idioma.

Para qué NO sirve: una IA no ve tu panel, tus pagos ni tus datos, y puede equivocarse. Si un ingreso no aparece, algo toca tu producción o necesitas una respuesta oficial, escríbenos: esto no sustituye al soporte.

ClaudeChatGPTGemini

En esta página