تكلفة دفعة الوصفة الإجمالية
أربعة مكوّنات لدفعة من 4 حصص، لكل منها كمية وسعر وحدة، تعطي مجموعًا قدره 7.7 و1.925 للحصة بعملتك. أعد استخدام الأسعار نفسها وغيّر الكميات فقط عند تكبير الوصفة. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- الحصص
- 4
- عدد المكوّنات
- 4
- التكلفة الإجمالية
- 7.7
- التكلفة لكل حصة
- 1.925
يحتاج الطهاة المنزليون وأعمال تحضير الوجبات ومطابخ التموين ودارسو تكلفة الغذاء إلى إجابة عملية سريعة على السؤال نفسه: كم تكلفة الدفعة الكاملة، وكم تكلفة كل حصة بعد معرفة عدد الأطباق التي تنتجها الوصفة. تقبل حاسبة التكلفة الإجمالية للدفعة كل مكوّن ككمية وسعر وحدة، وتضربهما في تكلفة السطر، وتجمع إجمالي الدفعة، وتقسم على عدد حصص موجب ليتمكن المستخدم من تسعير القوائم ومقارنة الوصفات وإغلاق ميزانية المشتريات قبل التسوق. بخلاف أداة الحصة فقط التي تتوقع مجاميع سطور جاهزة، تفصل هذه القدرة الكمية عن تكلفة الوحدة لإعادة استخدام أسعار المخزن عبر الوصفات وتغيير الكميات فقط.
كيف تُبنى تكلفة الدفعة من الكمية وتكلفة الوحدة
إجمالي دفعة الوصفة ليس رقمًا واحدًا يُكتب من الذاكرة؛ بل مجموع كل سطر مكوّن مستخدم في الطبخة الكاملة. تسميات name الاختيارية لا تؤثر في الحساب؛ تجعل قائمة الأسطر مقروءة عند عرض النتائج بجانب قائمة التسوق أو بطاقة قائمة. ولأن كل حاصل ضرب للكمية وتكلفة الوحدة يُحسب داخل المعالج، لا حاجة للضرب المسبق يدويًا ولا لمخاطر صيغة جدول تعامل خلية فارغة كصفر ثم تقسم على الحصص.
تُرفض القوائم الفارغة وأكثر من مئتي صف حتى لا تستنزف الاستيرادات الجامحة ميزانية العامل. تعيد سلسلة formula عند كل نجاح عقد الخطوات الثلاث: تكلفة السطر تساوي الكمية في تكلفة الوحدة، والتكلفة الإجمالية مجموع تكاليف الأسطر، وتكلفة الحصة الإجمالي على الحصص.
متى يفيد حساب تكلفة الدفعة كاملة
يسعّر متعهدو التموين المستقلون ومطابخ الشبح الصواني وقوائم التوصيل من كميات حقيقية وأسعار وحدة المورد لا من إجمالي ورقة لاصقة. يحتاج طلاب الطهي ودورات تكلفة الغذاء إلى مرجع حتمي يرفض صفر حصص بدل إرجاع ما لا نهاية أو NaN صامت قد يعدّه مصحح معيب نجاحًا. تستفيد مدونات الوصفات وصفحات SEO التي تستهدف حساب التكلفة الإجمالية لدفعة الوصفة من مسار متصفح مجاني يطابق مسار الأتمتة المدفوع بايتًا بايت على الوحدة النقية نفسها.
الإدخال غير الصالح لا يُفوتر. ثبّت المجاميع المقربة في اختبارات الانحدار، وأبقِ صفوف المكونات دون الحد الموثّق، لتحصل على اقتصاد دفعة قابل للتكرار للقوائم وإضافات LMS وعمال الحافة دون بناء مخزون أو نظام ERP كامل.
حالات الاستخدام
تسعير التموين والصواني
أدخل كمية كل مكوّن وسعر وحدة المورد لصينية كاملة، واضبط servings على عدد الأطباق، واعرض تكلفة الدفعة الإجمالية مع تكلفة الحصة.
تحضير الوجبات والوصفات الموسّعة
أعد استخدام جدول تكاليف وحدة المخزن عبر الوصفات، وغيّر الكميات والحصص فقط، وقارن تكلفة الغذاء عند الانتقال من حجم عائلي إلى تحضير بالجملة.
الأسئلة الشائعة
ماذا يحدث إذا كان servings صفرًا أو سالبًا؟
عدد الحصص غير الموجب لا يعرّف تكلفة الحصة ولا يُفوتر.
هل يشمل التحويل بين العملات؟
القدرة تضاعف الكميات في تكاليف الوحدة وتقسم على الحصص فقط؛ لا تحوّل النقود ولا أنظمة القياس.
كيف تُحسب تكلفة الحصة الواحدة؟
تُضرب كمية كل مكوّن في سعر وحدته، وتُجمع السطور لتعطي مجموع الدفعة، ثم يُقسم المجموع على عدد الحصص: 7.7 مقسومة على 4 حصص تساوي 1.925.
هل يمكنني استخدام الأسعار نفسها لعدة وصفات؟
نعم. لأن الكمية وسعر الوحدة منفصلان، تحتفظ بجدول أسعار مخزنك وتغيّر الكميات والحصص فقط، مثلًا عند الانتقال من 4 أطباق إلى 40.
بأي وحدة أُدخل الكمية؟
بالوحدة التي تشتري أو تقيس بها كل مكوّن: كيلوغرامات الدقيق أو لترات الحليب أو عدد البيض. ويجب أن يكون سعر الوحدة لوحدة واحدة من الوحدات نفسها.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
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)مثال على الطلب
{
"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": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "cook.batch_recipe_cost",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
يعيد التحقق الفاشل —خصوصًا الحصص صفر أو أقل— invalid_input دون فاتورة. يغذي المسار التحليلي النقي نفسه ودجة المتصفح المجانية وواجهة API مسبقة الدفع.
كيف تُبنى تكلفة الدفعة من الكمية وتكلفة الوحدة
في كل صف يُرسل المستخدم كمية منتهية غير سالبة بوحدة الشراء أو القياس —كيلوغرامات دقيق، لترات حليب، قطع بيض، زجاجات زيت— وunit_cost منتهٍ غير سالب هو سعر وحدة واحدة من تلك الوحدات بعملة واحدة. تضرب القدرة quantity في unit_cost للحصول على line_cost للصف، ثم تجمع كل line_cost للحصول على total_cost للدفعة كاملة. تكلفة الحصة هي total_cost مقسومًا على servings، فيُعبَّر عن قائمة المشتريات نفسها كتكلفة صينية تموين وكتكلفة طبق دون إعادة إدخال الأسعار.
عقد الإدخال وقاعدة الحصص وشكل الاستجابة
مثال: دقيق وحدتان بسعر 1.25، بيض ستة بسعر 0.35، حليب واحد بسعر 1.1، زبدة 0.25 بسعر 8، لأربع حصص، يعطي تكاليف أسطر 2.5 و2.1 و1.1 و2، وإجمالي دفعة 7.7، وتكلفة حصة 1.925. الحقول الناقصة والقيم غير المنتهية والكميات أو تكاليف الوحدة خارج الحد المطلق تفشل دون خصم من الحساب. يُرسل جسم JSON بحقلين إلزاميين. ingredients مصفوفة غير فارغة من الكائنات؛ يجب أن يتضمن كل كائن quantity وunit_cost كأعداد منتهية غير سالبة، وقد يتضمن name اختياريًا. servings عدد منتهٍ أكبر تمامًا من الصفر: الصفر والقيم السالبة تفشل بـ invalid_input لأن دفعة بلا أطباق لا تعرّف تكلفة الحصة. تشمل الأسماء البديلة المقبولة items وlist وlines للمصفوفة، وportions وpeople وyield وserves لعدد الحصص، حتى تحتفظ جداول البيانات وبناة النماذج بأسماء أعمدتها. عند النجاح تعيد الاستجابة ingredient_count ومصفوفة ingredients موحّدة فيها index وname وquantity وunit_cost وline_cost لكل صف؛ servings مقربًا لـ JSON مستقر؛ total_cost؛ cost_per_serving؛ سلسلة formula؛ message قصيرًا لشعارات الواجهة؛ ومصفوفة steps تمر على كل ضرب والقسمة النهائية. يُحافظ على عملة واحدة لكل unit_cost؛ الحاسبة لا تحوّل العملات ولا أنظمة الوحدات — تضاعف وتقسم الأرقام المرسلة فقط.
أين تثبت واجهة API لتكلفة دفعة الوصفة قيمتها
تتابع علامات meal-prep ومطابخ المدارس تكلفة الدفعة وتكلفة الحصة عند توسيع وصفة أساس من أربعة أطباق إلى أربعين، مع تبديل الكميات فقط وإعادة استخدام جدول unit_cost نفسه. يمكن لتطبيقات ميزانية المشتريات استدعاء API بعد مسح باركود يحل أسعار الوحدة ثم تخزين total_cost وcost_per_serving بجانب عدد الضيوف المخطط.
حالات التكامل
صف الطهي وتصحيح LMS
صحّح واجبات تكلفة الغذاء بإجمالي وتكلفة حصة حتميين يرفضان صفر حصص كـ invalid_input بدل إرجاع ما لا نهاية.
أسئلة تقنية
كيف أحسب التكلفة الإجمالية لدفعة الوصفة من المكونات؟
أرسل مصفوفة ingredients من كائنات فيها quantity وunit_cost (وname اختياري) مع servings موجب. تضرب API كل سطر وتجمع الدفعة وتعيد total_cost وcost_per_serving.
هل أدخل تكاليف أسطر مجمّعة مسبقًا أم الكمية وسعر الوحدة؟
أدخل quantity وunit_cost منفصلين. تبني الحاسبة كل line_cost كـ quantity × unit_cost لإعادة استخدام أسعار الوحدة عبر الوصفات دون ضرب مسبق يدوي.
كم تكلفة حاسبة التكلفة الإجمالية لدفعة الوصفة؟
أداة المتصفح مجانية. طلبات API تستخدم رصيد KIT مسبق الدفع بسعر $0.002 لكل استدعاء ناجح؛ الإدخال غير الصالح لا يُفوتر.