تخطي للذهاب إلى المحتوى
أودو القائمة
  • تسجيل الدخول
  • جرب مجاناً
  • التطبيقات
    المالية
    • المحاسبة
    • فوترة
    • النفقات
    • جدول البيانات (BI)
    • المستندات
    • توقيع إلكتروني
    المبيعات
    • إدارة علاقات العملاء
    • المبيعات
    • نقطة البيع للمتاجر
    • نقطة البيع للمطاعم
    • الاشتراكات
    • تأجير
    المواقع الإلكترونية
    • أداة بناء المواقع الإلكترونية
    • متاجر إلكترونية
    • مدونة
    • المنتدى
    • دردشة مباشرة
    • التعليم الإلكتروني
    سلسلة التوريد
    • المستودعات
    • التصنيع
    • إدارة دورة حياة المنتج
    • المشتريات
    • الصيانة
    • الجودة
    الموارد البشرية
    • موظفون
    • التوظيف
    • إجازة عمل
    • التقييمات
    • الإحالات
    • تطبيق الأسطول
    التسويق
    • التسويق الإجتماعي
    • التسويق عبر البريد الإلكتروني
    • التسويق عبر الرسائل النصية
    • فعاليات
    • أتمتة التسويق
    • الاستطلاعات
    الخدمات
    • المشاريع
    • الجداول الزمنية
    • الخدمة الميدانية
    • مكتب المساعدة
    • التخطيط
    • مواعيد
    اﻹنتاجية
    • مناقشة
    • الموافقات
    • إنترنت الأشياء "IoT"
    • بروتوكول ربط المحادثات الصوتية عبر الإنترنت
    • المعرفة
    • WhatsApp
    التطبيقات الخارجية ستوديو أودو منصة أودو السحابية
  • قطاعات الأعمال
    البيع بالتجزئة
    • متجر كتب
    • متجر ملابس
    • متجر أثاث
    • متجر بقالة
    • متجر معدات
    • متجر ألعاب
    الطعام والضيافة
    • بار وحانة
    • المطعم
    • مطعم للوجبات السريعة
    • نزل للضيوف
    • موزّع مشروبات
    • فندق
    العقارات
    • وكالة عقارات
    • شركة هندسة معمارية
    • البناء
    • إدارة العقارات
    • العناية بالحدائق
    • اتحاد مُلاّك العقارات
    استشارة
    • مؤسسة محاسبية
    • شريك أودو
    • وكالة تسويقية
    • منشأة قانونية
    • استقطاب المواهب
    • التدقيق والتوثيق
    التصنيع
    • الأقمشة
    • معدني
    • الأثاث
    • الطعام
    • مصنع خمور
    • هدايا الشركات
    الصحة واللياقة البدنية
    • نادي رياضي
    • متجر نظارات
    • مركز لياقة بدنية
    • الممارسون الصحيون
    • صيدلية
    • صالون تصفيف الشعر
    التجارة
    • عامل صيانة
    • الأجهزة والمعدات التقنية ودعمها
    • أنظمة الطاقة الشمسية
    • صانع أحذية
    • خدمات التنظيف
    • خدمات التكييف (HVAC)
    غير ذلك
    • منظمة غير ربحية
    • وكالة بيئية
    • تأجير لوحات إعلانية
    • تصوير
    • تأجير دراجات
    • بائع وسيط للبرمجيات
    تصفح كافة قطاعات الأعمال
  • مجتمع أودو
    تعلم
    • دروس
    • التوثيق
    • شهادات
    • التدريب
    • مدونة
    • بودكاست
    قم بتعزيز التعليم
    • برنامج تعليم
    • Scale UP! لعبة الأعمال
    • قم بزيارة أودو
    احصل على البرنامج
    • تحميل
    • قارنْ الإصدارات
    • إطلاق
    تعاون
    • جيت هاب "Github"
    • المنتدى
    • فعاليات
    • الترجمات
    • كنْ شريكاً
    • خدمات الشركاء
    • سجل مكتب المحاسبة الخاص بك
    احصل على الخدمات
    • اعثر على شريك
    • اعثر على محاسب
    • قابل أحد مرشدي الأعمال
    • خدمات التنفيذ
    • مراجع العملاء
    • الدعم
    • الترقيات
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    الحصول على عرض توضيحي
  • الأسعار
  • المساعدة

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • إدارة علاقات العملاء
  • e-Commerce
  • المحاسبة
  • المخزون
  • PoS
  • المشروع
  • MRP
All apps
يجب أن تكون مسجلاً حتى تتفاعل مع المجتمع.
كافة المنشورات الأفراد الشارات
علامات التصنيف (عرض الكل)
odoo accounting v14 pos v15
حول هذا المنتدى
يجب أن تكون مسجلاً حتى تتفاعل مع المجتمع.
كافة المنشورات الأفراد الشارات
علامات التصنيف (عرض الكل)
odoo accounting v14 pos v15
حول هذا المنتدى
المساعدة

Internal server error 500 in eCommerce module with payment method Wire Transfer [Odoo V8]

اشتراك

تسلم الإشعارات عندما يكون هناك نشاط في هذا المنشور

لقد تم الإبلاغ عن هذا السؤال
ecommercewebshopodoo
12 الردود
15087 أدوات العرض
الصورة الرمزية
Yenthe Van Ginneken (Mainframe Monkey)

Hey guys

Today I've installed the eCommerce module on Odoo V8 (Version 9.0 Alpha 1) and set up payment methods.
I've installed these two modules:
- eCommerce
- Paypal Payment Acquirer
 

I go to the website, select a product and go to the cart checkout. I then select the payment method 'Wire Transfer' and click on the 'Pay Now' button.
After clicking on this button I get an error message, 500: Internal Server Error

Error message:
""'sale.order' object has no attribute 'validity_date'" while evaluating
'o.validity_date'" while evaluating
"translate_doc(doc_id, doc_model, 'partner_id.lang', 'sale.report_saleorder_document')"

QWeb error message:
Could not evaluate expression "translate_doc(doc_id, doc_model, 'partner_id.lang', 'sale.report_saleorder_document')"

Traceback:
Traceback (most recent call last):
  File "/home/administrator/odoo/addons/website/models/ir_http.py", line 180, in _handle_exception
    response = super(ir_http, self)._handle_exception(exception)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_http.py", line 104, in _handle_exception
    return request._handle_exception(exception)
  File "/home/administrator/odoo/openerp/http.py", line 558, in _handle_exception
    return super(HttpRequest, self)._handle_exception(exception)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_http.py", line 131, in _dispatch
    result = request.dispatch()
  File "/home/administrator/odoo/openerp/http.py", line 570, in dispatch
    r = self._call_function(**self.params)
  File "/home/administrator/odoo/openerp/http.py", line 311, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/home/administrator/odoo/openerp/service/model.py", line 113, in wrapper
    return f(dbname, *args, **kwargs)
  File "/home/administrator/odoo/openerp/http.py", line 308, in checked_call
    return self.endpoint(*a, **kw)
  File "/home/administrator/odoo/openerp/http.py", line 685, in __call__
    return self.method(*args, **kw)
  File "/home/administrator/odoo/openerp/http.py", line 360, in response_wrap
    response = f(*args, **kw)
  File "/home/administrator/odoo/addons/website_sale/controllers/main.py", line 741, in payment_validate
    composer_id = request.registry['mail.compose.message'].create(cr, SUPERUSER_ID, composer_values, context=email_ctx)
  File "/home/administrator/odoo/openerp/api.py", line 204, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/administrator/odoo/addons/mail/mail_message.py", line 801, in create
    newid = super(mail_message, self).create(cr, uid, values, context)
  File "/home/administrator/odoo/openerp/api.py", line 204, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/administrator/odoo/openerp/api.py", line 297, in old_api
    result = method(recs, *args, **kwargs)
  File "/home/administrator/odoo/openerp/models.py", line 3877, in create
    vals = self._add_missing_default_values(vals)
  File "/home/administrator/odoo/openerp/api.py", line 202, in wrapper
    return new_api(self, *args, **kwargs)
  File "/home/administrator/odoo/openerp/api.py", line 429, in new_api
    result = method(self._model, cr, uid, *args, **kwargs)
  File "/home/administrator/odoo/openerp/models.py", line 1808, in _add_missing_default_values
    defaults = self.default_get(cr, uid, list(missing_defaults), context)
  File "/home/administrator/odoo/openerp/api.py", line 204, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/administrator/odoo/addons/email_template/wizard/mail_compose_message.py", line 54, in default_get
    res.get('model'), res.get('res_id'), context=context
  File "/home/administrator/odoo/openerp/api.py", line 204, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/administrator/odoo/addons/email_template/wizard/mail_compose_message.py", line 101, in onchange_template_id
    values = self.generate_email_for_composer_batch(cr, uid, template_id, [res_id], context=context)[res_id]
  File "/home/administrator/odoo/openerp/api.py", line 204, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/administrator/odoo/addons/email_template/wizard/mail_compose_message.py", line 163, in generate_email_for_composer_batch
    template_values = self.pool.get('email.template').generate_email_batch(cr, uid, template_id, res_ids, fields=fields, context=ctx)
  File "/home/administrator/odoo/openerp/api.py", line 204, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/administrator/odoo/addons/email_template/email_template.py", line 488, in generate_email_batch
    result, format = self.pool['report'].get_pdf(cr, uid, [res_id], report_service, context=ctx), 'pdf'
  File "/home/administrator/odoo/openerp/api.py", line 204, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/administrator/odoo/addons/report/models/report.py", line 169, in get_pdf
    html = self.get_html(cr, uid, ids, report_name, data=data, context=context)
  File "/home/administrator/odoo/openerp/api.py", line 204, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/administrator/odoo/addons/report/models/report.py", line 154, in get_html
    return self.render(cr, uid, [], report.report_name, docargs, context=context)
  File "/home/administrator/odoo/openerp/api.py", line 204, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/administrator/odoo/addons/report/models/report.py", line 130, in render
    return view_obj.render(cr, uid, template, values, context=context)
  File "/home/administrator/odoo/openerp/api.py", line 204, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/administrator/odoo/addons/website/models/ir_ui_view.py", line 173, in render
    return super(view, self).render(cr, uid, id_or_xml_id, values=values, engine=engine, context=context)
  File "/home/administrator/odoo/openerp/api.py", line 204, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_ui_view.py", line 1075, in render
    return self.pool[engine].render(cr, uid, id_or_xml_id, qcontext, loader=loader, context=context)
  File "/home/administrator/odoo/openerp/api.py", line 204, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 247, in render
    return self.render_node(self.get_template(id_or_xml_id, qwebcontext), qwebcontext)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 289, in render_node
    result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 310, in render_element
    g_inner.append(self.render_node(current_node, qwebcontext))
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 287, in render_node
    result = self._render_tag[t_render](self, element, template_attributes, generated_attributes, qwebcontext)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 405, in render_tag_call
    d[0] = self.render_element(element, template_attributes, generated_attributes, d)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 310, in render_element
    g_inner.append(self.render_node(current_node, qwebcontext))
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 287, in render_node
    result = self._render_tag[t_render](self, element, template_attributes, generated_attributes, qwebcontext)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 395, in render_tag_foreach
    ru.append(self.render_element(element, template_attributes, generated_attributes, copy_qwebcontext))
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 310, in render_element
    g_inner.append(self.render_node(current_node, qwebcontext))
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 287, in render_node
    result = self._render_tag[t_render](self, element, template_attributes, generated_attributes, qwebcontext)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 351, in render_tag_raw
    inner = self.eval_str(template_attributes["raw"], qwebcontext)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 208, in eval_str
    val = self.eval(expr, qwebcontext)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 200, in eval
    raise_qweb_exception(message="Could not evaluate expression %r" % expr, expression=expr, template=template)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 197, in eval
    return qwebcontext.safe_eval(expr)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 80, in safe_eval
    return eval(expr, None, locals_dict, nocopy=True, locals_builtins=True)
  File "/home/administrator/odoo/openerp/tools/safe_eval.py", line 312, in safe_eval
    return eval(c, globals_dict, locals_dict)
  File "", line 1, in <module>
  File "/home/administrator/odoo/addons/report/models/report.py", line 113, in translate_doc
    return view_obj.render(cr, uid, template, qcontext, context=ctx)
  File "/home/administrator/odoo/openerp/api.py", line 204, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/administrator/odoo/addons/website/models/ir_ui_view.py", line 173, in render
    return super(view, self).render(cr, uid, id_or_xml_id, values=values, engine=engine, context=context)
  File "/home/administrator/odoo/openerp/api.py", line 204, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_ui_view.py", line 1075, in render
    return self.pool[engine].render(cr, uid, id_or_xml_id, qcontext, loader=loader, context=context)
  File "/home/administrator/odoo/openerp/api.py", line 204, in wrapper
    return old_api(self, *args, **kwargs)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 247, in render
    return self.render_node(self.get_template(id_or_xml_id, qwebcontext), qwebcontext)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 289, in render_node
    result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 310, in render_element
    g_inner.append(self.render_node(current_node, qwebcontext))
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 287, in render_node
    result = self._render_tag[t_render](self, element, template_attributes, generated_attributes, qwebcontext)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 405, in render_tag_call
    d[0] = self.render_element(element, template_attributes, generated_attributes, d)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 310, in render_element
    g_inner.append(self.render_node(current_node, qwebcontext))
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 289, in render_node
    result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 310, in render_element
    g_inner.append(self.render_node(current_node, qwebcontext))
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 289, in render_node
    result = self.render_element(element, template_attributes, generated_attributes, qwebcontext)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 310, in render_element
    g_inner.append(self.render_node(current_node, qwebcontext))
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 287, in render_node
    result = self._render_tag[t_render](self, element, template_attributes, generated_attributes, qwebcontext)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 399, in render_tag_if
    if self.eval_bool(template_attributes["if"], qwebcontext):
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 231, in eval_bool
    return int(bool(self.eval(expr, qwebcontext)))
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 200, in eval
    raise_qweb_exception(message="Could not evaluate expression %r" % expr, expression=expr, template=template)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 197, in eval
    return qwebcontext.safe_eval(expr)
  File "/home/administrator/odoo/openerp/addons/base/ir/ir_qweb.py", line 80, in safe_eval
    return eval(expr, None, locals_dict, nocopy=True, locals_builtins=True)
  File "/home/administrator/odoo/openerp/tools/safe_eval.py", line 312, in safe_eval
    return eval(c, globals_dict, locals_dict)
  File "", line 1, in <module>
QWebException: ""'sale.order' object has no attribute 'validity_date'" while evaluating
'o.validity_date'" while evaluating
"translate_doc(doc_id, doc_model, 'partner_id.lang', 'sale.report_saleorder_document')"


Could anybody tell me what is wrong or how I can fix this please? I can't seem to find a direct solution for this problem.

Yenthe

7
الصورة الرمزية
إهمال
الصورة الرمزية
Sajad KK
أفضل إجابة

Quick Fix:

sale/views/report_saleorder.xml

Comment or Remove

<div t-if="o.validity_date" class="col-xs-3">
        <strong>Validity Date:</strong>
        <p t-field="o.validity_date"/>
 </div>

and upgrade Sale module. Thats it!

2
الصورة الرمزية
إهمال
الصورة الرمزية
George Rodopoulos
أفضل إجابة

I followed your steps using the most recent build on runbot and I can reproduce the error you reported. So, this may be a bug which needs to be fixed in source code level.

Maybe somebody should add an issue and/or a pull request on github following these guidelines.   Version 9.0 Alpha 1 is not stable as it is in 'Alpha' state so it is expected to find some bugs.

3
الصورة الرمزية
إهمال
Yenthe Van Ginneken (Mainframe Monkey)
الكاتب

I've put up a error report on Github at https://github.com/odoo/odoo/issues/1956 Hopefully somebody will fix this soon, as it is a rather big problem.

الصورة الرمزية
Andy Ng
أفضل إجابة

my Contact Us form submission was working until now... I'm getting a similar 500: Internal Error message...

2
الصورة الرمزية
إهمال
الصورة الرمزية
Nathan Hewett
أفضل إجابة

Hello- I'm having a similar issue, but can't seem to find any documentation on it anywhere. I'm currently running Odoo 11 community edition. I followed the link on the paypal acquirer setup page, and completed the instructions 1-by-1 without any issue. When I go to complete a transaction through my website, everything goes fine until the payment has been processed by paypal and it redirects the shopper back to my page. At this point, depending on settings, I've had 2 outcomes: 1 produces a 500 internal server error and the second is where paypal never actually sends the shopper back to my page, and instead just loads for EVER until it finally times out. Either way, the payment is processed but the user never ends up back at my site, nor are they shown a confirmation page, and their cart isn't emptied at all.

Can anyone point me in the right direction? I've seen countless articles regarding similar issues dating back to 2015 and such, but nothing relevant to Odoo v11. Thank you for the help!

-Nate

0
الصورة الرمزية
إهمال
الصورة الرمزية
Nicolás Visús
أفضل إجابة

Hi Yenthe, did you solve it? I have the same issue

0
الصورة الرمزية
إهمال
Yenthe Van Ginneken (Mainframe Monkey)
الكاتب

Hi Nicolás, I haven't fixed this personally as this is rather a programming error, made by a developer. Fixing it myself wouldn't help anybody except myself. I've made a Github bug report here: https://github.com/odoo/odoo/issues/1956 So lets hope somebody fixes this soon!

Franz Palfrader

Please be sure that wkhtmltopdf is: 1) installed 2) in the right folder /usr/bin

Yenthe Van Ginneken (Mainframe Monkey)
الكاتب

Franz, this has nothing to do with wkhtmltopdf. Secondly I have it installed and under the /usr/bin, which double proves this has nothing to do with this error.

Franz Palfrader

ant the Payment Acquirers Form Button Template is "transfer_acquirer_button" ?

M. Höppner

same thing here in oddo 8.0 from the bitnami VM, I can't solve it. Any additional hints?

James White

I found this thread because I was having the 500 error when a client would try to add a payment method.

I tried following Franz Palfrader's advice (which took seconds to try) and installed wkhtmltopdf. That was all it took to solve the problem; , I was getting 500 errors, installed wkhtmltopdf, hit the BACK button and clicked on "ADD PAYMENT METHOD" again - and now it worked.

I am using Centos7 with Odoo 10e and recall that the install instructions had warned that wkhtmltopdf was going to cause strange problems if not installed. These warnings are true ;-)

Thanks Franz!

هل أعجبك النقاش؟ لا تكن مستمعاً فقط. شاركنا!

أنشئ حساباً اليوم لتستمتع بالخصائص الحصرية، وتفاعل مع مجتمعنا الرائع!

تسجيل
المنشورات ذات الصلة الردود أدوات العرض النشاط
Website translation
ecommerce webshop
الصورة الرمزية
0
سبتمبر 23
1996
Datepicker in webshop payment page
datepicker ecommerce webshop odoo odoo12
الصورة الرمزية
0
سبتمبر 19
3123
Odoo17EE - Ecommerce Delivery charges based on Customer Pincode and Product Weights/Quantities تم الحل
ecommerce odoo delivery charges
الصورة الرمزية
الصورة الرمزية
1
يناير 25
1413
Duplicate تم الحل
ecommerce webshop odooV8
الصورة الرمزية
الصورة الرمزية
1
ديسمبر 24
17588
Seeking Advice on Listing Internet Providers and Integrating Lead Forms in Odoo
crm ecommerce odoo
الصورة الرمزية
0
مارس 24
1957
المجتمع
  • دروس
  • التوثيق
  • المنتدى
مصدر مفتوح
  • تحميل
  • جيت هاب "Github"
  • المشغل الآلي رنبوت
  • الترجمات
خدماتنا
  • استضافة أودو إس إتش
  • الدعم
  • الترقية
  • التطويرات المخصصة
  • التعليم
  • اعثر على محاسب
  • اعثر على شريك
  • كنْ شريكاً
معلومات عنا
  • شركتنا
  • أصول العلامة التجارية
  • اتصلْ بنا
  • الوظائف
  • فعاليات
  • بودكاست
  • مدونة
  • عملاء
  • قانوني • الخصوصية
  • الحماية
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

أودو هو عبارة عن مجموعة من تطبيقات الأعمال مفتوحة المصدر التي تغطي جميع احتياجات شركتك، مثل: إدارة علاقات العملاء والتجارة الإلكترونية والمحاسبة والمخزون ونقاط البيع وإدارة المشاريع وما إلى ذلك.

ما يجعل من أودو مميزاً هو هدفه بأن يكون سهل الاستخدام للغاية ومتكاملاً تمامًا في الوقت ذاته.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now