تخطي للذهاب إلى المحتوى

إنشاء المنتجات في Odoo عبر الاستيراد أو البرمجة: سعر 1.0 والضريبة الافتراضية اللذان يمرّان دون انتباه

المنتجات التي تُحمَّل من جدول بيانات أو عبر واجهة برمجية تأخذ القيم الافتراضية في Odoo لكل حقل لا تُرسله. في Odoo 19 يعني ذلك سعر بيع 1.0 وضريبة القيمة المضافة الافتراضية. إليك ما يجب ضبطه وما يجب فحصه وكيف تجد المنتجات التي مرّت بالخطأ.
3 نوفمبر 2026 بواسطة
إنشاء المنتجات في Odoo عبر الاستيراد أو البرمجة: سعر 1.0 والضريبة الافتراضية اللذان يمرّان دون انتباه

المنتجات التي تُحمَّل من جدول بيانات أو عبر واجهة برمجية تأخذ القيم الافتراضية في Odoo لكل حقل لا تُرسله. في Odoo 19 يعني ذلك سعر بيع 1.0 وضريبة القيمة المضافة الافتراضية. إليك ما يجب ضبطه وما يجب فحصه وكيف تجد المنتجات التي مرّت بالخطأ.

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

لم يكن في Odoo أي عطل. السكربت ببساطة لم يُرسل بعض الحقول، فملأها Odoo بقيمه الافتراضية. ويحدث الشيء نفسه عندما تستورد جدول منتجات تنقصه بعض الأعمدة. إذا كنت مستورداً أو تاجراً أو صاحب متجر في عُمان وتُحمّل مئات المنتجات قبل التشغيل الفعلي، فهذه الدقائق العشر تستحق وقتك.

تصف هذه الملاحظة سلوك Odoo 19 القياسي كما تحققنا منه في الشيفرة المصدرية والوثائق الرسمية لـ Odoo 19. قد تُغيّر الوحدات المخصصة أو تعديلات Studio في قاعدة بياناتك هذه القيم الافتراضية.

ما الذي يملؤه Odoo 19 عندما لا تُرسل حقلاً

عند إنشاء منتج دون تحديد قيمة لحقل ما، يستخدم Odoo القيمة الافتراضية لذلك الحقل. وفي Odoo 19 القياسي هذه أهمها:

  • سعر البيع: 1.0. سعر البيع الافتراضي لأي منتج جديد هو 1.0 بعملة شركتك، أي 1.000 ريال عُماني لشركة في عُمان.
  • ضرائب المبيعات: ضريبة المبيعات الافتراضية. يأخذ Odoo الضرائب الافتراضية المحددة في المحاسبة ‣ التهيئة ‣ الإعدادات ‣ الضرائب. ومع دليل الحسابات العُماني تكون عادةً ضريبة القيمة المضافة 5% على المبيعات.
  • ضرائب المشتريات: ضريبة المشتريات الافتراضية من الإعداد نفسه.
  • التكلفة: صفر. ستكون الهوامش وتكلفة البضاعة المباعة خاطئة حتى تصل تكلفة حقيقية. كتبنا عن أثر التكلفة الصفرية في 11 مشكلة في Odoo 19 من مشاريع حقيقية.
  • نوع المنتج: سلع، مع إيقاف تتبع المخزون. لا تُتابَع الكميات في المخزون ما لم تفعّل الخيار أو ترسله.
  • خانتا المبيعات والمشتريات (قابل للبيع، قابل للشراء): مفعّلتان.
  • متاح في نقطة البيع: غير مفعّل، فلا تظهر المنتجات الجديدة على الكاشير حتى تفعّله.
  • منشور على الموقع: غير منشور. تبقى المنتجات الجديدة خارج المتجر الإلكتروني حتى ينشرها أحد.

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

ملفات الاستيراد: العمود الناقص يختلف عن الخلية الفارغة

وثائق الاستيراد في Odoo 19 واضحة في هذه النقطة، ومع ذلك يقع فيها كثير من الفرق:

  • إذا كان العمود غير موجود في ملفك، يعطي Odoo كل منتج القيمة الافتراضية لذلك الحقل. غياب عمود سعر البيع يعني أن كل منتج يأخذ 1.0، وغياب عمود ضرائب المبيعات يعني أن كل منتج يأخذ ضريبة المبيعات الافتراضية.
  • أما إذا كان العمود موجوداً والخلية فارغة، فيضبط Odoo الحقل على قيمة فارغة وليس على القيمة الافتراضية. خلية ضرائب مبيعات فارغة تعني منتجاً بلا أي ضريبة.

كلا الأمرين يسهل أن يفوتك في ملف من مئات الأسطر. فالأصناف الخاضعة لنسبة الصفر أو المعفاة التي تأخذ 5% دون أن يلاحظ أحد، والأصناف الخاضعة للنسبة الأساسية التي تبقى بلا ضريبة، كلاهما يظهر لاحقاً في إقرار ضريبة القيمة المضافة. وإذا كنت ما زلت تضبط الضرائب، فابدأ بـ قائمة إعداد ضريبة القيمة المضافة في Odoo لعُمان.

تعدد الشركات: الضريبة الافتراضية لكل شركة

إذا كنت تدير أكثر من شركة في قاعدة بيانات Odoo واحدة، فهناك فخ إضافي. تُؤخذ ضريبة المبيعات الافتراضية من جميع الشركات المفعّلة للمستخدم لحظة إنشاء المنتج. فالسكربت الذي يتصل باسم مستخدم ينتمي إلى عدة شركات، دون أن يحدد الشركة التي يعمل فيها، قد يُنشئ منتجات تحمل ضريبة المبيعات الافتراضية لكل واحدة من تلك الشركات. حدّد للسكربت الشركة التي يعمل فيها، واضبط شركة المنتج وضرائبه صراحةً. ويشرح دليل إعداد الشركات المتعددة كيف تعمل الشركات والمنتجات المشتركة.

الحقول التي يجب ضبطها في كل مرة

سواء استخدمت جدول بيانات أو سكربت، أرسل هذه الحقول لكل منتج، حتى عندما تبدو القيمة بديهية:

  1. الاسم والمرجع الداخلي (والباركود إذا كنت تستخدم الماسح).
  2. نوع المنتج وتتبع المخزون.
  3. فئة المنتج، لأن حسابات الإيرادات والمصروفات وقواعد تقييم المخزون تأتي غالباً من الفئة.
  4. وحدة القياس.
  5. سعر البيع، ولا تتركه أبداً للقيمة الافتراضية.
  6. التكلفة، أو خطة واضحة لكيفية وصولها (أول عملية شراء، أو تكاليف الاستيراد).
  7. ضرائب المبيعات وضرائب المشتريات، مكتوبة لكل سطر، بما في ذلك الأصناف الخاضعة لنسبة الصفر والمعفاة.
  8. المبيعات والمشتريات ومتاح في نقطة البيع، كما تريدها فعلاً.
  9. النشر: اتركه غير مفعّل، ولا تنشر إلا بعد مراجعة السعر والضريبة والصور والفئة.
  10. الشركة، إذا كانت لديك أكثر من شركة.

وللمطورين، أسماء الحقول المقابلة في قالب المنتج في Odoo 19 هي `list_price` و`standard_price` و`taxes_id` و`supplier_taxes_id` و`type` و`is_storable` و`categ_id` و`uom_id` و`sale_ok` و`purchase_ok` و`available_in_pos` و`is_published` و`company_id`.

استيراد آمن خطوة بخطوة

  1. ابدأ من قالب Odoo نفسه. من قائمة المنتجات افتح شاشة الاستيراد ونزّل قالب استيراد المنتجات، لتتطابق أسماء الأعمدة.
  2. أضف الأعمدة التي تحتاجها، وعلى الأقل سعر البيع والتكلفة وضرائب المبيعات وضرائب المشتريات وفئة المنتج وتتبع المخزون، واملأ كل خلية.
  3. احتفظ بعمود المعرّف الخارجي (External ID). يتيح لك إعادة استيراد الملف نفسه لاحقاً لتصحيح القيم بدلاً من إنشاء منتجات مكررة.
  4. استورد أولاً إلى نسخة من قاعدة بياناتك. قاعدة بيانات تجريبية لا تكلّف شيئاً مقارنة بتنظيف متجر حي.
  5. اضغط "اختبار" قبل "استيراد". يفحص Odoo الملف ويعرض الأخطاء قبل إنشاء أي سجل.
  6. استورد والنشر غير مفعّل. ثم راجع المنتجات وانشرها على دفعات.
  7. افحص النتيجة بالفلاتر التالية قبل الإعلان عن المنتجات.

وإذا كنت تنقل كتالوجاً كاملاً من نظام آخر، فإن دليل ترحيل البيانات يغطي الخطة الأشمل.

كيف تجد المنتجات التي مرّت بالخطأ

لا تحتاج إلى مطوّر لهذا. من المبيعات ‣ المنتجات ‣ المنتجات (أو من المخزون)، انتقل إلى عرض القائمة ثم:

  • أضف فلتراً مخصصاً سعر البيع = 1 لتجد الأسعار المؤقتة؛
  • جمّع حسب ضرائب المبيعات لترى المنتجات التي تحمل الضريبة الافتراضية، أو ضريبة مختلفة، أو لا ضريبة؛
  • فلتر حسب النشر لترى أيّها ظاهر على الموقع، وألغِ نشره حتى يُصحَّح؛
  • فلتر حسب تتبع المخزون للسلع التي يجب تتبع مخزونها.

تُسجَّل تغييرات سعر البيع في سجل المحادثات (Chatter) الخاص بالمنتج، فتعرف متى تغيّر السعر ومن غيّره.

سعر الصرف في أوامر الشراء

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

قبل الشراء بعملة أجنبية:

  • افتح المحاسبة ‣ التهيئة ‣ العملات وتحقق من تاريخ أحدث سعر لكل عملة مفعّلة؛
  • فعّل أسعار العملات التلقائية في المحاسبة ‣ التهيئة ‣ الإعدادات (قسم العملات)، واختر الخدمة واجعل الفاصل الزمني يومياً، أو أدخل السعر بنفسك قبل كل أمر؛
  • انتبه أكثر للعملات التي يتغير سعرها مقابل الريال. فالريال العُماني مربوط بالدولار الأمريكي، لكن أسعار اليورو واليوان والروبية تتحرك.

المزيد في دليلنا عن المحاسبة متعددة العملات للمستوردين في عُمان.

قبل التشغيل الفعلي

  • اتفق مع محاسبك على ضريبة المبيعات والمشتريات الافتراضية، وتحقق منها في إعدادات المحاسبة.
  • مرّر كل ملف منتجات على قاعدة بيانات تجريبية وزر "اختبار" أولاً.
  • أبقِ المنتجات الجديدة غير منشورة حتى تُراجع الأسعار والضرائب والفئات. وإذا كنت تبيع عبر الإنترنت، فأضف ذلك إلى قائمة إطلاق المتجر الإلكتروني.
  • تحقق من أسعار صرف كل عملة أجنبية تشتري بها.
  • بعد الاستيراد، شغّل فلتر سعر البيع = 1 والتجميع حسب ضرائب المبيعات مرة أخرى.

تحتاج إلى مراجعة ثانية؟

إذا كنت على وشك تحميل كتالوج منتجاتك إلى Odoo 19، أو تشك في أن بعض المنتجات نُشرت بسعر أو ضريبة خاطئة، يمكنني مراجعة ملف الاستيراد والضرائب الافتراضية وأسعار الصرف معك. تعرّف على طريقة عملي في تنفيذ Odoo في عُمان، أو احجز مراجعة مجانية مدتها 30 دقيقة.

أدلة ذات صلة

احجز مراجعة مجانية لـ Odoo مدتها 30 دقيقة

أحضر ملف استيراد منتجاتك أو قائمة بالمنتجات التي تبدو خاطئة، ونراجع معاً الأسعار والضرائب الافتراضية وأسعار الصرف.

احجز مراجعتك المجانية

مبيعات نقاط البيع في Odoo وإقرار ضريبة القيمة المضافة: لماذا لا تتطابق الأرقام
قائمة مبيعاتك من الفواتير أقل من إقرار ضريبة القيمة المضافة؟ المبيعات الناقصة غالباً هي طلبات نقاط البيع التي لم تُصدر لها فواتير. إليك أين يسجلها Odoo 19 وكيف تطابق أرقام الربع.
راسلني على واتساب