تطلب زكاتكا (هيئة الزكاة والضريبة والجمارك) من جميع الشركات الخاضعة للضريبة في السعودية إصدار فواتير إلكترونية بتنسيق 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):
- ١. اسم البائع
- ٢. رقم الضريبة (TRN)
- ٣. الطابع الزمني للفاتورة (ISO 8601)
- ٤. إجمالي الفاتورة (مع الضريبة)
- ٥. إجمالي مبلغ الضريبة
- ٦. التوقيع الرقمي (من CSD)
مثال ترميز TLV (مبسط): |اسم البائع|١٢٣٤٥٦٧٨٩٠١٢٣٤٥|٢٠٢٦-٠٣-٣٠T١٤:٣٠:٠٠Z|١١٥٠.٠٠|١٥٠.٠٠|توقيع|
🔧 خطوات التكامل
- ١. الحصول على شهادة CSD من مزود معتمد من زكاتكا
- ٢. إنشاء حمولة XML وفقًا لمخطط UBL 2.1
- ٣. حساب الطابع التشفيري وتضمينه في رمز QR
- ٤. توقيع الفاتورة بشهادة CSD
- ٥. التقديم على بوابة فاتورة (نقطة نهاية الموافقة أو الإبلاغ)
- ٦. تلقي رد زكاتكا ومشاركة فاتورة QR مع المشتري
الأسئلة الشائعة
هل يمكنني استخدام JSON بدلاً من XML؟
لا. تطلب زكاتكا XML بتنسيق UBL 2.1 لكل من نموذجي الموافقة والإبلاغ. JSON غير مقبول.
ما الفرق بين الفاتورة المبسطة والقياسية؟
الفواتير المبسطة (أقل من ١٠٠٠ ريال لـ B2C) تحتوي على حقول مطلوبة أقل. تتطلب الفواتير القياسية TRN المشتري وتفاصيل العنوان.
كيف أختبر قالب XML الخاص بي؟
استخدم بيئة الاختبار (بوابة المحاكاة) من زكاتكا. توفر أدوات تحقق للتحقق من هيكل XML قبل الإنتاج.
هل هناك موعد نهائي لتنفيذ XML؟
تختلف مواعيد تكامل المرحلة الثانية حسب إيرادات الشركة. دافعي الضرائب الكبار (أكثر من ٣ ملايين ريال) لديهم مواعيد أقدم. تحقق من بوابة زكاتكا لتاريخك المحدد.