Coste total del lote de receta
Cuatro ingredientes para una tanda de 4 raciones, cada uno con su cantidad y su precio unitario, suman un total de 7,7 y 1,925 por ración en su moneda. Reutilice los mismos precios y cambie solo las cantidades al escalar la receta. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Porciones
- 4
- Número de ingredientes
- 4
- Costo total
- 7,7
- Costo por porción
- 1,925
Cocineros domésticos, negocios de meal-prep, cocinas de catering y estudiantes de coste alimentario necesitan la misma respuesta práctica: cuánto cuesta el lote completo y cuánto cuesta cada ración cuando se conoce el rendimiento en platos. Esta calculadora de coste total del lote acepta cada ingrediente como cantidad y precio unitario, multiplica las líneas, suma el total del lote y divide por un recuento de raciones positivo para que usted pueda fijar precios de menú, comparar recetas o cerrar el presupuesto de compra antes de ir al supermercado. A diferencia de una herramienta solo por ración que espera totales de línea ya sumados, esta capacidad mantiene separados cantidad y coste unitario para reutilizar precios de despensa entre recetas y cambiar solo las cantidades.
Cómo se construye el coste del lote desde cantidad y coste unitario
El total de un lote de receta no es una cifra suelta escrita de memoria; es la suma de cada línea de ingrediente del cocinado completo. Las etiquetas name opcionales no afectan al cálculo; solo hacen legible la lista de líneas cuando muestra resultados junto a la lista de la compra o a una ficha de menú.
Como cada producto de cantidad y coste unitario se calcula en el manejador, usted no tiene que premultiplicar a mano ni arriesgarse a una fórmula de hoja de cálculo que trate una celda vacía como cero y aun así divida por porciones. Se rechazan listas vacías y más de doscientas filas para que importaciones descontroladas no agoten el presupuesto del worker.
La cadena formula de cada éxito reafirma el contrato en tres pasos: coste de línea igual a cantidad por coste unitario, coste total igual a la suma de líneas, y coste por ración igual a total entre raciones.
Cuándo conviene calcular el coste de toda la tanda
Caterings independientes y ghost kitchens fijan precios de bandejas y menús de entrega a partir de cantidades reales y precios unitarios del proveedor, no de un total en un post-it. Estudiantes de cocina y cursos de food cost necesitan un oráculo determinista que rechace cero raciones en lugar de devolver infinito o un NaN silencioso que un calificador defectuoso trate como éxito.
Blogs de recetas y páginas SEO que posicionan por calcular el coste total del lote de receta se benefician de un camino gratuito en el navegador idéntico byte a byte a la automatización de pago sobre el mismo módulo puro. La entrada inválida no se factura.
Qué puede hacer con ella
Precios de catering y bandejas
Introduzca cantidad y precio unitario del proveedor por ingrediente de una bandeja completa, fije servings al número de platos y cotice el coste total del lote más el coste por ración.
Meal-prep y recetas escaladas
Reutilice una tabla de costes unitarios de despensa entre recetas, cambie solo cantidades y raciones, y compare el food cost al pasar de tamaño familiar a preparación a granel.
Preguntas frecuentes
¿Qué ocurre si servings es cero o negativo?
Un recuento de raciones no positivo no define coste por ración y no se factura.
¿Incluye conversión de monedas?
La capacidad solo multiplica cantidades por costes unitarios y divide por raciones; no convierte dinero ni sistemas de medida.
¿Cómo se calcula el coste por ración?
Se multiplica la cantidad de cada ingrediente por su precio unitario, se suman las líneas para obtener el total de la tanda y ese total se divide entre las raciones: 7,7 entre 4 raciones da 1,925.
¿Puedo reutilizar los mismos precios en varias recetas?
Sí. Como la cantidad y el precio unitario van por separado, puede mantener su tabla de precios de despensa y cambiar solo las cantidades y las raciones, por ejemplo al pasar de 4 platos a 40.
¿En qué unidad escribo la cantidad?
En la unidad en que compra o mide cada ingrediente: kilos de harina, litros de leche o huevos por pieza. El precio unitario debe ser el de una de esas mismas unidades.
Herramientas relacionadas
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/cook/batch-recipe-cost \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"ingredients":[{"name":"Flour","quantity":2,"unit_cost":1.25},{"name":"Eggs","quantity":6,"unit_cost":0.35},{"name":"Milk","quantity":1,"unit_cost":1.1},{"name":"Butter","quantity":0.25,"unit_cost":8}],"servings":4}'const res = await fetch("https://api.kit.forhosting.com/cook/batch-recipe-cost", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"ingredients": [
{
"name": "Flour",
"quantity": 2,
"unit_cost": 1.25
},
{
"name": "Eggs",
"quantity": 6,
"unit_cost": 0.35
},
{
"name": "Milk",
"quantity": 1,
"unit_cost": 1.1
},
{
"name": "Butter",
"quantity": 0.25,
"unit_cost": 8
}
],
"servings": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/cook/batch-recipe-cost",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"ingredients": [
{
"name": "Flour",
"quantity": 2,
"unit_cost": 1.25
},
{
"name": "Eggs",
"quantity": 6,
"unit_cost": 0.35
},
{
"name": "Milk",
"quantity": 1,
"unit_cost": 1.1
},
{
"name": "Butter",
"quantity": 0.25,
"unit_cost": 8
}
],
"servings": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/cook/batch-recipe-cost", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"ingredients":[{"name":"Flour","quantity":2,"unit_cost":1.25},{"name":"Eggs","quantity":6,"unit_cost":0.35},{"name":"Milk","quantity":1,"unit_cost":1.1},{"name":"Butter","quantity":0.25,"unit_cost":8}],"servings":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"ingredients":[{"name":"Flour","quantity":2,"unit_cost":1.25},{"name":"Eggs","quantity":6,"unit_cost":0.35},{"name":"Milk","quantity":1,"unit_cost":1.1},{"name":"Butter","quantity":0.25,"unit_cost":8}],"servings":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/cook/batch-recipe-cost", 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
{
"ingredients": [
{
"name": "Flour",
"quantity": 2,
"unit_cost": 1.25
},
{
"name": "Eggs",
"quantity": 6,
"unit_cost": 0.35
},
{
"name": "Milk",
"quantity": 1,
"unit_cost": 1.1
},
{
"name": "Butter",
"quantity": 0.25,
"unit_cost": 8
}
],
"servings": 4
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "cook.batch_recipe_cost",
"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. |
Notas técnicas
La validación fallida —en especial raciones cero o negativas— devuelve invalid_input y no se factura.
Cómo se construye el coste del lote desde cantidad y coste unitario
En cada fila usted indica una cantidad finita no negativa en la unidad en que compra o mide —kilogramos de harina, litros de leche, unidades de huevos, botellas de aceite— y un unit_cost finito no negativo, el precio de una de esas unidades en una sola moneda. La capacidad multiplica quantity por unit_cost para obtener el line_cost de esa fila y suma todos los line_cost para obtener total_cost del lote entero. El coste por ración es total_cost dividido por servings, de modo que la misma lista de compra se expresa como coste de bandeja de catering y como coste por plato sin volver a introducir precios.
Contrato de entrada, regla de raciones y forma de la respuesta
Ejemplo: harina dos unidades a uno coma veinticinco, huevos seis a cero coma treinta y cinco, leche una a uno coma uno, mantequilla cero coma veinticinco a ocho, para cuatro raciones, da costes de línea dos coma cinco, dos coma uno, uno coma uno y dos, total de lote siete coma siete y coste por ración uno coma novecientos veinticinco. Campos ausentes, valores no finitos y cantidades o costes unitarios fuera del límite absoluto fallan sin cobrar la cuenta. Envíe un cuerpo JSON con dos campos obligatorios. ingredients es un array no vacío de objetos; cada objeto debe incluir quantity y unit_cost como números finitos no negativos, y puede incluir un name opcional. servings es un número finito estrictamente mayor que cero: cero y valores negativos fallan con invalid_input porque un lote sin platos no define coste por ración. Los alias aceptados incluyen items, list y lines para el array, y portions, people, yield y serves para el recuento de raciones, de modo que hojas de cálculo y constructores de formularios conservan sus nombres de columna. En éxito la respuesta devuelve ingredient_count y un array ingredients normalizado con index, name, quantity, unit_cost y line_cost por fila; servings redondeado para JSON estable; total_cost; cost_per_serving; una cadena formula; un message breve para banners de interfaz; y un array steps que recorre cada multiplicación y la división final. Mantenga una sola moneda en todos los unit_cost; la calculadora no convierte monedas ni sistemas de unidades: solo multiplica y divide los números que usted envía.
Dónde una API de coste total de lote de receta aporta valor
Marcas de meal-prep y cocinas escolares siguen el coste del lote y el coste por ración al escalar una receta base de cuatro a cuarenta platos, cambiando solo cantidades y reutilizando la misma tabla de unit_cost. Las apps de presupuesto de compra pueden llamar a la API tras escanear códigos de barras que resuelven precios unitarios y guardar total_cost y cost_per_serving junto al número de comensales.
Casos de integración
Clase de cocina y calificación LMS
Califique deberes de food cost con un total y un coste por ración deterministas que rechazan cero raciones como invalid_input en lugar de devolver infinito.
Preguntas técnicas
¿Cómo se calcula el coste total del lote de receta a partir de los ingredientes?
Envíe un array ingredients de objetos con quantity y unit_cost (name opcional) y un servings positivo. La API multiplica cada fila, suma el lote y devuelve total_cost y cost_per_serving.
¿Se introducen costes de línea ya sumados o cantidad y precio unitario?
Introduzca quantity y unit_cost por separado. La calculadora construye cada line_cost como quantity × unit_cost para reutilizar precios unitarios entre recetas sin premultiplicar a mano.
¿Cuánto cuesta la calculadora de coste total del lote de receta?
La herramienta del navegador es gratuita. Las peticiones API usan saldo KIT prepago a $0.002 por llamada exitosa; la entrada inválida no se factura.