Guía · Tarificación y billing

Facturación VoIP en tiempo real: por dónde se fuga el margen

En el mayorista no se pierde plata de golpe: se pierde en fracciones de centavo, por llamada, durante meses. Esta página explica cómo se tarifica una llamada de verdad y recorre las seis fugas que aparecen siempre — con lo que tiene que hacer el switch para que no aparezcan.

Cómo se tarifica una llamada, de verdad

«A 0,012 el minuto» no es una tarifa: es un número suelto. Una tarifa real de operador tiene cuatro campos, y los cuatro cambian el resultado:

La regla que resume todo: tenés que cobrarle a tu cliente con un esquema al menos tan protegido como el que tu proveedor te aplica a vos. Si comprás 60/60 y vendés 1/1, cada llamada de 12 segundos la pagás como 60 y la cobrás como 12. Eso no se ve en el margen por minuto: se ve en el estado de cuenta.

Por qué «en tiempo real» no es marketing

Hay dos formas de descontar el saldo, y sólo una sobrevive a un cliente de mala fe o a un marcador descontrolado:

  1. Al cerrar la llamada. Simple de programar. Con 200 llamadas simultáneas abiertas a un destino caro, el saldo de 10 dólares se convierte en una deuda de varios cientos antes de que se cierre la primera.
  2. Durante la llamada. El switch reserva crédito al conectar y lo consume mientras habla. Cuando se acaba, corta. La deuda máxima posible es conocida y acotada.

La segunda es la única compatible con vender prepago a alguien que no conocés.

Las seis fugas

1. La tabla de prefijos desordenada

Prefijos que se solapan y se resuelven por orden de carga en vez de por longitud. Se detecta comparando, para un puñado de números reales de cada país, qué tarifa aplicó el switch contra la que debía aplicar.

2. La asimetría de mínimo e incremento

Ya descrita arriba. Es la fuga número uno en operaciones nuevas, porque la tarifa de venta se copia de la competencia sin mirar la de compra.

3. El redondeo a dos decimales

Una llamada de 6 segundos a 0,0098 vale 0,00098. Redondeado a dos decimales, vale cero. Con volumen de marcador, «cero» son miles de llamadas gratis por día. El sistema tiene que guardar y acumular con la precisión de la tarifa —seis decimales o más— y redondear sólo al emitir la factura.

4. La ruta barata que no deja margen

Costo 0,0098, venta 0,0100. El LCR la elige porque es la más barata; el margen no paga ni el registro. La defensa es rutear por margen mínimo y no por costo mínimo: si la ruta no deja lo que definiste, se pasa a la siguiente.

5. Los intentos que no facturan pero cuestan

En tráfico de marcador, decenas de intentos por minuto cobrado. No aparecen en ninguna factura, pero consumen el switch y degradan tu ASR ante el carrier — que es lo que después determina qué calidad de ruta te da.

6. El saldo editable

Si el saldo vive en una columna que un UPDATE puede cambiar, no hay contabilidad: hay un número. Cuando un cliente discute su consumo, la única respuesta sólida es un libro de asientos que no se puede reescribir.

El saldo como ledger, no como columna

La forma correcta de guardar dinero es la que usa la contabilidad desde hace siglos: asientos que sólo se agregan. El saldo no se guarda, se deriva de la suma de los movimientos. Recargas, consumos, ajustes y notas de crédito son filas nuevas; nada se edita y nada se borra.

Esto se puede imponer en la base de datos, no sólo en la aplicación: triggers que rechazan UPDATE y DELETE sobre la tabla de asientos. La diferencia práctica es que ni siquiera quien administra la base puede alterar un saldo sin dejar rastro — y que cualquier cifra que le muestres a un cliente se puede reconstruir movimiento por movimiento.

Reconciliar contra la factura del carrier

Todos los meses llega la factura del proveedor y hay que verificar que coincida. Ese trabajo es de horas o de minutos según una sola decisión de diseño: si el CDR guarda el costo junto a la venta.

Lo mismo vale para la pregunta que de verdad importa: ¿qué destinos me dan plata y cuáles los estoy cursando por costumbre?

Cómo lo resuelve NEXIA Switch

NEXIA Switch tarifica en el mismo núcleo compilado que decide el ruteo, antes de cursar la llamada: resuelve el prefijo por coincidencia más larga, aplica mínimo, incremento y cargo de conexión, y reserva crédito al conectar. Los saldos viven en un ledger append-only que la base rechaza modificar, y cada CDR trae costo, venta y margen en la misma fila.

Las tarifas se cargan por importación masiva desde CSV o Excel, de compra y de venta, y el switch completo es gratis y permanente hasta 100 llamadas concurrentes.

Preguntas frecuentes

¿Qué diferencia hay entre tarificar en tiempo real y facturar al final del mes?
Tarificar en tiempo real es descontar el saldo mientras la llamada está en curso, con crédito reservado al conectar; facturar al final del mes es emitir el documento. Se necesitan las dos cosas: sin la primera, un cliente prepago puede consumir mucho más de lo que tiene antes de que ninguna llamada se cierre.
¿Qué son el mínimo y el incremento de una tarifa?
El mínimo es lo mínimo que se cobra cuando la llamada conecta —30 o 60 segundos es lo habitual— y el incremento es el escalón en que se redondea después: 1, 6 o 60 segundos. Se escriben como 60/60 o 30/6. La regla de supervivencia es no vender con un esquema menos protegido que aquel con el que comprás.
¿Por qué hay que guardar los importes con seis decimales?
Porque las tarifas mayoristas tienen cuatro o más decimales y las llamadas son cortas. Una llamada de 6 segundos a 0,0098 vale 0,00098: redondeada a dos decimales vale cero. Con volumen alto eso son miles de llamadas gratis por día. Se acumula con la precisión de la tarifa y se redondea sólo al emitir la factura.
¿Qué es un ledger inmutable y por qué importa para el billing?
Es guardar el dinero como asientos que sólo se agregan: el saldo no se almacena, se deriva de la suma de los movimientos. Importa porque permite imponer en la base de datos que ningún saldo se altere sin dejar rastro, y porque cualquier cifra que le muestres a un cliente se puede reconstruir movimiento por movimiento.
¿Se pueden importar tarifas desde CSV o Excel?
Sí, y es lo normal: los carriers mandan sus tarifas en planilla y cambian seguido. NEXIA Switch importa tarifas de compra y de venta por prefijo desde CSV o Excel, con mínimo, incremento y cargo de conexión por fila.

Probalo en tu propio servidor

Gratis hasta 100 llamadas concurrentes, para siempre y sin tarjeta. Instalación en una tarde, precios públicos cuando quieras crecer.