زرار البيع التلقائي
زرار واحد في عرض السعر يأكد ويسلّم ويعمل الفاتورة ويحصّل في الخزنة.
نسخة مجانية الكاملة 1,500 ج.م
المجاني ولا الكامل؟
| بيعمل إيه | المجاني | الكامل |
|---|---|---|
| زرار واحد بيأكد الأمر ويسلّم كل الكميات | ||
| بيعمل الفاتورة ويرحّلها | ||
| كله مرة واحدة، فلو خطوة وقفت مفيش حاجة بتتسجل | ||
| تختار الزرار بيعمل إيه: تسليم بس، أو + فاتورة، أو + فاتورة + دفع | ||
| التحصيل في خزنة البياع، وتقسيم المبلغ على أكتر من خزنة | ||
| زرار «مرتجع» بيرجّع البضاعة ويعمل إشعار دائن ويرد الفلوس من الخزن | ||
| اسم الزرار ومين يشوفه | ||
| حمّل | 1,500 ج.م |
الكامل بيعمل إيه بالتفصيل
زرار في عرض السعر، جنب «تأكيد». الزرار بيعمل التالي:
- يأكد الأمر.
- يسلّم كل الكميات. لو المخزون مش مكفّي بيصرف بالسالب زي التسليم العادي.
- لو اخترت: يعمل الفاتورة ويرحّلها.
- لو اخترت: يسجّل الدفع في خزنة المستخدم.
كله بيحصل مرة واحدة، فلو أي خطوة وقفت مفيش حاجة بتتسجل. وفي الآخر بتظهر رسالة، زي: «S01033: اتأكد واتسلّم واتعملت الفاتورة INV/2026/00075 واتدفعت في خزنة الفرع.»
الإعدادات: المبيعات ← الإعدادات ← «البيع التلقائي»، ولكل شركة إعداداتها:
- الزرار بيعمل إيه:
- تأكيد + تسليم. ده الافتراضي.
- تأكيد + تسليم + فاتورة.
- تأكيد + تسليم + فاتورة + دفع.
- اسم الزرار: زي «بيع كاش». لو فاضي يبقى «بيع تلقائي».
- مسموح لهم: مين يشوف الزرار. لو فاضي يبقى كل البياعين.
- الخزن: ليها زرار في الإعدادات، وكمان قايمة في المبيعات ← الإعدادات ← «خزن البيع التلقائي». كل خزنة ليها:
- اسم بيشوفه البياع، زي «خزنة الفرع».
- دفتر نقدية أو بنك، والدفع بيتسجل فيه.
- المستخدمين اللي يحصّلوا فيها.
الدفع: إعداد «الدفع» بيظهر لما الزرار بيدفع، وليه خيارين:
- خزنة واحدة:
- لو المستخدم ليه خزنة واحدة، الدفع بيتسجل فيها على طول.
- لو ليه أكتر من خزنة، بيختار من خانة «الخزنة» في الأمر. الخانة فيها خزن المستخدم بس.
- يختار وقت البيع: الزرار بيفتح شاشة «الدفع»:
- الشاشة بتفتح بخزنة المستخدم والمبلغ كله.
- يقدر يضيف خزن ويقسّم المبلغ عليها، والمدفوع والباقي بيتحسبوا قدامه.
- «تأكيد البيع» مبيمشيش غير لما الباقي يبقى صفر.
- لو المستخدم مالوش خزنة، الزرار بيرفض برسالة.
- السيرفر بيراجع الخزن والمبالغ تاني قبل ما يسجل، فمحدش يقدر يدفع في خزنة مش بتاعته.
مع التطبيقات التانية:
- لو «منع البيع بالسالب» متسطّب ومفعّل، الزرار بيترفض برسالته، ومفيش حاجة بتتسجل.
- ونفس الكلام لو «منع البيع بأقل من التكلفة» متسطّب ومفعّل.
التسطيب
- فعّل وضع المطوّر (الإعدادات ← تفعيل وضع المطوّر).
- ادخل التطبيقات ← «استيراد وحدة» (Import Module)، ارفع الملف، واضغط تثبيت.
- المبيعات ← الإعدادات ← «البيع التلقائي»: اختار الزرار بيعمل إيه، واسمه، ومين يشوفه.
- لو الزرار بيدفع: اضغط «الخزن» وضيف خزنة لكل كاشير (الاسم، والدفتر، والمستخدمين).
ملحوظة: لو أودو أونلاين لازم تكون على باقة Custom.
تبنيها بنفسك من غير ملف
الكود والخطوات (نفس النسخة المجانية)
إجراء في قايمة «إجراء» في عرض السعر بيأكد الأمر ويسلّمه ويعمل الفاتورة ويرحّلها. مفيهوش زرار، ولا دفع، ولا خزن، ولا اسم، ولا مستخدمين.
- الإعدادات ← تقنية ← الإجراءات ← إجراءات الخادم ← جديد.
- الاسم: بيع تلقائي. الموديل: أمر البيع (Sales Order). النوع: تنفيذ كود (Execute Code).
- الصق الكود واحفظ.
- اضغط «إنشاء إجراء سياقي» (Create Contextual Action). بعدها الإجراء هيظهر في قايمة «إجراء» في عرض السعر.
# النسخة المجانية: إجراء من قائمة «إجراء» في عرض السعر بيأكده ويسلّمه ويعمل الفاتورة ويرحّلها، من غير إعدادات ولا دفع.
# Free version: a server action in the quotation's Action menu: confirm, deliver everything, post the invoice.
for order in records:
if order.state in ('draft', 'sent'):
order.action_confirm()
order = order.sudo().with_company(order.company_id) # deliveries and invoices even without stock or accounting rights
for attempt in range(6): # multi-step routes open the next step after the previous one
pickings = order.picking_ids.filtered(lambda p: p.state in ('confirmed', 'assigned'))
if not pickings:
break
for picking in pickings:
picking.action_assign()
for move in picking.move_ids:
if move.state not in ('done', 'cancel'):
move.write({'quantity': move.product_uom_qty, 'picked': True})
picking.with_context(skip_backorder=True, picking_ids_not_to_backorder=picking.ids, skip_sms=True).button_validate()
if order.invoice_status == 'to invoice':
order._create_invoices().action_post()
action = {'type': 'ir.actions.client', 'tag': 'display_notification', 'params': {
'message': '%s: اتأكد واتسلّم واتعملت الفاتورة.' % order.name, 'type': 'success', 'next': {'type': 'ir.actions.client', 'tag': 'soft_reload'}}}
اطلب النسخة الكاملة
1,500 ج.م
لو إنت من بره مصر، اكتب بلدك في الطلب ونتفق على السعر بالدولار وطريقة الدفع على واتساب.