Cargos y pricing
Un cargo es la unidad mínima de facturación en Relvo: define qué se cobra, con qué modelo de precio y con qué cadencia. Un contrato no tiene «un precio»: tiene una lista de cargos, y cada uno se evalúa por separado en cada período.
Los tres tipos de cargo
Sección titulada «Los tres tipos de cargo»| Tipo | Cuándo se cobra | Depende del consumo | Ejemplo |
|---|---|---|---|
| Cargo fijo | En cada período, mientras la fase esté vigente | No | Plataforma USD 1.000 / mes |
| Cargo de uso | En cada período, sobre la cantidad medida | Sí | Conversaciones IA a USD 0,10 |
| Cargo único | Una sola vez | No | Implementación USD 5.000 |
Un cargo por asiento es un caso particular de cargo fijo: la cantidad no se escribe a mano, se resuelve desde una métrica de asiento. Ver Cargos por asiento.
Modelos de precio
Sección titulada «Modelos de precio»Relvo ofrece seis modelos. No todos los tipos de cargo admiten los seis:
| Modelo | Cargos de uso | Cargos fijos | Qué hace |
|---|---|---|---|
standard |
✅ | ✅ | Precio unitario por cantidad |
graduated |
✅ | ✅ | Cada tramo cobra su propio precio, sólo por las unidades que caen en él |
volume |
✅ | ✅ | El tramo alcanzado fija un precio único que se aplica a toda la cantidad |
package |
✅ | — | Se cobra por paquetes completos de N unidades |
percentage |
✅ | — | Un porcentaje sobre el valor de cada evento |
graduated_percentage |
✅ | — | Porcentaje por tramos sobre el valor acumulado |
Standard
Sección titulada «Standard»El modelo más simple: un precio unitario que se aplica a cada unidad cobrable.
monto = precio_unitario × máx(cantidad − unidades_gratis, 0)Las unidades gratis se descuentan antes de aplicar el precio, no después. 1.200 unidades con 200 gratis y precio 0,05 cobran 1.000 × 0,05 = 50, no 1.200 × 0,05 con un descuento encima.
Graduated (por tramos)
Sección titulada «Graduated (por tramos)»Cada tramo tiene su propio precio unitario y, opcionalmente, un monto fijo (flat_amount) que se cobra sólo si el tramo recibió al menos una unidad. Las unidades se reparten entre tramos y cada porción se cobra a su propio precio.
monto = Σ tramos ( unidades_en_tramo × precio_del_tramo + monto_fijo_del_tramo )8.420 conversaciones con tramos
| Tramo | Desde | Hasta | Precio unitario | Unidades | Subtotal |
|---|---|---|---|---|---|
| 1 | 0 | 1.000 | USD 0,00 | 1.000 | USD 0,00 |
| 2 | 1.001 | 5.000 | USD 0,10 | 4.000 | USD 400,00 |
| 3 | 5.001 | ∞ | USD 0,07 | 3.420 | USD 239,40 |
| 8.420 | USD 639,40 |
Volume (por volumen)
Sección titulada «Volume (por volumen)»La cantidad total determina un tramo, y el precio de ese tramo se aplica a todas las unidades. Es el modelo de «si compras más, todo baja de precio».
tramo = el tramo que contiene la cantidad totalmonto = unidades_cobrables × precio_del_tramo + monto_fijo_del_tramoLa misma cantidad, con volume en vez de graduated
Con los mismos tres tramos, 8.420 conversaciones caen enteras en el tramo 3:
8.420 × USD 0,07 = USD 589,40Frente a USD 639,40 con graduated. Los mismos tramos producen montos distintos según el modelo. Elegir uno u otro es una decisión comercial, no un detalle de configuración.
Package (por paquetes)
Sección titulada «Package (por paquetes)»Se cobra un monto por cada paquete de N unidades. Un paquete iniciado se cobra completo.
monto = monto_paquete × techo( unidades_cobrables / tamaño_paquete )Si el cargo define un precio de sobreconsumo (overage_unit_amount), el comportamiento cambia: se cobra un paquete base y el exceso se cobra por unidad.
monto = monto_paquete + máx( unidades_cobrables − tamaño_paquete, 0 ) × precio_sobreconsumoPercentage y graduated percentage
Sección titulada «Percentage y graduated percentage»Cobran un porcentaje sobre el valor de cada evento, no sobre su cantidad. Se usan para comisiones sobre GMV, transacciones procesadas o volumen transado.
monto_por_evento = valor_del_evento × tasa / 100 + monto_fijo_por_eventoAdmiten tres controles adicionales:
| Propiedad | Efecto |
|---|---|
free_units_per_events |
Los primeros N eventos del período no se cobran |
free_units_per_total_aggregation |
El primer tramo de valor acumulado no se cobra |
per_transaction_min_amount / per_transaction_max_amount |
Piso y techo aplicados a cada evento, no al total del período |
Prorrateo
Sección titulada «Prorrateo»Cuando una fase empieza o termina a mitad de período, un cargo marcado como prorrateable cobra la fracción del período efectivamente vigente. Un cargo no prorrateable cobra el importe completo aunque la ventana sea parcial. Es una propiedad del cargo, no del contrato: en un mismo período puedes tener la plataforma prorrateada y una licencia anual cobrada entera.
Anticipado y vencido
Sección titulada «Anticipado y vencido»Cada cargo declara si se cobra por adelantado (pay_in_advance) o vencido. Es una propiedad por cargo, no del contrato completo:
- Vencido — se cobra al cerrar el período, cuando ya se conoce el consumo. Es lo normal para cargos de uso.
- Anticipado — se cobra al abrir el período. Sólo tiene sentido para importes conocidos de antemano.
Un contrato mensual típico combina ambos: plataforma anticipada, consumo vencido, ambos en la misma factura.
Orden de cálculo
Sección titulada «Orden de cálculo»Los descuentos, mínimos y topes no se aplican en cualquier orden. Relvo evalúa siempre:
1. Agregación del consumo2. Descuentos de tipo USAGE → reducen la cantidad3. Modelo de precio → cantidad ajustada a monto4. Descuentos AMOUNT y % → reducen el subtotal5. Mínimos → true-up si el subtotal quedó bajo el piso6. Topes → recorte si el subtotal superó el techo7. Impuestos → sobre el subtotal ya ajustadoEl detalle de cada paso, con ejemplos numéricos, está en Descuentos, mínimos y topes.