Calculadora de margen de envío: beneficio o pérdida
Los ingresos por envío no son automáticamente beneficios. Una tienda puede cobrar una tarifa de entrega al finalizar la compra y después pagar otro importe al transportista, además de consumir materiales de embalaje.
Ejecutar — gratis
Esta calculadora pone las tres cifras sobre la misma base. Introduzca la tarifa cobrada al cliente, la factura real del transportista y el coste de embalaje de un envío. Obtendrá el coste total, el beneficio o pérdida y, cuando haya ingresos por envío, el porcentaje de margen.
Introduzca importes comparables de un solo envío
Use la tarifa de envío realmente cobrada al cliente, no el precio del producto ni el total del pedido. Indique después el coste del transportista para ese mismo envío y el de los materiales consumidos: caja o sobre, cinta, etiqueta, relleno o acumuladores de frío. Mantenga las tres cifras en la misma moneda y con el mismo criterio fiscal. Si ofreció envío gratuito, introduzca cero; la herramienta mostrará el gasto como pérdida. Siempre que sea posible, use el cargo final del transportista, pues una etiqueta estimada puede cambiar por corrección de dirección, peso dimensional o entrega residencial. No mezcle una compra mensual de embalajes con un paquete: calcule primero un coste unitario razonable. Se admite cero cuando un coste no exista, pero todos los valores deben ser números finitos y no negativos, sin símbolos monetarios ni separadores de miles.
Interprete correctamente el beneficio, la pérdida y el margen
Primero se suman el coste del transportista y el embalaje para obtener el coste real de envío. Después se resta ese total de la tarifa cobrada. Un resultado positivo es beneficio, uno negativo es pérdida y cero significa equilibrio; el campo de resultado lo indica expresamente. Si la tarifa es mayor que cero, el porcentaje de margen divide el beneficio o pérdida entre dicha tarifa y multiplica por cien. Por ejemplo, cobrar 12.99 y pagar 8.40 al transportista más 1.35 de embalaje genera un coste de 9.75, un beneficio de 3.24 y un margen aproximado de 24.94 por ciento. Con envío gratuito se omite el porcentaje porque no se puede dividir entre cero, aunque la pérdida absoluta permanece. Las salidas se redondean a dos decimales. Es un margen sobre ingresos, no un recargo sobre costes.
Aplique el resultado a su política de envíos
Analice juntos el importe absoluto y el margen. Un margen positivo puede cubrir trabajo de embalaje o ajustes ocasionales, pero un cargo excesivo puede perjudicar la conversión o incumplir reglas del mercado. Una pérdida puede ser intencionada si el envío subvencionado favorece el margen del producto, la captación o un pedido mínimo; trátela entonces como coste promocional y compruebe que el resto del pedido la absorbe. Repita el cálculo por servicio, zona, tamaño y canal para descubrir patrones ocultos por los promedios. Solo se incluyen tarifa al cliente, transportista y materiales. No se añaden automáticamente mano de obra, preparación, seguro, aranceles, pagos, devoluciones, reenvíos, almacenamiento, software ni beneficio del producto. Para auditoría, guarde el resultado junto al pedido, la factura y la fuente del coste de embalaje. Entradas iguales producen siempre la misma salida y cada cálculo por API cuesta $0.002.
Qué puede hacer con ella
Auditar pedidos completados
Compare el cargo del checkout con la factura final del transportista y los materiales usados.
Probar una tarifa plana
Mida en qué envíos una tarifa única produce beneficio o pérdida.
Evaluar el envío gratuito
Cuantifique el coste que debe absorber el margen del producto cuando el cliente no paga envío.
Preguntas frecuentes
¿Qué fórmula utiliza la calculadora?
El coste real es transportista más embalaje. El beneficio o pérdida es la tarifa cobrada menos ese coste; el margen divide el resultado entre la tarifa y multiplica por cien.
¿Qué ocurre si ofrezco envío gratuito?
Introduzca cero como tarifa. El coste total aparecerá como pérdida y el porcentaje se omitirá porque los ingresos son cero.
¿Debo incluir la mano de obra de embalaje?
El campo está pensado para materiales consumidos. Incluya trabajo solo si su contabilidad lo convierte en un importe fiable por envío.
¿Consulta tarifas de transportistas?
No. Indique el cargo real o presupuestado pertinente para el envío evaluado.
¿Margen y recargo son lo mismo?
No. El margen usa la tarifa cobrada como denominador; el recargo suele usar el coste y da otro porcentaje.
¿Cuánto cuesta un cálculo por API?
Cada solicitud cuesta $0.002. La calculadora web aplica la misma aritmética determinista.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/ecom/shipping-margin \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"shipping_fee":12.99,"carrier_cost":8.4,"packaging_cost":1.35}'const res = await fetch("https://api.kit.forhosting.com/ecom/shipping-margin", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"shipping_fee": 12.99,
"carrier_cost": 8.4,
"packaging_cost": 1.35
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ecom/shipping-margin",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"shipping_fee": 12.99,
"carrier_cost": 8.4,
"packaging_cost": 1.35
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ecom/shipping-margin", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"shipping_fee":12.99,"carrier_cost":8.4,"packaging_cost":1.35}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"shipping_fee":12.99,"carrier_cost":8.4,"packaging_cost":1.35}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ecom/shipping-margin", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"shipping_fee": 12.99,
"carrier_cost": 8.4,
"packaging_cost": 1.35
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ecom.shipping_margin",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |