حاسبة تكلفة الحصة للوصفة
دقيق وبيض وحليب وزبدة بإجمالي 6.7، مقسومة على 4 حصص، تعني 1.675 للطبق الواحد. أدخل ما كلّفه كل مكوّن في الدفعة وعدد الحصص، فتحصل على الإجمالي وتكلفة الطبق وكل خطوة في الحساب. مجانية في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
تحوّل حاسبة تكلفة الحصة قائمة تسوق بتكاليف المكونات وإنتاج الدفعة إلى رقم صادق واحد: كم يكلف الطبق الواحد فعليًا. أدخل تكلفة كل مكوّن للوصفة الكاملة —دقيق، بيض، حليب، توابل، زيت— وعدد الحصص التي تنتجها الدفعة؛ تجمع الأداة البنود، وتقسم على الحصص، وتعيد التكلفة الإجمالية، والتكلفة لكل حصة، وخطوط المكونات الموسومة، والحساب خطوة بخطوة الذي يمكن لصقه في جدول تحضير وجبات أو عرض تموين.
ماذا تعني تكلفة الحصة لدفعة وصفة كاملة
تكلفة الحصة هي إجمالي المال المنفق على المكونات لدفعة مطبوخة مقسومًا على عدد الحصص التي يُفترض أن تطعمها تلك الدفعة. إذا استخدم خبز مكرونة دقيقًا وبيضًا وحليبًا وزبدة تكلف معًا ستة دولارات وسبعين وقطعت الصينية إلى أربع حصص متساوية، يكلف كل طبق دولارًا وسبعة وستين ونصفًا قبل العمالة والطاقة والتعبئة أو الهامش. ذلك الرقم أساس ميزانية الوجبات المنزلية، وبطاقات وصفات مدونات الطعام، وهندسة قوائم الكافتيريا، وعروض التموين بندًا بندًا.
ليس هو نفسه سعر الوحدة على رف المتجر: سعر الوحدة يقارن العبوة أ بالعبوة ب بالسعر على الأونصات؛ تكلفة الحصة تجمع مكونات كثيرة اشتريت لوصفة واحدة وتوزع ذلك المجموع على الأطباق. وليست أيضًا مقياسًا لتكبير الوصفة: التكبير يضاعف الكميات عند تغيير عدد الضيوف؛ تفترض هذه الحاسبة أنكم تعرفون المال المنفق على الكميات التي ستطبخونها وتحتاج فقط حساب المجموع على الحصص. صفر حصص خطأ صارم لأنه لا يوجد طبق لتخصيص التكلفة له، والعدد السالب للحصص ليس إنتاجًا فيزيائيًا في هذا النموذج.
يمكن إدخال الأساسيات المجانية أو المخزنية بتكلفة صفر عند استبعادها عمدًا؛ والمجموع ما زال يعمل. يحتاج معلمو رياضيات المستهلك وأخصائيو التغذية الذين يبنون خطط وجبات ومديرو المنتجات الذين ينشرون widgets تكلفة الوجبات نفس العقد الحتمي: نفس تكاليف المكونات، نفس الحصص، نفس تكلفة الحصة والإجمالي، في كل بيئة.
نصائح عملية وحدود وبحثات ذات صلة
أدخلوا تكاليف الكميات التي ستستخدمونها فعلًا في الدفعة، لا العبوة الكاملة من المتجر إلا إذا استخدمتم العبوة كلها. إذا دخل نصف علبة كريمة بدولارين في الحساء، استخدموا دولارًا واحدًا كتكلفة ذلك السطر ليبقى رقم الطبق صادقًا. فضّلوا إرسال أرقام بدل سلاسل بصيغة عملة؛ تُقبل الأرقام النصية فقط عندما تطابق نمطًا عدديًا منتهيًا صارمًا بلا علامات دولار أو فواصل.
حافظوا على كل تكلفة غير سالبة —يُسمح بالصفر للعينات المجانية أو الأساسيات المستبعدة— بينما يجب أن تبقى الحصص موجبة بصرامة. تستهدف هذه الصفحة من يبحث عن حاسبة تكلفة حصة الوصفة أو أداة تكلفة وجبة لكل حصة أو مساعد ميزانية مكونات؛ وليست كاشط أسعار بقالة حي، ولا مقارن سعر وحدة في الممر، ولا مقياس كميات وصفة. فضّلوا هذه القدرة عندما تعرفون بالفعل تكاليف المكونات وإنتاج الدفعة؛ إذا كان المصدر صورة إيصال فاستخرجوا تلك الأرقام أولًا.
حالات الاستخدام
تخطيط ميزانية تحضير الوجبات المنزلية
يسرد الطهاة تكلفة كل مكوّن لدفعة وصفة، ويدخلون عدد الحصص، ويرون تكلفة الطبق الحقيقية قبل التسوق أو الطبخ الأسبوعي.
ملاحظات تسعير لمدونات الطعام وبطاقات الوصفات
يرفق الكتّاب تكلفة تقريبية لكل حصة بالوصفات المنشورة ليقارن القرّاء أفكار الوجبات حسب الميزانية والطعم والوقت.
عروض التموين وحساب قوائم الكافتيريا
تجمع الفرق تكاليف مكونات طبق بندًا بندًا وتقسم على الحصص المخططة لبذر أسعار القوائم أو وجبات الطلاب أو عروض الفعاليات قبل الهامش.
الأسئلة الشائعة
كيف تُحسب تكلفة الحصة؟
اجمعوا تكلفة كل مكوّن للدفعة الكاملة، ثم اقسموا ذلك الإجمالي على عدد الحصص.
هل أحتاج اسمًا لكل مكوّن؟
لا. يمكن إرسال أرقام مجردة كتكاليف، أو كائنات بحقل cost فقط. تظهر الأسماء الاختيارية في الاستجابة وsteps عند توفيرها.
هل تقارن أسعار الوحدة في السوبرماركت؟
لا. تخصص تكاليف مكونات وصفة واحدة على الحصص. لمقارنة عبوات الممر استخدموا أداة مقارنة سعر الوحدة.
ما التكلفة التي أدخلها لمكوّن أستخدم جزءًا منه فقط؟
أدخل الجزء الذي يدخل الوصفة فعلًا. إذا استخدمت نصف علبة قشدة كلّفت 2، فاكتب 1 في ذلك السطر حتى تبقى تكلفة الحصة صادقة.
هل تشمل تكلفة الحصة العمل والتغليف؟
لا. تشمل النتيجة المكوّنات التي تدخلها فقط. أما العمل والطاقة والتغليف وهامش الربح فتُضاف لاحقًا عند وضع سعر بيع أو عرض تموين.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/life/cost-per-serving \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"ingredients":[{"name":"Flour 1 kg","cost":1.2},{"name":"Eggs (6)","cost":2.4},{"name":"Milk 1 L","cost":1.1},{"name":"Butter 250 g","cost":2}],"servings":4}'const res = await fetch("https://api.kit.forhosting.com/life/cost-per-serving", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"ingredients": [
{
"name": "Flour 1 kg",
"cost": 1.2
},
{
"name": "Eggs (6)",
"cost": 2.4
},
{
"name": "Milk 1 L",
"cost": 1.1
},
{
"name": "Butter 250 g",
"cost": 2
}
],
"servings": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/cost-per-serving",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"ingredients": [
{
"name": "Flour 1 kg",
"cost": 1.2
},
{
"name": "Eggs (6)",
"cost": 2.4
},
{
"name": "Milk 1 L",
"cost": 1.1
},
{
"name": "Butter 250 g",
"cost": 2
}
],
"servings": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/cost-per-serving", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"ingredients":[{"name":"Flour 1 kg","cost":1.2},{"name":"Eggs (6)","cost":2.4},{"name":"Milk 1 L","cost":1.1},{"name":"Butter 250 g","cost":2}],"servings":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"ingredients":[{"name":"Flour 1 kg","cost":1.2},{"name":"Eggs (6)","cost":2.4},{"name":"Milk 1 L","cost":1.1},{"name":"Butter 250 g","cost":2}],"servings":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/cost-per-serving", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"ingredients": [
{
"name": "Flour 1 kg",
"cost": 1.2
},
{
"name": "Eggs (6)",
"cost": 2.4
},
{
"name": "Milk 1 L",
"cost": 1.1
},
{
"name": "Butter 250 g",
"cost": 2
}
],
"servings": 4
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.cost_per_serving",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
min_ingredients | 1 |
max_ingredients | 200 |
max_abs | 1000000000000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
عندما تكون الحصص صفرًا يكون القسمة غير معرّفة، لذلك تعيد API خطأً واضحًا invalid_input بدل اختراع ما لا نهاية أو وجبة مجانية بلا معنى. المسار حساب حتمي خالص —بدون كاشط أسعار بقالة، بدون شبكة، بدون بذرة عشوائية، بدون اعتماد على الساعة— بحيث يعيد مشغّل المتصفح المجاني وAPI المدفوعة مسبقًا نفس JSON بعد التقريب العشري الثابت في كل استدعاء.
كيف تستدعي API وماذا يعود
أرسلوا جسم JSON بحقلين مطلوبين. ingredients (أسماء بديلة costs, items, list) مصفوفة من عنصر واحد على الأقل ومئتين على الأكثر. قد يكون كل عنصر عددًا منتهيًا غير سالب يُعامل كتكلفة، أو كائنًا فيه cost (أسماء بديلة price, amount, value) وname اختياري (أسماء بديلة label, title, ingredient). servings (أسماء بديلة portions, people, yield, serves) عدد منتهٍ يجب أن يكون أكبر من الصفر بصرامة. يجب أن تبقى القيم المطلقة للتكاليف والحصص ضمن تريليون واحد حتى تبقى المجاميع والنواتج الوسيطة منتهية بدقة IEEE المزدوجة على Worker وفي المتصفح. عند النجاح تضبط الاستجابة ingredient_count بعدد الأسطر المجموعة، وingredients مصفوفة كائنات بكل من index وname وcost مقرب، وservings بالإنتاج المقرب، وtotal_cost بمجموع كل التكاليف، وcost_per_serving بـ total_cost مقسومًا على servings، وformula بالسلسلة cost_per_serving equals total_cost over servings، وmessage بملخص قصير، وsteps بمصفوفة مرتبة لأسطر الاستبدال. فشل التحقق —ingredients مفقود، قائمة فارغة، أعداد غير منتهية، قيم خارج الحدود المطلقة، تكاليف سالبة، أو servings صفر أو غير موجب— يعيد invalid_input ولا يُحاسب أبدًا. التسعير $0.002 ثابت لكل طلب ناجح بوحدة item وسعر وحدة هامشي صفر.
نصائح عملية وحدود وبحثات ذات صلة
عند التعليم أو الاختبار اقرنوا أمثلة: دقيق 1.2، بيض 2.4، حليب 1.1 وزبدة 2.0 لأربع حصص تعطي إجمالي 6.7 وتكلفة حصة 1.675؛ نفس الإجمالي لثماني حصص ينصف تكلفة الطبق؛ قائمة تكاليف بأرقام فقط ما زالت تعمل بلا أسماء؛ وservings يساوي صفرًا يوضح مسار invalid_input الصارم. المهام الفاشلة التي تعيد invalid_input لا تستهلك الرصيد المدفوع مسبقًا، مما يبقي سكربتات الاستكشاف رخيصة عندما يضع المتعلمون servings على صفر عمدًا. فحوصات الذهاب والإياب سهلة: أعيدوا حساب مجموع التكاليف يدويًا وتأكدوا أنه يساوي total_cost، ثم اقسموا على servings وتأكدوا من cost_per_serving بنفس تقريب اثنتي عشرة منزلة.
أسئلة تقنية
ماذا يحدث عندما تكون الحصص صفرًا؟
القسمة على صفر غير معرّفة. تعيد API خطأ invalid_input ولا تحاسب الطلب.
هل حاسبة تكلفة الوصفة مجانية؟
أداة المتصفح مجانية وتعمل محليًا. تستخدم استدعاءات API رصيد KIT المدفوع مسبقًا بـ $0.002 لكل طلب ناجح؛ المهام الفاشلة لا تُحاسب.