المواصفات الفنية والمرجع المعماري لمنظومة الفوترة الإلكترونية السعودية (فاتورة)
مرجع هندسي وتنظيمي موسوعي لمنظومة الفوترة الإلكترونية الوطنية الصادرة عن هيئة الزكاة والضريبة والجمارك (ZATCA) في المملكة العربية السعودية، يتناول الإطار التشريعي للمرحلتين الأولى والثانية، مخطط XML وفق معيار OASIS UBL 2.1، الختم التشفيري بمنحنى secp256k1، التسلسل التشفيري للفواتير عبر تجزئة SHA-256، وبنية رمز الاستجابة السريعة الثنائية (TLV).
- معرف الوثيقة
- KSA-ZATCA-TECH-SPEC
- مخطط البيانات
- OASIS UBL 2.1
- خوارزمية التوقيع
- ECDSA secp256k1 + SHA-256
- تاريخ التحديث
1. الإطار التشريعي والمرحلتان التنظيميتان
أُقرّت منظومة الفوترة الإلكترونية في المملكة العربية السعودية — والمعروفة رسمياً باسم منظومة «فاتورة» (Fatoora) — بموجب قرار مجلس إدارة هيئة الزكاة والضريبة والجمارك (الهيئة العامة للزكاة والدخل سابقاً) رقم (2-6-20) وتاريخ 19 ربيع الآخر 1442هـ الموافق 4 ديسمبر 2020م، وتبعتها في 28 مايو 2021م وثيقة «الضوابط والمتطلبات والمواصفات الفنية والقواعد الإجرائية اللازمة لتنفيذ أحكام لائحة الفوترة الإلكترونية».
تسري اللائحة على جميع المكلفين المقيمين الخاضعين لضريبة القيمة المضافة في المملكة (وأي طرف ثالث يصدر فواتير ضريبية نيابةً عنهم)، ويُطبق الإلزام عبر مرحلتين رئيسيتين:
- المرحلة الأولى — مرحلة الإصدار والحفظ (Generation Phase)، دخلت حيز النفاذ في 4 ديسمبر 2021م: أوقفت إصدار الفواتير اليدوية أو المكتوبة عبر برامج تحرير النصوص غير المهيكلة، وألزمت المكلفين بإصدار وحفظ الفواتير الضريبية والفواتير الضريبية المبسطة والإشعارات الدائنة والمدينة إلكترونياً عبر نظام فوترة متوافق، مع تضمين رمز استجابة سريعة (QR Code) مشفر بصيغة (TLV Base64) يحتوي على خمسة وسوم أساسية (الوسوم 1 إلى 5).
- المرحلة الثانية — مرحلة الربط والتكامل (Integration Phase)، دخلت حيز النفاذ في 1 يناير 2023م على مجموعات متتالية:
تُلزم بربط أنظمة الفوترة الإلكترونية الخاصة بالمكلفين مباشرةً مع منصة «فاتورة» التابعة للهيئة عبر واجهات برمجة التطبيقات (APIs)، وإصدار الفواتير بصيغة XML المطابقة لمعيار OASIS UBL 2.1 (ISO/IEC 19845:2015)، وتطبيق التسلسل التشفيري لمنع التلاعب عبر تضمين تجزئة الفاتورة السابقة (PIH) بخوارزمية SHA-256، وتوقيع كل فاتورة بختم تشفيري رقمي (CSID) مبني على المنحنى الإهليلجي
secp256k1، مع إضافة أربعة وسوم تشفيرية جديدة لرمز الاستجابة السريعة (الوسوم 6 إلى 9).
2. تصنيف الفواتير ونماذج الاعتماد والإبلاغ
وفقاً للمادة (53) من اللائحة التنفيذية لنظام ضريبة القيمة المضافة وقاموس بيانات الفوترة الإلكترونية، تُصنف الوثائق الضريبية إلكترونياً عبر عنصر cbc:InvoiceTypeCode (قائمة رموز UN/CEFACT 1001) والسمة الفرعية المكونة من سبعة محارف name="NNPNESB":
| فئة الوثيقة الضريبية | البادئة الفرعية (NN) | رموز النوع (cbc:InvoiceTypeCode) | نموذج الإرسال في المرحلة الثانية |
|---|---|---|---|
| الفاتورة الضريبية القياسية (بين المنشآت B2B / B2G) | 01xxxxx | 388 (فاتورة)، 381 (إشعار دائن)، 383 (إشعار مدين)، 386 (دفعة مقدمة) | الاعتماد الفوري المسبق (Clearance): يُرسل ملف XML لحظياً إلى منصة فاتورة قبل مشاركته مع المشتري؛ تتحقق الهيئة من صحة البنية والتوقيع وتضيف ختم الاعتماد الرسمي ورمز QR ثم تعيد الفاتورة المعتمدة لتسليمها للمشتري. |
| الفاتورة الضريبية المبسطة (للافراد ونقاط البيع B2C) | 02xxxxx | 388 (فاتورة)، 381 (إشعار دائن)، 383 (إشعار مدين) | الإبلاغ اللاحق خلال 24 ساعة (Reporting): يوقّع نظام نقاط البيع الفاتورة محلياً بشهادة الإنتاج (PCSID) ويطبعها للمستهلك فوراً مع رمز QR المكون من 9 وسوم، ثم يرفع ملف XML إلى منصة فاتورة خلال 24 ساعة كحد أقصى. |
3. معمارية OASIS UBL 2.1 وسلسلة التجزئة (PIH)
تُبنى كل فاتورة إلكترونية في المرحلة الثانية بصيغة XML بترميز UTF-8 (دون علامة ترتيب البايت BOM) وفق مخطط OASIS UBL 2.1 (راجع دليل مخطط XML التفصيلي). ولمنع الحذف اللاحق أو تعديل الفواتير الصادرة، يلتزم كل جهاز أو وحدة إصدار فواتير إلكترونية (EGS) بسجل تسلسلي غير قابل للتراجع يرتكز على ثلاثة عناصر إلزامية:
- المعرف الفريد العالمي (UUID —
KSA-1/cbc:UUID): معرف فريد من الإصدار الرابع (RFC 4122 UUID v4) يميز كل وثيقة ضريبية على مستوى السجل الوطني. - عداد الفواتير التسلسلي (ICV —
KSA-16): رقم صحيح متزايد غير قابل لإعادة الضبط (1, 2, 3, ...) لكل وحدة تقنية. - تجزئة الفاتورة السابقة (PIH —
KSA-13): بصمةSHA-256المشفرة بصيغة Base64 لملف XML الخاص بالفاتورة السابقة مباشرةً على نفس الوحدة التقنية. وفي الفاتورة الأولى (ICV = 1) لأي جهاز جديد، تنص المواصفات القياسية على استخدام تجزئة SHA-256 للمحرف النصي"0":
<!-- Genesis Previous Invoice Hash (PIH for ICV = 1: Base64(Hex(SHA-256("0")))) -->
<cac:AdditionalDocumentReference>
<cbc:ID>PIH</cbc:ID>
<cac:Attachment>
<cbc:EmbeddedDocumentBinaryObject mimeCode="text/plain">NWZlY2ViNjZmZmM4NmYzOGQ5NTI3ODZjNmQ2OTZjNzljMmRiYzIzOWRkNGU5MWI0NjcyOWQ3M2EyN2ZiNTdlOQ==</cbc:EmbeddedDocumentBinaryObject>
</cac:Attachment>
</cac:AdditionalDocumentReference>
<!-- Monotonic Invoice Counter Value (ICV) -->
<cac:AdditionalDocumentReference>
<cbc:ID>ICV</cbc:ID>
<cbc:UUID>1</cbc:UUID>
</cac:AdditionalDocumentReference>
ولحساب البصمة التشفيرية للفاتورة الحالية (KSA-14)، يقوم النظام باستثناء عقدة التوقيع <ext:UBLExtensions> وعقدة <cac:Signature> وعقدة رمز الاستجابة السريعة QR عبر تعبيرات XPath، ثم يطبق معيار التطبيع القياسي W3C Canonical XML 1.1 (C14N11)، ويحسب تجزئة SHA-256 الثنائية (32 بايت) قبل تحويلها إلى Base64.
4. الختم التشفيري (CSID) والبنية التحتية للمفاتيح العامة
تعتمد هيئة الزكاة والضريبة والجمارك خوارزمية التوقيع الرقمي بالمنحنيات الإهليلجية ECDSA على المنحنى secp256k1 (معرف الكائن القياسي 1.3.132.0.10) مع دالة التجزئة SHA-256 (ecdsa-with-SHA256). وتمر كل وحدة إصدار فواتير إلكترونية (EGS) بدورة تهيئة تشفيرية من مرحلتين:
- توليد طلب توقيع الشهادة (CSR): تُنشئ الوحدة زوج مفاتيح
secp256k1محلياً وتبني طلب توقيع شهادة بمعيار PKCS#10 يتضمن حقول X.509v3 المخصصة للهيئة داخل الاسم البديل للموضوع (SAN): الرقم التسلسلي للوحدة (1-Vendor|2-Version|3-UUID)، الرقم الضريبي المكون من 15 رقماً (UID)، قناع أنواع الفواتير المدعومة (1100للقياسية والمبسطة معاً)، عنوان الفرع، والنشاط الاقتصادي. - شهادة الامتثال التشفيرية (CCSID): باستخدام رمز تحقق لمرة واحدة (OTP) مكون من 6 أرقام من بوابة فاتورة، يُرسل طلب CSR إلى واجهة الامتثال لإصدار شهادة اختبارية تُستخدم للتحقق من فواتير وإشعارات الاختبار القياسية والمبسطة.
- شهادة الإنتاج التشفيرية (PCSID): بعد اجتياز فحوصات الامتثال، تُصدر الهيئة شهادة الإنتاج النهائية X.509v3 (
PCSID) التي تُستخدم لمصادقة طلبات واجهة برمجة التطبيقات وتضمين تواقيع ETSI XAdES-EPES داخل كتلة<ext:UBLExtensions>.
5. المواصفات الثنائية لرمز الاستجابة السريعة TLV (الوسوم 1–9)
لا يُشفر رمز الاستجابة السريعة (QR Code) في منظومة فاتورة كنص عادي أو رابط ويب، بل يُبنى كمصفوفة بايتات ثنائية بصيغة الوسم-الطول-القيمة (Tag-Length-Value - TLV) ثم تُحول المصفوفة الثنائية بالكامل إلى سلسلة Base64 (راجع دليل ترميز رمز QR). ويتكون كل حقل من بايت واحد لرقم الوسم (0x01–0x09)، يليه طول القيمة بالبايتات، ثم بايتات القيمة الخام:
| رقم الوسم (Tag) | اسم الحقل | رمز قاموس البيانات | ترميز القيمة | نطاق الإلزام | المواصفات الفنية |
|---|---|---|---|---|---|
| 0x01 (1) | اسم المورد (البائع) | BT-27 | UTF-8 String | المرحلة 1 و 2 | الاسم القانوني المسجل لدى الهيئة؛ يُحسب الطول بعدد البايتات في ترميز UTF-8 (وليس عدد الأحرف). |
| 0x02 (2) | رقم تسجيل ضريبة القيمة المضافة للبائع | BT-31 | ASCII Numeric (15 bytes) | المرحلة 1 و 2 | الرقم الضريبي المكون من 15 رقماً والذي يبدأ وينتهي بالرقم 3. |
| 0x03 (3) | الطابع الزمني لإصدار الفاتورة | BT-2 / KSA-25 | ASCII ISO 8601 | المرحلة 1 و 2 | تاريخ ووقت الإصدار بصيغة YYYY-MM-DDTHH:mm:ssZ أو بتوقيت المملكة (UTC+03:00). |
| 0x04 (4) | إجمالي الفاتورة (شاملاً ضريبة القيمة المضافة) | BT-112 | ASCII Decimal | المرحلة 1 و 2 | قيمة الفاتورة الإجمالية مقربة إلى منزلتين عشريتين (مثال: 1150.00). |
| 0x05 (5) | إجمالي مبلغ ضريبة القيمة المضافة | BT-110 | ASCII Decimal | المرحلة 1 و 2 | مجموع الضريبة بالريال السعودي مقرباً إلى منزلتين عشريتين (مثال: 150.00). |
| 0x06 (6) | تجزئة الفاتورة التشفيرية (XML Hash) | KSA-14 | Base64 / Raw SHA-256 | المرحلة 2 فقط | بصمة SHA-256 لملف الفاتورة المعياري (Canonical XML C14N11) بعد استثناء كتلة التوقيع ورمز QR. |
| 0x07 (7) | التوقيع الرقمي (ECDSA Signature) | KSA-15 | Base64 / ASN.1 DER | المرحلة 2 فقط | توقيع رقمي بخوارزمية المنحنى الإهليلجي secp256k1 مولد بالمفتاح الخاص للوحدة التقنية. |
| 0x08 (8) | المفتاح العام (ECDSA Public Key) | KSA-15 | Raw / DER Octets | المرحلة 2 فقط | المفتاح العام المستخرج من شهادة الختم التشفيري X.509 (CSID). |
| 0x09 (9) | توقيع شهادة الهيئة (CA Stamp Signature) | KSA-15 | Raw Octets | المرحلة 2 فقط | التوقيع التشفيري لمركز إصدار الشهادات التابع للهيئة على شهادة المكلف (إلزامي في الفواتير الضريبية المبسطة). |
6. مجموعات الإلزام بالربط والتكامل (المجموعات 1–24)
تُشعر هيئة الزكاة والضريبة والجمارك كل مجموعة من المكلفين قبل ستة أشهر على الأقل من تاريخ إلزامهم بالربط والتكامل في المرحلة الثانية بناءً على إجمالي الإيرادات السنوية الخاضعة لضريبة القيمة المضافة بالريال السعودي:
| مجموعة الربط | حد الإيرادات السنوية الخاضعة للضريبة | السنوات المرجعية | فترة الإلزام بالربط والتكامل |
|---|---|---|---|
| المجموعة 1 | أكثر من 3 مليارات ريال | 2021 | 1 يناير 2023 – 30 يونيو 2023 |
| المجموعة 2 | أكثر من 500 مليون ريال | 2021 | 1 يوليو 2023 – 31 ديسمبر 2023 |
| المجموعة 3 | أكثر من 250 مليون ريال | 2021 أو 2022 | 1 أكتوبر 2023 – 31 يناير 2024 |
| المجموعة 4 | أكثر من 150 مليون ريال | 2021 أو 2022 | 1 نوفمبر 2023 – 29 فبراير 2024 |
| المجموعة 5 | أكثر من 100 مليون ريال | 2021 أو 2022 | 1 ديسمبر 2023 – 31 مارس 2024 |
| المجموعة 6 | أكثر من 70 مليون ريال | 2021 أو 2022 | 1 يناير 2024 – 30 أبريل 2024 |
| المجموعة 7 | أكثر من 50 مليون ريال | 2021 أو 2022 | 1 فبراير 2024 – 31 مايو 2024 |
| المجموعة 8 | أكثر من 40 مليون ريال | 2021 أو 2022 | 1 مارس 2024 – 30 يونيو 2024 |
| المجموعة 9 | أكثر من 30 مليون ريال | 2021 أو 2022 | 1 يونيو 2024 – 30 سبتمبر 2024 |
| المجموعة 10 | أكثر من 25 مليون ريال | 2022 أو 2023 | 1 أكتوبر 2024 – 31 ديسمبر 2024 |
| المجموعة 11 | أكثر من 15 مليون ريال | 2022 أو 2023 | 1 نوفمبر 2024 – 31 يناير 2025 |
| المجموعة 12 | أكثر من 10 ملايين ريال | 2022 أو 2023 | 1 ديسمبر 2024 – 28 فبراير 2025 |
| المجموعة 13 | أكثر من 7 ملايين ريال | 2022 أو 2023 | 1 يناير 2025 – 31 مارس 2025 |
| المجموعة 14 | أكثر من 5 ملايين ريال | 2022 أو 2023 | 1 فبراير 2025 – 30 أبريل 2025 |
| المجموعة 15 | أكثر من 4 ملايين ريال | 2022 أو 2023 | 1 مارس 2025 – 31 مايو 2025 |
| المجموعة 16 | أكثر من 3 ملايين ريال | 2022 أو 2023 | 1 أبريل 2025 – 30 يونيو 2025 |
| المجموعة 17 | أكثر من 2.5 مليون ريال | 2022 أو 2023 | 1 مايو 2025 – 31 يوليو 2025 |
| المجموعة 18 | أكثر من 2 مليون ريال | 2022 أو 2023 | 1 يونيو 2025 – 31 أغسطس 2025 |
| المجموعة 19 | أكثر من 1.75 مليون ريال | 2022 أو 2023 | 1 يوليو 2025 – 30 سبتمبر 2025 |
| المجموعة 20 | أكثر من 1.5 مليون ريال | 2022 أو 2023 | 1 أغسطس 2025 – 31 أكتوبر 2025 |
| المجموعة 21 | أكثر من 1.25 مليون ريال | 2022 أو 2023 أو 2024 | 1 سبتمبر 2025 – 30 نوفمبر 2025 |
| المجموعة 22 | أكثر من 1 مليون ريال | 2022 أو 2023 أو 2024 | 1 أكتوبر 2025 – 31 ديسمبر 2025 |
| المجموعة 23 | أكثر من 750 ألف ريال | 2022 أو 2023 أو 2024 | 1 ديسمبر 2025 – 31 مارس 2026 |
| المجموعة 24 | أكثر من 375 ألف ريال | 2022 أو 2023 أو 2024 | 1 مارس 2026 – 30 يونيو 2026 |
7. المراجع النظامية والمعايير القياسية
- هيئة الزكاة والضريبة والجمارك (ZATCA): لائحة الفوترة الإلكترونية، الصادرة بقرار مجلس الإدارة رقم (2-6-20) وتاريخ 19/04/1442هـ الموافق 4 ديسمبر 2020م، الرياض، المملكة العربية السعودية.
- هيئة الزكاة والضريبة والجمارك (ZATCA): الضوابط والمتطلبات والمواصفات الفنية والقواعد الإجرائية اللازمة لتنفيذ أحكام لائحة الفوترة الإلكترونية، 28 مايو 2021م وتعديلاتها.
- هيئة الزكاة والضريبة والجمارك (ZATCA): معيار تطبيق الفاتورة الإلكترونية بصيغة XML وقاموس البيانات (Electronic Invoice XML Implementation Standard & Data Dictionary) ومعيار تطبيق المواصفات الأمنية.
- ISO/IEC 19845:2015 / OASIS UBL 2.1: Information technology — OASIS Universal Business Language version 2.1 (UBL v2.1).
- W3C XML-C14N11: Canonical XML Version 1.1, W3C Recommendation, 2 May 2008.
- ETSI EN 319 132-1: Electronic Signatures and Infrastructures (ESI); XAdES digital signatures.