حاسبة الميزانية المتبقية
دخل قدره 5,000 تُطرح منه 2,700 أُنفقت على السكن والطعام والمواصلات والفواتير والاشتراكات يترك 2,300، أي فائضًا. أدخل دخلك ومصروفاتك حسب الفئة لترى ما يتبقى في الفترة. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- الدخل
- 5,000
- عدد المصروفات
- 5
- إجمالي المصروفات
- 2,700
- المتبقي
- 2,300
- الحالة
- surplus
تطرح حاسبة الميزانية المتبقية هذه قائمة مصروفات مصنفة من إجمالي الدخل وتبين إن كان الفترة تُغلق بفائض أم بعجز. أرسلوا رقم income منتهياً وغير سالب وصفاً واحداً على الأقل من المصروف يحمل تسمية category ومبلغ amount؛ يجمع المحرك كل amount ويحسب remaining مساوياً لـ income ناقص ذلك المجموع ويصنّف الإشارة إلى surplus أو deficit أو balanced. لا مسار تضخم ولا جدول ضرائب ولا تحويل عملات: طرح حتمي تثبّتونه في الاختبارات وتعرضونه إلى جانب التفصيل حسب الفئة.
معنى الميزانية المتبقية وكيف يُوقَّع الفائض أو العجز
الميزانية المتبقية هي ما يبقى بعد إخراج كل إنفاق مدرج من دخل الفترة نفسها: شهر أو دورة راتب أو ظرف مشروع. لا تتنبأ هذه الحاسبة بالتضخم ولا تحوّل العملات ولا تطبق جداول ضريبية. تقرأ رقم income منتهياً وغير سالب وقائمة صفوف مصروف مصنفة، لكل منها تسمية category ومبلغ amount بالعملة نفسها، ثم تطبق المتطابقة المغلقة remaining يساوي income ناقص مجموع تلك المبالغ.
المتبقي الموجب surplus؛ والمتبقي السالب deficit ومقداره هو النقص؛ والمتبقي الصفري balanced. تسير تسميات category في الاستجابة حتى يعرض منزل أو صف أو سكربت كم من الإنفاق استقر في السكن مقابل الغذاء مقابل النقل. share هو amount الصف مقسوماً على إجمالي المصروفات، أو صفر عندما يكون ذلك الإجمالي صفراً. يجب أن يكون income نفسه غير سالب ومنتهياً.
عقد الإدخال والصفوف المرفوضة وشكل الاستجابة الناجحة
يحتاج كل كائن إلى category، سلسلة غير فارغة بعد التشذيب، وamount، عدداً منتهياً غير سالب. تُحترم في كل صف بدائل amount وهي value وcost. إن كان أي amount للمصروف سالباً تُرفض الطلب برسالة أن قيم المصروف لا يجوز أن تكون سالبة: ذلك عقد هذه الحاسبة الصارم، ولا تُحاسب تلك الإخفاقات.
تُقرَّب حقول المال إلى منزلتين عشريتين؛ وتستخدم حصص share اثنتي عشرة. تُحذف مفاتيح الإخراج الاختيارية بدل تثبيتها على null.
أين تثبت حاسبة الميزانية المتبقية نفعها
تستخدم البيوت حاسبة الميزانية المتبقية عندما يصل الراتب ويحتاج الإيجار والبقالة والتنقل والمرافق والاشتراكات إلى رقم متبقٍ واحد قبل تخطيط الإنفاق الاختياري. يلتقي الطلاب المتطابقة نفسها في وحدات التمويل الشخصي التي تسأل إن كان ظرف الشهر في فائض أو عجز وفق قائمة إنفاق موسومة. يستطيع المعلمون توليد مفاتيح إجابة لأرقام دخل متواضعة دون الوثوق بتطبيقات معتمة تخلط قواعد معدل الادخار أو التضخم في طرح بسيط.
يستدعي المطوّرون العقد من سكربتات لبذر تجهيزات حتمية لتطبيقات الميزانية، ولتسوية مجاميع الفئات التي يدخلها المستخدم قبل رسم لوحة، أو للفشل المُغلق عندما يحتوي مورد إنفاقاً سالباً لا ينبغي أن يصير رصيداً صامتاً. تضع أدوات الإرشاد مبلغ surplus أو deficit بجانب شريط تقدم حتى يرى المتعلم النقد المتبقي لا جداراً من الصفوف الخام.
حالات الاستخدام
متبقي راتب المنزل
اطرحوا الإيجار والغذاء والنقل والفواتير من صافي الأجر لتروا إن كان الشهر يُغلق بفائض أم بعجز.
فحوص الظرف في الصف
أعطوا الطلاب قائمة إنفاق موسومة ودخلاً معلوماً حتى يتحققوا من الميزانية المتبقية مقابل مفتاح الفائض أو العجز.
تجهيزات ميزانية حتمية
غذّوا حاسبات CI والمنتج بقيم مستقرة لـ remaining وsurplus وdeficit من income ومصروفات مصنفة معلومة.
الأسئلة الشائعة
كيف تُحسب الميزانية المتبقية؟
remaining = income − مجموع كل amount للمصروف. المتبقي الموجب surplus؛ والمتبقي السالب deficit (يُبلَّغ كنقص موجب)؛ والصفر balanced.
ماذا يحدث إن كان amount المصروف سالباً؟
لا يجوز أن تكون قيم المصروف سالبة في هذه الحاسبة، ولا تُحاسب المصادقة الفاشلة.
أي الحقول نرسل؟
يحتاج كل صف مصروف إلى category غير فارغ وamount غير سالب.
ماذا يعني status في الاستجابة؟
status يساوي surplus عندما يكون remaining موجباً، وdeficit عندما يكون remaining سالباً، وbalanced عندما يكون remaining صفراً تماماً بعد التقريب إلى منزلتين.
هل تعرض الحاسبة نصيب كل فئة من الإنفاق؟
نعم. بجانب كل فئة تظهر حصتها من إجمالي المصروفات. في المثال يمثل السكن 1,800 من أصل 2,700، أي ثلثي كل ما أُنفق، فترى فورًا أين يقع أكبر ضغط على ميزانيتك.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/fin/budget \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"income":5000,"expenses":[{"category":"Housing","amount":1800},{"category":"Food","amount":450},{"category":"Transport","amount":220},{"category":"Utilities","amount":180},{"category":"Subscriptions","amount":50}]}'const res = await fetch("https://api.kit.forhosting.com/fin/budget", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"income": 5000,
"expenses": [
{
"category": "Housing",
"amount": 1800
},
{
"category": "Food",
"amount": 450
},
{
"category": "Transport",
"amount": 220
},
{
"category": "Utilities",
"amount": 180
},
{
"category": "Subscriptions",
"amount": 50
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/budget",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"income": 5000,
"expenses": [
{
"category": "Housing",
"amount": 1800
},
{
"category": "Food",
"amount": 450
},
{
"category": "Transport",
"amount": 220
},
{
"category": "Utilities",
"amount": 180
},
{
"category": "Subscriptions",
"amount": 50
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/budget", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"income":5000,"expenses":[{"category":"Housing","amount":1800},{"category":"Food","amount":450},{"category":"Transport","amount":220},{"category":"Utilities","amount":180},{"category":"Subscriptions","amount":50}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"income":5000,"expenses":[{"category":"Housing","amount":1800},{"category":"Food","amount":450},{"category":"Transport","amount":220},{"category":"Utilities","amount":180},{"category":"Subscriptions","amount":50}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/budget", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"income": 5000,
"expenses": [
{
"category": "Housing",
"amount": 1800
},
{
"category": "Food",
"amount": 450
},
{
"category": "Transport",
"amount": 220
},
{
"category": "Utilities",
"amount": 180
},
{
"category": "Subscriptions",
"amount": 50
}
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.budget",
"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، فلا تختلف ورقة المنزل عن سكربت الأتمتة في المتبقي.
معنى الميزانية المتبقية وكيف يُوقَّع الفائض أو العجز
قيم المصروف السالبة خارج النموذج: سطر الإنفاق لا يجوز أن ينزل عن الصفر، فيفشل المحرك بـ invalid_input مسمياً الصف المخالف بدل أن يقلب استرداداً إلى رصيد في صمت. المسار حساب صرف خالٍ من Date والعشوائية ومن إدخال/إخراج الشبكة، فتعطي المدخلات نفسها دائماً JSON نفسه ومبلغ surplus أو deficit نفسه الذي تثبّتونه في ورقة أو اختبار وحدة.
عقد الإدخال والصفوف المرفوضة وشكل الاستجابة الناجحة
أرسلوا بهيئة POST جسماً JSON بحقلين إلزاميين. income هو المال الكلي المتاح للفترة؛ تُقبل الأسماء البديلة total_income وsalary وrevenue حتى تعيد الجداول والنماذج المنمّطة استخدام العقد نفسه. expenses مصفوفة غير فارغة من عنصر واحد إلى مئتين؛ تشير البدائل items وcosts وspending إلى القائمة نفسها. تُقبل السلاسل العددية التي تُفسَّر ككسور عشرية منتهية؛ تفشل السلاسل الفارغة وNaN وInfinity بـ invalid_input مع تسمية الحقل. يفشل أيضاً غياب income أو قائمة expenses الغائبة أو الفارغة أو غياب category أو أكثر من مئتي صف. عند النجاح يعيد الجسم income وexpense_count وصفوف المصروف المنقّاة مع share؛ ويبلّغ total_expenses وremaining وstatus (surplus أو deficit أو balanced) وsurplus (remaining إن كان موجباً وإلا صفراً) وdeficit (النقص المطلق عندما يكون remaining سالباً وإلا صفراً) وسلسلة formula.
أين تثبت حاسبة الميزانية المتبقية نفعها
في هذه الصفحة يجري العمل كله في المتصفح؛ وعبر API تكلف كل استشارة ناجحة $0.002، ولا تُحاسب المصادقة الفاشلة، ولا يُخزَّن شيء بعد إعادة الاستجابة. اقرنوا التشغيل التفاعلي المجاني بـ API المسعّرة المطابقة عندما تنتقلون من عرض على ورقة إلى خط أنابيب مؤتمت دون تغيير النتيجة الرياضية أو إعادة كتابة الطرح.
أسئلة تقنية
كم تكلفة حاسبة الميزانية؟
أداة المتصفح مجانية. تستخدم طلبات API رصيد KIT المدفوع مسبقاً بسعر $0.002 لكل استدعاء ناجح؛ ولا تُحاسب المدخلات غير الصالحة.