La facturación por asiento te permite cobrar a los clientes en función del número de usuarios, miembros del equipo o licencias que necesiten. Es el modelo de precios estándar para herramientas de colaboración en equipo, software empresarial y productos SaaS B2B.
Tutorial de Implementación
Guía paso a paso con ejemplos de código.
Documentación de Complementos
Aprende sobre el sistema de complementos que impulsa la facturación por asiento.
Gestión de Suscripciones
Gestiona suscripciones basadas en asientos y cambios de plan.
Webhooks
Realiza un seguimiento de los cambios de asientos con webhooks de suscripción.
¿Qué es la Facturación por Asiento?
La facturación por asiento (también llamada precios por usuario o por asiento) cobra a los clientes en función del número de usuarios que acceden a tu producto. En lugar de una tarifa fija, el precio se ajusta según el tamaño del equipo.Casos de Uso Comunes
| Industria | Ejemplo | Modelo de Precios |
|---|---|---|
| Colaboración en Equipo | Slack, Notion, Asana | Por usuario activo/mes |
| Herramientas para Desarrolladores | GitHub, GitLab, Jira | Por asiento/mes |
| Software CRM | Salesforce, HubSpot | Por licencia de usuario |
| Herramientas de Diseño | Figma, Canva | Por asiento de editor |
| Software de Seguridad | 1Password, Okta | Por usuario/mes |
| Videoconferencias | Zoom, Teams | Por licencia de anfitrión |
Beneficios de la Facturación por Asiento
Para Tu Negocio:- Los ingresos escalan naturalmente a medida que los clientes crecen
- Precios predecibles que los clientes pueden presupuestar
- Ruta de actualización clara de individual a equipo a empresarial
- Mayor valor de vida útil a medida que los equipos se expanden
- Pagar solo por lo que utilizan
- Fácil de entender y prever costos
- Flexibilidad para agregar/quitar usuarios según sea necesario
- Precios justos que coinciden con el tamaño del equipo
Cómo Funciona la Facturación por Asiento en Dodo Payments
Dodo Payments implementa la facturación por asiento utilizando el sistema de Complementos. Así es como funciona:Resumen de Arquitectura
Una suscripción Team Pro cuesta $99/mes e incluye 5 asientos. Si tienes más de 5 usuarios, pagas $15/mes adicionales por cada asiento extra. Por ejemplo, si tu equipo necesita 15 asientos:- Plan Base: $99/mes (incluye 5 asientos)
- Complementos: 10 asientos extra × $15/mes = $150/mes
- Costo mensual total: $99 + $150 = $249 por 15 asientos
Componentes Clave
| Componente | Propósito | Ejemplo |
|---|---|---|
| Producto Base | Suscripción principal con asientos incluidos | ”Plan de Equipo - $99/mes (5 asientos incluidos)“ |
| Complemento de Asiento | Cargo por asiento para usuarios adicionales | ”Asiento Extra - $15/mes cada uno” |
| Cantidad | Número de asientos adicionales comprados | 10 asientos extra |
Estrategias de Precios
Elige la estrategia de precios por asiento que se ajuste a tu negocio:Estrategia 1: Base + Complemento por Asiento
Incluye un número fijo de asientos en el plan base, cobra por asientos adicionales. Ejemplo:Estrategia 2: Precios Puro por Asiento
Cobra una tarifa fija por asiento sin tarifa base. Ejemplo:Estrategia 3: Precios por Asiento por Niveles
Diferentes planes base con diferentes tarifas por asiento. Ejemplo:Estrategia 4: Paquetes de Asientos
Vende asientos en paquetes en lugar de individualmente. Ejemplo:Configuración de la Facturación por Asiento
Paso 1: Planifica Tu Estructura de Precios
Antes de la implementación, define tu estructura de precios:1
Define el Plan Base
Decide qué se incluye en la suscripción base:
- Precio base (puede ser $0 para puro por asiento)
- Número de asientos incluidos
- Características disponibles en este nivel
2
Establece el Precio por Asiento
Determina el costo del complemento por asiento:
- Precio por asiento adicional
- Cualquier descuento por volumen (a través de múltiples complementos)
- Máximo de asientos permitidos (si corresponde)
3
Considera la Frecuencia de Facturación
Alinea el precio por asiento con tu ciclo de facturación:
- Suscripciones mensuales → cargos mensuales por asiento
- Suscripciones anuales → cargos anuales por asiento (a menudo con descuento)
Paso 2: Crea el Complemento por Asiento
En tu panel de Dodo Payments:- Navega a Productos → Complementos
- Haz clic en Crear Complemento
- Configura el complemento:
| Campo | Valor | Notas |
|---|---|---|
| Nombre | ”Asiento Adicional” o “Miembro del Equipo” | Nombre claro y fácil de entender |
| Descripción | ”Agrega otro miembro del equipo a tu espacio de trabajo” | Explica lo que obtienen los clientes |
| Precio | Tu precio por asiento | p. ej., $10.00 |
| Moneda | Coincide con tu producto base | Debe ser la misma moneda |
| Categoría de Impuestos | Igual que el producto base | Asegura un manejo de impuestos consistente |
Paso 3: Crea el Producto de Suscripción
Crea tu producto de suscripción:- Navega a Productos → Crear Producto
- Selecciona Suscripción
- Configura precios y detalles
- En la sección de Complementos, adjunta tu complemento por asiento
Paso 4: Adjunta el Complemento al Producto
Vincula el complemento por asiento a tu suscripción:- Edita tu producto de suscripción
- Desplázate a la sección de Complementos
- Haz clic en Agregar Complementos
- Selecciona tu complemento por asiento
- Guarda los cambios
Tu producto de suscripción ahora admite precios por asiento. Los clientes pueden comprar cualquier cantidad de asientos adicionales durante el proceso de pago.
Gestión de Asientos
Agregando Asientos a Nuevas Suscripciones
Al crear una sesión de pago, especifica la cantidad de asientos:Cambiando la Cantidad de Asientos en Suscripciones Existentes
Utiliza la API de Cambio de Plan para ajustar los asientos:Eliminando Asientos
Para reducir la cantidad de asientos, especifica la cantidad menor:Eliminando Todos los Asientos Adicionales
Pasa un array de complementos vacío para eliminar todos los complementos:Prorrateo por Cambios de Asiento
Cuando los clientes agregan o eliminan asientos a mitad de ciclo, el prorrateo determina cómo se les factura.Modos de Prorrateo
| Modo | Agregando Asientos | Eliminando Asientos |
|---|---|---|
prorated_immediately | Cargar por los días restantes en el ciclo | Crédito por días no utilizados |
difference_immediately | Cargar el precio completo del asiento | Crédito aplicado a renovaciones futuras |
full_immediately | Cargar el precio completo del asiento, reiniciar ciclo de facturación | Sin crédito |
Ejemplos de Prorrateo
Escenario: 15 días de ciclo de facturación restantes, agregando 5 asientos a $10/asiento- prorated_immediately
- difference_immediately
- full_immediately
Vista Previa Antes de Cambiar
Siempre vista previa del prorrateo antes de realizar cambios:Seguimiento de Asientos con Webhooks
Monitorea los cambios de asientos escuchando los webhooks de suscripción:Eventos Relevantes
| Evento | Cuándo se Activa | Caso de Uso |
|---|---|---|
subscription.active | Nueva suscripción activada | Provisionar asientos iniciales |
subscription.plan_changed | Asientos agregados/eliminados | Actualizar el conteo de asientos en tu aplicación |
subscription.renewed | Suscripción renovada | Confirmar que el conteo de asientos no ha cambiado |
subscription.cancelled | Suscripción cancelada | Deprovisionar todos los asientos |
Ejemplo de Manejador de Webhook
Aplicando Límites de Asientos
Tu aplicación debe hacer cumplir los límites de asientos. Dodo Payments rastrea la facturación, pero tú controlas el acceso.Estrategias de Aplicación
- Límite Estricto
- Límite Suave con Advertencia
- Auto-Actualización
Previene estrictamente la adición de usuarios más allá del conteo de asientos.
Patrones Avanzados
Diferentes Tipos de Asientos
Ofrece diferentes tipos de asientos con diferentes precios:Descuentos por Asientos Anuales
Ofrece precios de asientos anuales con descuento:Requisitos Mínimos de Asientos
Requiere un número mínimo de asientos para ciertos planes:Mejores Prácticas
Mejores Prácticas de Precios
- Comunicación Clara: Muestra el precio por asiento de manera prominente en tu página de precios
- Asientos Incluidos: Considera incluir algunos asientos en el precio base para reducir la fricción
- Descuentos por Volumen: Ofrece tarifas por asiento más bajas para equipos más grandes para ganar acuerdos empresariales
- Incentivos Anuales: Descuenta los planes anuales para mejorar el flujo de efectivo y la retención
Mejores Prácticas Técnicas
- Cachear Conteos de Asientos: Cachea los conteos de asientos de suscripción localmente para evitar llamadas a la API en cada solicitud
- Sincronizar Regularmente: Sincroniza periódicamente tu conteo de asientos local con Dodo Payments a través de la API
- Manejar Fallos: Si un cambio de asiento falla, muestra mensajes de error claros y opciones de reintento
- Registro de Auditoría: Registra todos los cambios de asientos para disputas de facturación y cumplimiento
Mejores Prácticas de Experiencia del Usuario
- Retroalimentación en Tiempo Real: Muestra el impacto inmediato en el costo al ajustar asientos
- Pasos de Confirmación: Requiere confirmación antes de realizar cambios en la facturación
- Transparencia en el Prorrateo: Explica claramente los cargos prorrateados antes de aplicarlos
- Fáciles Downgrades: No hagas difícil reducir asientos (esto genera confianza)
Solución de Problemas
Desajuste en el conteo de asientos entre la app y la facturación
Desajuste en el conteo de asientos entre la app y la facturación
Síntoma: Tu aplicación muestra un conteo de asientos diferente al de la suscripción.Causas:
- Webhook no recibido o procesado
- Condición de carrera durante el cambio de asiento
- Datos en caché no actualizados
- Implementa manejadores de webhook para
subscription.plan_changed - Agrega un botón “Sincronizar con facturación” que obtenga la suscripción actual
- Establece TTL de caché para asegurar una actualización regular
Cargos prorrateados inesperados
Cargos prorrateados inesperados
Síntoma: Cliente confundido por el monto del cargo a mitad de ciclo.Causas:
- Modo de prorrateo no comunicado claramente
- Cliente no vio la vista previa antes de confirmar
- Siempre usa
previewChangePlanantes de realizar cambios - Muestra un desglose claro: “Agregando X asientos = $Y hoy (prorrateado por Z días)”
- Documenta tu política de prorrateo en el centro de ayuda
Complemento no aparece en el checkout
Complemento no aparece en el checkout
Síntoma: Complemento de asiento no disponible durante el checkout.Causas:
- Complemento no adjunto al producto
- Complemento archivado o eliminado
- Desajuste de moneda entre producto y complemento
- Verifica que el complemento esté adjunto en la configuración del producto
- Revisa el estado del complemento en el panel de Complementos
- Asegúrate de que las monedas coincidan exactamente
No se puede reducir asientos por debajo del uso actual
No se puede reducir asientos por debajo del uso actual
Síntoma: El cliente quiere reducir asientos pero tiene usuarios asignados.Soluciones:
- Muestra qué usuarios deben ser eliminados antes de reducir asientos
- Implementa un flujo de trabajo: Eliminar usuarios → Reducir asientos
- Considera un período de gracia antes de hacer cumplir la reducción de asientos