كيف تُصدر عرض سعر بصيغة PDF؟
هذه الأداة تُحوّل بيانات عرض السعر — البنود والكميات والأسعار ومدة الصلاحية — إلى مستند PDF منسّق جاهز لإرساله إلى العميل قبل بدء العمل. تُناسب المقاولين والمستقلين الذين يُرسلون عروض أسعار متكررة لعملاء محتملين، ويحتاجون مظهرًا احترافيًا موحّدًا في كل عرض دون إعادة التنسيق يدويًا.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
متى تحتاج إلى عرض سعر منفصل عن الفاتورة
عرض السعر مستند يسبق الاتفاق: يوضح البنود والكميات والسعر التقديري ومدة صلاحية العرض، قبل أن يوافق العميل ويبدأ العمل فعليًا. الفاتورة تأتي لاحقًا، بعد إنجاز العمل أو تسليم المنتج، وقد تختلف تفاصيلها قليلًا عمّا ورد في العرض الأول. من يخلط بين المستندين يُربك عميله؛ الفصل بينهما — عرض واضح المدة، ثم فاتورة عند الإنجاز — هو ما يتوقعه عميل يتعامل مع مقاولين أو مستقلين بانتظام.
ما تُدخله لإصدار العرض
تكتب اسم العميل، بنود العمل أو المنتجات وكمياتها وأسعارها، ومدة صلاحية العرض، ويخرج ملف PDF بجدول بنود مرتّب ومجموع نهائي واضح. يمكن إضافة شروط دفع مختصرة أسفل الجدول، كنسبة دفعة مقدّمة أو موعد التسليم المتوقع، فيحصل العميل على صورة كاملة لما يوافق عليه قبل أن يبدأ العمل، بدل رسالة نصية مبعثرة البنود يصعب الرجوع إليها لاحقًا. يمكن أيضًا تكرار العرض نفسه لعميل مشابه بتعديل البنود والأسعار فقط، دون إعادة بناء الجدول من الصفر في كل مرة يصل فيها طلب جديد.
من العرض إلى الاتفاق النهائي
العرض الصادر مستند قابل للتعديل والإرسال مجددًا إذا طلب العميل تغيير بند أو كمية، إذ ليس عقدًا ملزمًا ولا فاتورة. بعد موافقة العميل، يُصدر مستند منفصل — عقد أو فاتورة — يوثّق الاتفاق النهائي، ولا يتحول العرض تلقائيًا إلى ذلك المستند؛ كل مستند يُصدر من بياناته الخاصة به. هذا الفصل يحمي الطرفين: العميل يعرف أنه لم يُلزَم بعد، ومُصدر العرض يعرف أن السعر المذكور تقديري حتى تأكيد الطلب.
السعر مقابل الاستخدام
سعر إصدار عرض السعر $0.040 للطلب، ويُضاف $0.001 لكل صفحة إضافية في العروض الطويلة ذات البنود الكثيرة. لا اشتراك شهري يُدفع سواء أُصدرت عروض أم لا؛ الدفع عبر PayPal لكل عملية فقط، وتحصل على فاتورة شراء عند الطلب لتوثيق مصروف الأداة نفسها، منفصلة تمامًا عن أسعار البنود داخل عرضك. من يُرسل عرضًا واحدًا في الشهر ومن يُرسل عشرين عرضًا يدفعان السعر نفسه لكل عرض، وهو ما يناسب المقاول الذي يتفاوت عمله بين موسم مزدحم وآخر هادئ دون التزام بحد أدنى.
حالات الاستخدام
عرض سعر لمشروع ترميم
يُرسل مقاول في مؤسسة النخيل للمقاولات عرض سعر لعميل في جدة يوضح بنود ترميم مطبخ وكمياتها وسعرها التقديري، بمدة صلاحية أسبوعين قبل مراجعة الأسعار.
عرض تصميم موقع لمستقل تقني
يُرسل خالد العتيبي عرض سعر لعميل جديد يشمل مراحل بناء الموقع وسعر كل مرحلة، فيوافق العميل على العرض قبل أن يبدأ العمل الفعلي.
عرض توريد لشركة تجارية
تُرسل شركة الواحة للتجارة المحدودة عرض سعر لعميل يطلب كمية كبيرة من منتج معين، موضحة السعر لكل وحدة وشروط التسليم، قبل تأكيد أمر الشراء.
عرض خدمات لعميل حكومي
تُعدّ فاطمة الزهراني عرض سعر لخدمات استشارية مطلوبة من جهة حكومية، بجدول بنود واضح ومدة صلاحية محددة، وفق ما يشترطه طلب العرض الرسمي.
الأسئلة الشائعة
ما الفرق بين عرض السعر والفاتورة الضريبية؟
عرض السعر يسبق الاتفاق ويوضح البنود والسعر التقديري قبل بدء العمل، أما الفاتورة الضريبية فتصدر بعد إنجاز العمل أو تسليم المنتج، وقد تحمل رقمًا ضريبيًا وتفاصيل مختلفة عن العرض الأول.
هل يمكن تحديد مدة صلاحية للعرض؟
نعم، تكتب مدة الصلاحية ضمن الحقول، وتظهر في المستند لتوضح للعميل حتى متى يظل السعر المذكور قائمًا قبل مراجعته.
هل يُحسب سعر إصدار عرض السعر لكل صفحة أم لكل مستند؟
$0.040 للطلب الأول، ثم $0.001 لكل صفحة إضافية في العروض الطويلة. عرض ببند واحد وعرض بعشرين بندًا في صفحة واحدة يكلّفان السعر نفسه.
هل تحتفظون ببيانات العميل الواردة في العرض؟
تُستخدم بيانات العميل والبنود لإصدار الملف فقط، ثم تُحذف من خوادمنا بعد اكتمال المعالجة، ولا تُشارك مع أي طرف ثالث.
بأي لغة يرد الدعم إن واجهت مشكلة في العرض؟
يرد عليك إنسان حقيقي بالإنجليزية أو الإسبانية؛ لا دعم بالعربية حاليًا، لكن يمكنك الكتابة بالعربية وسنستعين بالترجمة لفهم رسالتك.
هل عرض السعر الصادر معتمد رسميًا من جهة ضريبية؟
لا. عرض السعر مستند تجاري يُنظّم البنود والأسعار قبل الاتفاق، وليس مستندًا معتمدًا من هيئة الزكاة والضريبة والجمارك ولا بديلًا عن الفاتورة الضريبية الرسمية.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/pdf/quote \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf"}'const res = await fetch("https://api.kit.forhosting.com/pdf/quote", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/quote",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/quote", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"https://ejemplo.com/documento.pdf"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/quote", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"pdf": "https://ejemplo.com/documento.pdf"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.quote",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 25 |
max_pages | 200 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
422 | task_failed | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |