← الأدلة·ZATCA·6 د قراءة

كيف تولّد QR لفاتورة ZATCA Phase 1 صحيح ١٠٠٪

هيئة الزكاة والضريبة والجمارك السعودية (ZATCA) تشترط QR على كل فاتورة مبسّطة منذ ٢٠٢١. هذا الدليل يشرح الترميز الصحيح بـ TLV وكيف يولّده CD4CD تلقائياً.

الحقول الخمسة المطلوبة

  1. اسم البائع (Tag 1).
  2. الرقم الضريبي للبائع (Tag 2).
  3. طابع الفاتورة الزمني ISO 8601 (Tag 3).
  4. إجمالي الفاتورة بما فيه VAT (Tag 4).
  5. قيمة VAT (Tag 5).

الترميز: TLV ثم Base64

كل حقل يُكتب كـ Tag (1 byte) | Length (1 byte) | Value (UTF-8). تُجمَع الخمسة، ثم تُشفّر بـ base64.

// مثال Node.js
function toTLV(tag, value) {
  const v = Buffer.from(value, 'utf8');
  return Buffer.concat([Buffer.from([tag, v.length]), v]);
}

const tlv = Buffer.concat([
  toTLV(1, 'متجر الجزيرة'),
  toTLV(2, '300012345600003'),
  toTLV(3, '2026-05-13T15:30:00Z'),
  toTLV(4, '115.00'),
  toTLV(5, '15.00'),
]);
const base64 = tlv.toString('base64');

كيف CD4CD يفعلها لك

عبر REST API:

POST /v1/qr
{
  "type": "zatca",
  "data": {
    "sellerName":  "متجر الجزيرة",
    "vatNumber":   "300012345600003",
    "timestamp":   "2026-05-13T15:30:00Z",
    "totalAmount": "115.00",
    "vatAmount":   "15.00"
  }
}

التحقق

استخدم تطبيق ZATCA Scanner الرسمي. إذا قرأ الحقول الخمسة بشكل صحيح — الكود قانوني.


جاهز لتطبيق ما قرأته؟

افتح حساباً مجاناً، أو ادخل لوحة التحكم.

ابدأ مجاناًلوحة التحكم