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:
- Prefijo. El destino se resuelve por coincidencia más larga: si
existen
52(México) y521(móvil), un número que empieza con 521 se cobra con el segundo. Una tabla mal ordenada cobra móviles a precio de fijo, que es la fuga más cara que existe. - Mínimo facturable. Lo mínimo que se cobra si la llamada conecta: típicamente 30 o 60 segundos.
- Incremento. El escalón en que se redondea después del mínimo: 1, 6 o 60 segundos. Un 60/60 y un 1/1 sobre la misma tarifa dan facturas muy distintas.
- Cargo de conexión. Un importe fijo por llamada contestada, independiente de la duración. Poco usado en venta, frecuente en compra.
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:
- 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.
- 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.
- Si guarda sólo la venta, reconciliar es exportar, cruzar por prefijo y fecha en una planilla, y pelear con los redondeos.
- Si guarda costo, venta y margen en la misma fila, es una consulta agrupada por carrier y por destino — y las diferencias saltan solas.
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.