
تكامل Odoo
فوترة إلكترونية في الإمارات لـ Odoo — PINT-AE بسيطة
ترتبط تراست بل بمثيل Odoo الخاص بك على شبكة الفوترة الإلكترونية للهيئة الاتحادية للضرائب. سواء كنت تستخدم Odoo مستضافًا أو Odoo.sh، نتولى تحويل PINT-AE XML والتحقق والإرسال عبر ASP معتمد — دون الحاجة لهجرة ERP.
هل يدعم Odoo PINT-AE مباشرة؟
يوفر Odoo فوترة إلكترونية عبر Peppol لعدة دول، لكن الإمارات العربية المتحدة ليست في قائمة Peppol الأصلية حاليًا ولا توجد وحدة PINT-AE رسمية في الإصدارات الحديثة. هذا يعني أن Odoo لن ينشئ ملف PINT-AE XML أو يرسل الفواتير عبر مزود خدمة معتمد في الإمارات من تلقاء نفسه. الحل هو موصل PINT-AE معتمد. تعمل تراست بل كجسر ASP: تقرأ بيانات الفاتورة من Odoo، وتحولها إلى PINT-AE XML، وترسلها إلى شبكة الهيئة نيابة عنك.
تعيين حقل Odoo ← PINT-AE
التعيين الدقيق الذي يطبّقه تراست بل عند تحويل سجل `account.move` في Odoo (عبر XML-RPC / JSON-RPC أو Automated Actions webhook) إلى PINT-AE XML. أسماء الحقول أدناه هي معرّفات حقول نموذج Odoo 15–18؛ الحقول المخصصة عبر Studio تتبع نفس الاصطلاحات بعد إنشائها. احتفظ بهذا الجدول قبل تكوين ضرائب Odoo وبيانات الشركاء الرئيسية.
| حقل Odoo | حقل PINT-AE / UBL 2.1 | ملاحظة |
|---|---|---|
| account.move.name | cbc:ID | تسلسل فاتورة Odoo. يجب أن يكون فريدًا عبر جميع الإرساليات. |
| account.move.invoice_date | cbc:IssueDate | تاريخ ISO. لا يجب أن يكون في المستقبل. |
| res.partner.vat (شريك) | cac:AccountingCustomerParty/cac:PartyTaxScheme/cbc:CompanyID | TRN المشتري — 15 رقمًا. اضبطه على سجل الشريك (Contacts). |
| res.company.vat | cac:AccountingSupplierParty/cac:PartyTaxScheme/cbc:CompanyID | TRN الخاص بك. اضبطه مرة على سجل res.company. |
| account.move.line.name / product_id.name | cac:InvoiceLine/cbc:Description أو cac:Item/cbc:Name | نص بند السطر. UTF-8؛ ترجمات المنتج العربية محفوظة. |
| account.move.line.quantity × price_unit | cbc:LineExtensionAmount, cbc:BaseQuantity, cac:Price/cbc:PriceAmount | PINT-AE يُعيد بناء إجمالي البند من الكمية × السعر. |
| account.move.line.tax_ids → account.tax.name | cac:ClassifiedTaxCategory (S=5%, Z=0%, E=معفى, O=خارج النطاق) | سجل ضريبة Odoo يجب أن يُطابق فئة PINT-AE عبر Tax Mapping في تراست بل. |
| account.move.currency_id | cbc:DocumentCurrencyCode | AED للمحلي؛ غير AED يحتاج معدل عملة لتاريخ الفاتورة. |
| account.move.amount_total | cac:LegalMonetaryTotal/cbc:PayableAmount | مُطابق مع إجماليات البنود + الضرائب؛ عدم تطابق = فشل تحقق. |
| res.partner.x_free_zone (حقل Studio) | علم namespace امتداد؛ فئة الضريبة مُشتقة | أضف الحقل المخصص إلى نموذج الشريك مرة عبر Studio. |
| account.move.narration / x_advance_uuid | cac:DocumentReference لربط الدفعة المقدمة (النوع 386) | عبّئ على أي فاتورة تسترد دفعة مقدمة سابقة. |
| account.move.reversed_entry_id (إشعار دائن) | cbc:InvoiceTypeCode="381"؛ cac:BillingReference/cac:InvoiceDocumentReference | الإشعارات الدائنة في Odoo يجب أن تُنشأ من الفاتورة المصدر عبر 'Add Credit Note'، وليس مستقلة. |
أخطاء التحقق الشائعة Odoo ← PINT-AE
أكثر ثمانية أخطاء تحقق تُصادَف عندما تفشل فاتورة Odoo في فحوصات PINT-AE، وما يجب إصلاحه بالضبط في Odoo لتصفيتها. لوحة تحكم تراست بل تُظهر هذه الرموز بتفسيرات واضحة؛ الجدول أدناه هو النسخة المرجعية.
| رمز الخطأ | المعنى | الإصلاح في Odoo (15–18) |
|---|---|---|
| PAE-BR-01 | TRN المشتري مفقود أو غير صحيح. | Contacts ← حرّر الشريك ← اضبط Tax ID (vat) إلى TRN من 15 رقمًا. الدولة يجب أن تكون الإمارات العربية المتحدة. |
| PAE-BR-04 | TRN البائع مفقود. | Settings ← Users & Companies ← Companies ← تحرير ← اضبط Tax ID. |
| PAE-BR-11 | عدم تطابق إجمالي البند (كمية × سعر ≠ إجمالي البند). | في الفاتورة، حرّر البند وصحّح التقريب على Quantity أو Unit Price بحيث يتوافق المبلغ. تحقق من إعدادات Decimal Precision إذا تكررت المشكلة. |
| PAE-BR-12 | ضريبة Odoo غير مطابقة لفئة PINT-AE. | تراست بل ← Settings ← Tax Mapping. اربط كل ضريبة Odoo (5% VAT، 0% Zero Rated، VAT Exempt، إلخ) بفئة PINT-AE (S / Z / E / O). |
| PAE-BR-14 | العملة ليست AED ولا يوجد مرجع سعر FX مُقدّم. | Settings ← Companies ← تحقق من تفعيل Multi-Currency وتكوين الأسعار لتاريخ الفاتورة. |
| PAE-BR-21 | الإشعار الدائن يفتقر إلى مرجع فاتورة أم صالح. | في Odoo، افتح الفاتورة المصدر ← Actions ← Add Credit Note. لا تُنشئ الإشعار الدائن كإدخال مستقل. |
| PAE-BR-22 | فاتورة الدفعة المقدمة غير مرتبطة باستردادها. | أضف حقل Studio باسم x_advance_uuid على account.move وعبّئه على فاتورة الاسترداد بـ UUID فاتورة الدفعة المقدمة. |
| PAE-BR-31 | علم المنطقة الحرة مُعلّم لكن رمز مكان التوريد غير موجود. | في نموذج الشريك، اضبط حقل Studio للمنطقة الحرة وتأكد من أن شارع/مدينة عنوان الشحن يتضمنان اسم المنطقة الحرة. |
Odoo مستضاف مقابل Odoo.sh للفوترة الإلكترونية في الإمارات
يعمل الخياران مع تراست بل. يمنحك Odoo المستضاف تحكمًا كاملًا في الخادم ويسمح بتثبيت أي وحدة موصل من متجر تطبيقات Odoo. أما Odoo.sh فهو منصة سحابية مدارة وأسهل في الصيانة، لكنه لا يزال يحتاج إلى جسر PINT-AE لأن الإمارات غير مدعومة أصليًا. تتكامل تراست بل عبر API آمن مع أي من البيئتين، لذلك لا تحتاج لتغيير خيار الاستضافة للامتثال.
الجدول الزمني لإعداد Odoo والمعالم الرئيسية
تستغرق معظم عمليات طرح الفوترة الإلكترونية لـ Odoo من 4 إلى 8 أسابيع من البدء حتى الإطلاق. العمل الأكبر يتركز في جودة البيانات: تنظيف أرقام TRN للشركاء، وتأكيد رموز معالجة ضريبة القيمة المضافة، وربط بنود الفاتورة بحقول PINT-AE، وتشغيل اختبارات Sandbox. المواعيد النهائية محددة بموجب قرارات وزارية 243 و244 لعام 2025: يجب على الشركات الكبيرة الإطلاق في 1 يناير 2027، وعلى الشركات الصغيرة والمتوسطة في 1 يوليو 2027. نظرًا للوقت المطلوب للإعداد والاختبار، هذا مشروع 2026 وليس 2027.
دعم الشركات المتعددة وضريبة القيمة المضافة في الإمارات
يتناسب هيكل الشركات المتعددة في Odoo مع متطلبات الإمارات. يمكن لكل شركة تسجيل رقم ضريبي واسم قانوني وعنوان وإعدادات ضريبية خاصة. تستخدم تراست بل سياق الشركة لتوليد وتوجيه فواتير PINT-AE لكل كيان قانوني، مما يعالج سيناريوهات البر الرئيسي والمناطق الحرة ومجموعات ضريبة القيمة المضافة دون الحاجة للفصل اليدوي. كما نقوم بربط الحقول المحددة للإمارات مثل فئات ضريبة القيمة المضافة ونظام الهامش ومؤشرات reverse charge.
أمان البيانات وإقامتها
تتصل تراست بل بـ Odoo باستخدام رموز API عبر TLS 1.3 وتحصل فقط على الحد الأدنى من وصول القراءة المطلوب لبيانات الفاتورة. جميع بيانات PINT-AE XML والبيانات المساندة مشفرة في حالة التخزين باستخدام AES-256-GCM. تُحفظ بيانات الفواتير في منطقة الإمارات للحفاظ على إقامة البيانات لأغراض الضريبة والتدقيق. تتحكم في بيانات اعتماد API ويمكنك إلغاء الوصول في أي وقت من إعدادات مستخدم Odoo.
الأسئلة الشائعة
هل Odoo جاهز لـ PINT-AE؟
ليس من البداية. يدعم Odoo Peppol في عدة دول، لكن الإمارات ليست منها بعد. تحتاج إلى موصل PINT-AE معتمد مثل تراست بل لتحويل فواتير Odoo وإرسالها عبر ASP معتمد.
هل أستخدم Odoo مستضافًا أم Odoo.sh؟
كلاهما يعمل. يمنحك Odoo المستضاف مزيدًا من التحكم في الوحدات والخادم. أما Odoo.sh فهو منصة سحابية مدارة وأسهل في الصيانة. تتكامل تراست بل مع كليهما عبر API آمن.
كم يستغرق الإعداد؟
خطط من 4 إلى 8 أسابيع لتنظيف البيانات وتهيئة الموصل واختبار Sandbox والانضمام إلى ASP. يجب على الشركات الكبيرة الإطلاق بحلول 1 يناير 2027، والشركات الصغيرة والمتوسطة بحلول 1 يوليو 2027.
هل يدعم التكامل الشركات المتعددة؟
نعم. يسمح إعداد الشركات المتعددة في Odoo لكل كيان قانوني بامتلاك رقم ضريبي وإعداداته، وتقوم تراست بل بتوليد وتوجيه فواتير PINT-AE لكل شركة.
كيف تُحفظ بيانات الفواتير آمنة؟
تستخدم تراست بل وصول API عبر TLS 1.3 وتشفير AES-256-GCM في التخزين. تُحفظ البيانات في الإمارات، وتبقى بيانات الاعتماد تحت تحكمك في Odoo.