قالب الفاتورة الإلكترونية لزكاتكا

دليل كامل لتنسيق XML UBL 2.1 والحقول المطلوبة وإنشاء رمز QR وأمثلة التكامل

📅 آخر تحديث: April 01, 2026

تطلب زكاتكا (هيئة الزكاة والضريبة والجمارك) من جميع الشركات الخاضعة للضريبة في السعودية إصدار فواتير إلكترونية بتنسيق XML موحد (UBL 2.1) مع حقول محددة وطوابع تشفيرية ورموز QR. فيما يلي المواصفات الفنية الكاملة والقالب القابل للتنزيل.

الحقول المطلوبة في فاتورة زكاتكا

اسم الحقلالوصفالمتطلب
اسم البائعالاسم القانوني للمكلف الذي يصدر الفاتورةإلزامي
رقم الضريبة (TRN)رقم التسجيل الضريبي (١٥ رقمًا)إلزامي
تاريخ ووقت الفاتورةوقت الإصدار (بتنسيق ISO 8601)إلزامي
رقم الفاتورةرقم تسلسلي فريدإلزامي
اسم المشتريلفواتير B2B (إذا كان TRN متاحًا)شرطي
TRN المشتريرقم التسجيل الضريبي للمشتري (لـ B2B)شرطي
بنود العناصرالوصف والكمية وسعر الوحدة ونسبة الضريبة لكل عنصرإلزامي
المجموع الفرعيالإجمالي قبل الضريبةإلزامي
مبلغ الضريبةمبلغ الضريبة (١٥٪ أو النسبة المطبقة)إلزامي
الإجمالي المستحقالمجموع الفرعي + الضريبةإلزامي
رمز QR (الطابع التشفيري)سلسلة مشفرة بـ Base64 تحتوي على تفاصيل البائع والطابع الزمني وإجمالي الفاتورة والضريبة والتوقيع الرقميإلزامي

💻 نموذج XML (UBL 2.1) - متوافق مع زكاتكا

<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cbc:ProfileID>reporting:1.0</cbc:ProfileID>
  <cbc:ID>INV-٢٠٢٦-٠٠١</cbc:ID>
  <cbc:IssueDate>٢٠٢٦-٠٣-٣٠</cbc:IssueDate>
  <cbc:IssueTime>١٤:٣٠:٠٠</cbc:IssueTime>
  <cbc:InvoiceTypeCode>٣٨٨</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode>SAR</cbc:DocumentCurrencyCode>
  <cac:AccountingSupplierParty>
    <cac:Party>
      <cac:PartyName><cbc:Name>اسم شركتك</cbc:Name></cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>شارع الأعمال</cbc:StreetName>
        <cbc:CityName>الرياض</cbc:CityName>
        <cbc:CountrySubentity>منطقة الرياض</cbc:CountrySubentity>
        <cac:Country><cbc:IdentificationCode>SA</cbc:IdentificationCode></cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>١٢٣٤٥٦٧٨٩٠١٢٣٤٥</cbc:CompanyID>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:PartyTaxScheme>
    </cac:Party>
  </cac:AccountingSupplierParty>
  <cac:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="SAR">١٠٠٠.٠٠</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="SAR">١٠٠٠.٠٠</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="SAR">١١٥٠.٠٠</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="SAR">١١٥٠.٠٠</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="SAR">١٥٠.٠٠</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="SAR">١٠٠٠.٠٠</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="SAR">١٥٠.٠٠</cbc:TaxAmount>
      <cac:TaxCategory>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
</Invoice>

🔐 إنشاء رمز QR لفاتورة زكاتكا

يحتوي رمز QR (الطابع التشفيري) على سلسلة مشفرة بـ Base64 للحقول التالية بتنسيق العلامة-الطول-القيمة (TLV):

مثال ترميز TLV (مبسط): |اسم البائع|١٢٣٤٥٦٧٨٩٠١٢٣٤٥|٢٠٢٦-٠٣-٣٠T١٤:٣٠:٠٠Z|١١٥٠.٠٠|١٥٠.٠٠|توقيع|

🔧 خطوات التكامل

الأسئلة الشائعة

هل يمكنني استخدام JSON بدلاً من XML؟

لا. تطلب زكاتكا XML بتنسيق UBL 2.1 لكل من نموذجي الموافقة والإبلاغ. JSON غير مقبول.

ما الفرق بين الفاتورة المبسطة والقياسية؟

الفواتير المبسطة (أقل من ١٠٠٠ ريال لـ B2C) تحتوي على حقول مطلوبة أقل. تتطلب الفواتير القياسية TRN المشتري وتفاصيل العنوان.

كيف أختبر قالب XML الخاص بي؟

استخدم بيئة الاختبار (بوابة المحاكاة) من زكاتكا. توفر أدوات تحقق للتحقق من هيكل XML قبل الإنتاج.

هل هناك موعد نهائي لتنفيذ XML؟

تختلف مواعيد تكامل المرحلة الثانية حسب إيرادات الشركة. دافعي الضرائب الكبار (أكثر من ٣ ملايين ريال) لديهم مواعيد أقدم. تحقق من بوابة زكاتكا لتاريخك المحدد.