الحقول الخمسة المطلوبة
- اسم البائع (Tag 1).
- الرقم الضريبي للبائع (Tag 2).
- طابع الفاتورة الزمني ISO 8601 (Tag 3).
- إجمالي الفاتورة بما فيه VAT (Tag 4).
- قيمة 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 الرسمي. إذا قرأ الحقول الخمسة بشكل صحيح — الكود قانوني.