دليل التكامل الشامل مع منظومة الفاتورة الإلكترونية المصرية 2026:
الربط البرمجي، خوارزمية التسلسل التام، وتجنب غرامات 100,000 ج.م
تعتبر منظومة الفاتورة الإلكترونية في مصر بموجب قانون الإجراءات الضريبية الموحد رقم 206 لسنة 2020 إلزاماً قانونياً صارماً على كافة الشركات والمؤسسات. يستعرض هذا الدليل خطوات الربط مع بوابة مصلحة الضرائب المصرية (ETA API)، تطبيق الختم الرقمي CAdES-BES، خوارزمية التسلسل المعياري (Canonicalization)، وحساب ضرائب الخصم والإضافة (1%، 3%، 5%) بدقة تامة.
تنص المادة (70) من قانون الإجراءات الضريبية الموحد 206/2020 على أنه: "يُعاقب بغرامة لا تقل عن عشرين ألف جنيه (20,000 ج.م) ولا تجاوز مائة ألف جنيه (100,000 ج.م) كل من خالف أحكام المادة (35) من هذا القانون بعدم إصدار الفاتورة الضريبية أو الإيصال المهني أو الإلكتروني أو عدم تسجيلها في المنظومة الإلكترونية لمصلحة الضرائب".
01. المتطلبات الأساسية ورقم التسجيل الضريبي للممول
قبل البدء في إرسال أي فاتورة برمجياً عبر واجهة التطبيقات، يجب على المنشأة استيفاء المتطلبات الفنية والتشريعية التالية:
- رقم التسجيل الضريبي (RIN): يتكون من 9 أرقام مخصصة للمنشأة (مثال: 100-234-567). يُشترط إدراجه بصيغته الرقمية المجردة في معرّف المصدر (Issuer ID).
- شهادة الختم الإلكتروني (Digital Seal): الحصول على وحدة أمان مادية USB Token (طراز ePass2003) أو خادم HSM سحابي معتمد من شركتي Egypt Trust أو Misr Clearing.
- تسجيل نظام ERP في بوابة مصلحة الضرائب: إنشاء ملف تعريف ERP للحصول على مفاتيح الوصول `ClientId` و `ClientSecret1` في بيئة الاختبار وبيئة التشغيل الفعلي.
- أكواد السلع والخدمات (GS1 أو EGS): تكويت كافة المنتجات وفق المعيار العالمي GS1 أو المعيار المصري EGS بالصيغة `EG-{TaxRegistrationNumber}-{InternalCode}` وربطها بكود التصنيف الدولي GPC.
02. خوارزمية التسلسل المعياري (Canonicalization) وحساب SHA-256
تشترط مصلحة الضرائب المصرية تحويل كائن الفاتورة (JSON Document) إلى سلسلة نصية معيارية مشفرة قبل توقيعها رقمياً. أي اختلاف في ترتيب الخصائص أو المسافات البيضاء يؤدي إلى فشل التحقق من الختم وظهور الخطأ الشهير InvalidSignature.
- ترتيب كافة مفاتيح الكائنات تصاعدياً وفق الحروف الأبجدية اللاتينية (Alphabetical Key Sorting).
- تطبيق التسلسل بشكل متداخل (Recursively) على الكائنات والمصفوفات الداخلية.
- إلغاء حقول `signatures` من السلسلة قبل الحساب لمنع التداخل الدائري.
- تنسيق الأرقام العشرية بثبات دون أصفار زائدة غير مبررة.
- حساب بصمة التشفير التراكمية باستخدام خوارزمية SHA-256 (بصيغة Hexadecimal).
const crypto = require('crypto');
/**
* ETA Canonical Serialization Algorithm (Egyptian Tax Authority)
* Recursively serializes JSON payload for SHA-256 signing.
*/
function serializeForEta(obj) {
let serialized = '';
if (Array.isArray(obj)) {
for (const item of obj) {
serialized += serializeForEta(item);
}
} else if (obj !== null && typeof obj === 'object') {
// Sort keys alphabetically
const sortedKeys = Object.keys(obj).sort();
for (const key of sortedKeys) {
if (key === 'signatures') continue; // exclude signature block
serialized += `"${key.toUpperCase()}"`;
serialized += serializeForEta(obj[key]);
}
} else {
// Primitive values
serialized += `"${String(obj)}"`;
}
return serialized;
}
function calculateEtaHash(invoicePayload) {
const canonicalString = serializeForEta(invoicePayload);
const hash = crypto.createHash('sha256').update(canonicalString, 'utf8').digest('hex');
return { canonicalString, hash };
}
module.exports = { serializeForEta, calculateEtaHash };
03. قواعد ضريبة القيمة المضافة والخصم من المنبع (نموذج 41)
في منظومة الفاتورة المصرية، يتم تسجيل الضرائب ضمن مصفوفة `taxableItems` بأكواد ضريبية قياسية محددة من قبل مصلحة الضرائب:
النسبة العامة القياسية هي 14% (كود الفرع: `V009`). تُحسب على إجمالي المبيعات الصافية بعد الخصومات التجارية.
- 1% (W001): توريد سلع وبضائع.
- 3% (W002): خدمات وأعمال تشغيل ومقاولات.
- 5% (W003): أتعاب استشارات، عمولات ومهن حرة.
04. واجهة برمجة التطبيقات وإرسال المستندات (ETA Submission API)
تتم دورة اعتماد الفاتورة عبر خطوتين رئيسيتين مع خوادم مصلحة الضرائب المصرية:
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&client_id={CLIENT_ID}&client_secret={CLIENT_SECRET}
Authorization: Bearer {ACCESS_TOKEN}
Content-Type: application/json
{
"documents": [ /* Array of signed JSON v1.0 invoices */ ]
}
ترجع المنظومة فورياً معرف الإرسال `submissionId` وقائمة بالوثائق المقبولة `acceptedDocuments` والوثائق المرفوضة مع أسباب الرفض المفصلة.
05. نموذج كامل لفاتورة إلكترونية مطابقة لمعايير ETA v1.0
{
"issuer": {
"address": {
"branchID": "0",
"country": "EG",
"governate": "Cairo",
"regionCity": "Maadi",
"streetName": "Road 9",
"buildingNumber": "42"
},
"type": "B",
"id": "100234567",
"name": "شركة أومني تاكس لتقنية المعلومات ش.م.م"
},
"receiver": {
"address": {
"country": "EG",
"governate": "Giza",
"regionCity": "Dokki",
"streetName": "Tahrir St",
"buildingNumber": "101"
},
"type": "B",
"id": "300456789",
"name": "شركة التجارة السريعة ذ.م.م"
},
"documentType": "I",
"documentTypeVersion": "1.0",
"dateTimeIssued": "2026-09-12T10:00:00Z",
"taxpayerActivityCode": "6201",
"internalID": "INV-2026-0045",
"invoiceLines": [
{
"description": "استشارات وتطوير أنظمة الامتثال الضريبي",
"itemType": "EGS",
"itemCode": "EG-100234567-SRV01",
"unitType": "EA",
"quantity": 1,
"unitValue": {
"currencySold": "EGP",
"amountEGP": 25000.00
},
"salesTotal": 25000.00,
"total": 27750.00,
"valueDifference": 0.00,
"totalTaxableFees": 0.00,
"netTotal": 25000.00,
"itemsDiscount": 0.00,
"taxableItems": [
{
"taxType": "T1",
"amount": 3500.00,
"subType": "V009",
"rate": 14.00
},
{
"taxType": "T4",
"amount": 750.00,
"subType": "W002",
"rate": 3.00
}
]
}
],
"totalSalesAmount": 25000.00,
"totalDiscountAmount": 0.00,
"netAmount": 25000.00,
"taxTotals": [
{
"taxType": "T1",
"amount": 3500.00
},
{
"taxType": "T4",
"amount": 750.00
}
],
"totalAmount": 27750.00,
"extraDiscountAmount": 0.00,
"totalItemsDiscountAmount": 0.00,
"signatures": [
{
"signatureType": "I",
"value": "MIIK/gYJKoZIhvcNAQcCoIIK7zCCCusCAQExDTALBglghkgBZQMEAgEwgg..."
}
]
}
06. خطة العمل لضمان الحصانة الضريبية وتفادي غرامات 100,000 ج.م
هل تريد أتمتة الربط بالكامل دون كتابة أكواد معقدة؟
توفر منصة OmniTax AI محركاً متكاملاً يتولى خوارزميات التوقيع، التسلسل المعياري، والاتصال المباشر مع مصلحة الضرائب المصرية بضمان امتثال تام بنسبة 100%.