Custo total do lote da receita
Quatro ingredientes para um lote de 4 porções, cada um com quantidade e preço unitário, somam um total de 7,7 e 1,925 por porção na sua moeda. Reaproveite os mesmos preços e mude só as quantidades quando aumentar a receita. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Porções
- 4
- Número de ingredientes
- 4
- Custo total
- 7,7
- Custo por porção
- 1,925
Cozinheiros domésticos, negócios de meal-prep, cozinhas de catering e estudantes de custo alimentar precisam da mesma resposta prática: quanto custa o lote inteiro e quanto custa cada porção quando se sabe quantos pratos a receita rende. Esta calculadora de custo total do lote aceita cada ingrediente como quantidade e preço unitário, multiplica as linhas, soma o total do lote e divide por um número positivo de porções para que você possa precificar cardápios, comparar receitas ou fechar o orçamento de compras antes de ir ao mercado. Diferente de uma ferramenta só por porção que espera totais de linha já somados, esta capacidade mantém quantidade e custo unitário separados para reutilizar preços da despensa entre receitas e alterar só as quantidades.
Quando vale calcular o custo do lote inteiro
Caterings independentes e ghost kitchens precificam bandejas e cardápios de entrega a partir de quantidades reais e preços unitários do fornecedor, não de um total em um post-it. Estudantes de culinária e cursos de food cost precisam de um oráculo determinístico que rejeite zero porções em vez de devolver infinito ou um NaN silencioso que um corretor defeituoso trate como sucesso.
Blogs de receitas e páginas SEO que ranqueiam por calcular o custo total do lote da receita se beneficiam de um caminho gratuito no navegador idêntico byte a byte à automação paga no mesmo módulo puro. Entrada inválida não é cobrada.
Casos de uso
Precificação de catering e bandejas
Informe quantidade e preço unitário do fornecedor por ingrediente de uma bandeja completa, defina servings pelo número de pratos e cotize o custo total do lote mais o custo por porção.
Meal-prep e receitas escaladas
Reutilize uma tabela de custos unitários da despensa entre receitas, altere só quantidades e porções e compare o food cost ao passar do tamanho familiar para preparo em volume.
Perguntas frequentes
O que acontece se servings for zero ou negativo?
Uma contagem de porções não positiva não define custo por porção e não é cobrada.
A conversão de moedas está incluída?
A capacidade só multiplica quantidades por custos unitários e divide por porções; não converte dinheiro nem sistemas de medida.
Como é calculado o custo por porção?
A quantidade de cada ingrediente é multiplicada pelo preço unitário, as linhas são somadas para dar o total do lote e esse total é dividido pelas porções: 7,7 dividido por 4 porções dá 1,925.
Posso reaproveitar os mesmos preços em várias receitas?
Sim. Como quantidade e preço unitário ficam separados, você mantém sua tabela de preços da despensa e muda só as quantidades e as porções, por exemplo ao passar de 4 pratos para 40.
Em que unidade informo a quantidade?
Na unidade em que você compra ou mede cada ingrediente: quilos de farinha, litros de leite ou ovos por unidade. O preço unitário precisa ser o de uma dessas mesmas unidades.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"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
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "cook.batch_recipe_cost",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Validação falha —em especial porções zero ou negativas— devolve invalid_input e não é cobrada.
Como o custo do lote é montado a partir de quantidade e custo unitário
O total de um lote de receita não é um valor solto digitado de memória; é a soma de cada linha de ingrediente do preparo completo. Rótulos name opcionais não afetam o cálculo; só tornam legível a lista de linhas ao exibir resultados ao lado da lista de compras ou de um cardápio. Listas vazias e mais de duzentas linhas são rejeitadas para que importações descontroladas não esgotem o orçamento do worker. A string formula de cada sucesso reafirma o contrato em três passos: custo de linha igual a quantidade vezes custo unitário, custo total igual à soma das linhas, e custo por porção igual ao total sobre as porções. Em cada linha você informa uma quantidade finita não negativa na unidade em que compra ou mede —quilogramas de farinha, litros de leite, unidades de ovos, garrafas de óleo— e um unit_cost finito não negativo, o preço de uma dessas unidades em uma única moeda. A capacidade multiplica quantity por unit_cost para obter o line_cost da linha e soma todos os line_cost para obter total_cost do lote inteiro. O custo por porção é total_cost dividido por servings, de modo que a mesma lista de compras vira custo de bandeja de catering e custo por prato sem digitar preços de novo.
Contrato de entrada, regra de porções e formato da resposta
Exemplo: farinha duas unidades a um ponto vinte e cinco, ovos seis a zero ponto trinta e cinco, leite um a um ponto um, manteiga zero ponto vinte e cinco a oito, para quatro porções, gera custos de linha dois ponto cinco, dois ponto um, um ponto um e dois, total de lote sete ponto sete e custo por porção um ponto nove dois cinco. Campos ausentes, valores não finitos e quantidades ou custos unitários fora do limite absoluto falham sem cobrar a conta. Envie um corpo JSON com dois campos obrigatórios. ingredients é um array não vazio de objetos; cada objeto deve incluir quantity e unit_cost como números finitos não negativos e pode incluir um name opcional. servings é um número finito estritamente maior que zero: zero e valores negativos falham com invalid_input porque um lote sem pratos não define custo por porção. Aliases aceitos incluem items, list e lines para o array, e portions, people, yield e serves para a contagem de porções, para que planilhas e construtores de formulário mantenham seus nomes de coluna. Em sucesso a resposta devolve ingredient_count e um array ingredients normalizado com index, name, quantity, unit_cost e line_cost por linha; servings arredondado para JSON estável; total_cost; cost_per_serving; uma string formula; um message curto para banners de interface; e um array steps que percorre cada multiplicação e a divisão final. Mantenha uma única moeda em todos os unit_cost; a calculadora não converte moedas nem sistemas de unidades: só multiplica e divide os números que você envia.
Onde uma API de custo total do lote da receita agrega valor
Marcas de meal-prep e cozinhas escolares acompanham o custo do lote e o custo por porção ao escalar uma receita base de quatro para quarenta pratos, trocando só quantidades e reutilizando a mesma tabela de unit_cost. Apps de orçamento de compras podem chamar a API após escanear códigos de barras que resolvem preços unitários e guardar total_cost e cost_per_serving ao lado do número de convidados.
Casos de integração
Aula de culinária e correção LMS
Corrija trabalhos de food cost com total e custo por porção determinísticos que rejeitam zero porções como invalid_input em vez de devolver infinito.
Perguntas técnicas
Como calcular o custo total do lote da receita a partir dos ingredientes?
Envie um array ingredients de objetos com quantity e unit_cost (name opcional) e um servings positivo. A API multiplica cada linha, soma o lote e devolve total_cost e cost_per_serving.
Informo custos de linha já somados ou quantidade e preço unitário?
Informe quantity e unit_cost separadamente. A calculadora monta cada line_cost como quantity × unit_cost para reutilizar preços unitários entre receitas sem pré-multiplicar à mão.
Quanto custa a calculadora de custo total do lote da receita?
A ferramenta do navegador é gratuita. Pedidos API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.