قد تختصر قراءة الفواتير بالذكاء الاصطناعي وقت الإدخال اليدوي، لكن أخطاءها قد لا تظهر إلا بعد أسابيع. في مساء أحد أيام نهاية الشهر، يجلس محاسب في شركة توريد صغيرة أمام كومة من فواتير الموردين. يصوّر كل فاتورة بهاتفه، ويرفعها إلى أداة ذكاء اصطناعي، وينسخ الأرقام التي تعيدها إلى ملف الحسابات. الإجمالي يطابق، والجمع صحيح، والمهمة التي كانت تستغرق ساعتين انتهت في عشر دقائق. بعد ثلاثة أسابيع يكتشف أن الرقم الضريبي لأحد الموردين مكتوب في الملف برقم ناقص خانة، وأن تاريخ فاتورة ظهر في الشهر العاشر بينما هو في الأول. لم تخطئ الأداة في المبلغ أبدًا. أخطأت في الحقول التي لا ينتبه إليها أحد حتى يحتاجها.
هذا مشهد توضيحي من تأليفنا، لكنه يشبه ما رأيناه بالأرقام حين اختبرنا قراءة الفواتير العربية بأداتين من أدوات الذكاء الاصطناعي على 36 فاتورة اصطناعية، صحّحنا إجاباتها بالكود مقابل مفتاح إجابة نعرفه مسبقًا. نعرض في هذا الدليل ما فعلناه بالتفصيل، وما خرجت به الأرقام، وما تقوله هيئة الزكاة والضريبة والجمارك عن الفاتورة العربية (اللغة والأرقام والتواريخ وحفظ السجلات)، ثم نبني معك سير عمل لقراءة الفواتير يستفيد من الأداة دون أن تدفع ثمن أخطائها الصغيرة.
لماذا اختبرنا قراءة الفواتير العربية أصلًا؟
كل بائع أدوات يقول إن أداته «تقرأ المستندات بدقة عالية». لكن وصف «دقة عالية» لا يكفي للحكم على قراءة الفواتير في حالتك إن كان سؤالك محددًا: هل تقرأ فاتورة عربية مطبوعة بخط عادي، مصوّرة بجوال، مائلة قليلًا، وفيها أرقام هندية (٠١٢٣) كما تظهر في كثير من الفواتير المحلية؟ ولا يفيدك أن تعرف أن الأداة «دقيقة في المتوسط» إن كان الخطأ الواحد في رقم ضريبي يعني رفض مصروف أو مشكلة في تسوية ضريبة.
لذلك لم نسأل: هل الأداة جيدة؟ سألنا سؤالًا يمكن قياسه: من أصل 36 فاتورة، كم فاتورة أعادت الأداة منها جميع الحقول المطلوبة على نحو صحيح تمامًا؟ وأين تقع الأخطاء حين تقع؟ ولأن بيانات الفواتير الحقيقية فيها أسماء شركات وأرقام ضريبية وأحيانًا بيانات أفراد، أنشأنا فواتير اصطناعية بالكامل: أسماء خيالية، وأرقام ضريبية خيالية، ومبالغ مولّدة بالكود. وبهذا تصبح تجربة قراءة الفواتير قابلة للقياس: نعرف الجواب الصحيح لكل حقل مسبقًا دون أن نكشف بيانات أحد.

التجربة جزء من سلسلة «مختبر ذكاء عملي» التي ننشر فيها اختبارات على قناتنا في يوتيوب بالمنهج نفسه: بيانات اصطناعية، ومفتاح إجابة مخفي، وتعليمات ومصحّح مجمّدان قبل التشغيل. ويشرح مقال لاحق في هذه السلسلة الطريقة نفسها لتطبّقها على أي أداة وأي مهمة. هنا نركّز على الفواتير.
متطلبات هيئة الزكاة للفواتير وصلتها بقراءة الفواتير
قبل أن نقيس دقة قراءة الفواتير، نحتاج أن نعرف ما الذي يجب أن يكون على الفاتورة أصلًا. نعتمد هنا على مصدرين رسميين من الهيئة: دليل الفوترة الضريبية والسجلات بموجب أحكام ضريبة القيمة المضافة (الإصدار الثالث، مايو 2026)، والدليل المبسط لمتطلبات الفوترة الإلكترونية (الإصدار الأول، يونيو 2022). وللدقة: الدليل المبسط يصف نفسه بأنه للتوعية وغير ملزم قانونيًا، والنسخة العربية هي المرجع عند اختلاف الترجمة، فارجع إلى الأنظمة المعمول بها قبل أي قرار.
اللغة والأرقام والتواريخ
ينص الدليل على أن اللائحة التنفيذية للنظام توجب أن تُحفظ السجلات باللغة العربية وأن تصدر الفواتير باللغة العربية، إضافة إلى أي لغة أخرى تُصدَر بها الفاتورة الضريبية. وكل حقول الفاتورة الضريبية يجب أن تكون بالعربية، والمعلومات المكتوبة بالعربية هي المعتمدة، وما سواها يُعدّ ترجمة. وهذا مهم لمن يقرأ فواتير ثنائية اللغة: إن اختلف الإنجليزي عن العربي فالعربي هو المرجع.
وفي موضوع الأرقام تحديدًا، يوضح الدليل أن الأرقام يجوز كتابتها بالصيغة «123456789» أو «٩٨٧٦٥٤٣٢١» ضمن شرط اللغة العربية. ويجوز استخدام رموز العملات أو رموزها الدولية الرسمية (مثل USD وEUR). وتُكتب التواريخ الرقمية بترتيب «يوم/شهر/سنة». أما حقل تاريخ ووقت إصدار الفاتورة نفسه فيشترط الدليل أن يكون بصيغة YYYY-MM-DD والوقت بصيغة HH:mm:ss. وأما رقم الفاتورة فيجوز أن يكون أرقامًا فقط أو أرقامًا وحروفًا (لاتينية أو عربية) بشرط أن يكون تسلسليًا ويعرّف الفاتورة بشكل فريد. وتُقبل الأسماء الخاصة (أشخاص وأماكن وفروع ومنتجات) بحروف لاتينية.
ماذا يعني هذا لقراءة الفواتير بالأداة؟ يعني أن فواتير الموردين قد تحمل أرقامًا هندية وأخرى غربية، وكلا النوعين مقبول نظامًا. أما التواريخ فالدليل يذكر ترتيبًا محددًا، لكن ما يصل إلى مكتبك في الواقع قد يكون بصيغ مختلفة (فواتير قديمة أو من خارج المملكة أو أنظمة غير متوافقة). فلا تفترض أن مصادرك موحّدة، وصمّم قواعد التحقق لديك على هذا التنوع.
ما هي الفاتورة الإلكترونية، وما الذي لا يُعدّ كذلك؟
يعرّف دليل الهيئة الفاتورة الإلكترونية بأنها فاتورة تصدر وتُخزَّن بصيغة إلكترونية منظمة. وينص صراحة على أن الفاتورة الورقية التي تُحوَّل إلى صيغة إلكترونية بالنسخ أو المسح الضوئي أو أي وسيلة أخرى لا تُعدّ فاتورة إلكترونية. هذه نقطة أساسية لمقالنا: تساعدك قراءة الفواتير بالذكاء الاصطناعي في إدخال بياناتها إلى سجلاتك، لكنها ليست إصدار فاتورة إلكترونية ولا بديلًا عن حلّ فوترة متوافق مع متطلبات الهيئة.
أما المراحل، فبحسب الدليل المبسط: بدأت مرحلة الإصدار (المرحلة الأولى) في 4 ديسمبر 2021، وبدأت مرحلة الربط والتكامل (المرحلة الثانية) في 1 يناير 2023 وتُطبَّق على دفعات بحسب مجموعات المكلفين، وتبلغ الهيئة كل مجموعة قبل موعد الربط بستة أشهر على الأقل. وفي المرحلة الثانية، تُبلَّغ الفاتورة الضريبية المبسطة (الموجهة غالبًا للمستهلك) إلى الهيئة خلال 24 ساعة من إصدارها، بينما تمر الفاتورة الضريبية (الموجهة غالبًا لمنشأة أخرى) بمرحلة «التخليص» لدى الهيئة قبل مشاركتها مع المشتري.
ويتضمن رمز الاستجابة السريعة في الدليل: اسم البائع، ورقم تسجيله في ضريبة القيمة المضافة، وتاريخ الفاتورة ووقتها، ومبلغ الضريبة، والإجمالي شاملًا الضريبة. ولا تعتمد على هذه التواريخ لتعرف موعد التزامك أنت؛ تواصل الهيئة كل مجموعة بموعدها، وتحقق من إشعارات منشأتك.
الضريبة، والرقم الضريبي، والحفظ
رفعت المملكة نسبة ضريبة القيمة المضافة الأساسية من 5٪ إلى 15٪ اعتبارًا من 1 يوليو 2020 بحسب إعلان الهيئة. وهذه النسبة هي ما نستخدمه في كل حساباتنا التجريبية. وإذا كانت الفاتورة تذكر السعر شاملًا الضريبة، يبيّن دليل الفوترة أن مبلغ الضريبة يُحسب كنسبة 15/115 من السعر الشامل (مثال الدليل: سعر شامل 1,255 ريالًا والضريبة 163.70 ريالًا).
وبالنسبة للرقم الضريبي، تذكر مراجع تقنية لمزوّدي حلول الفوترة أن قاعدة التحقق BR-KSA-40 في مواصفات الفوترة الإلكترونية تشترط أن يتكوّن من 15 رقمًا يبدأ وينتهي بالرقم 3. لم نجد هذه القاعدة في الدليلين الرسميين اللذين استندنا إليهما هنا، فارجع إلى المواصفة الرسمية على موقع الهيئة قبل أن تبني عليها نظامك. وهذا مجرد فحص شكلي: رقم بصيغة صحيحة لا يعني أن المنشأة مسجلة فعلًا، والتحقق من التسجيل يتم عبر خدمات الهيئة.
وفيما يخص الحفظ، يحدد الدليل مدة حفظ أساسية لا تقل عن ست سنوات من نهاية الفترة الضريبية ذات الصلة، مع مدد أطول لحالات خاصة (مثل الأصول الرأسمالية المتحركة، والسجلات المتعلقة بالعقارات التي لا تقل عن 15 سنة). وهذه المدة هي سبب آخر لتتأكد أن ما تدخله في سجلاتك من الفواتير صحيح من أول مرة: الخطأ المدخل اليوم سيبقى معك سنوات.
هذه الخلاصة تساعدنا في تصميم اختبار قراءة الفواتير: فواتيرنا الاصطناعية ليست فواتير ضريبية متوافقة (لا تحمل رمز استجابة سريعة ولا ختمًا)، بل نسخ تجريبية تحاكي ما يصل إلى محاسب من موردين مختلفين. الهدف قياس قراءة الأداة للنص والأرقام، لا اختبار التوافق مع متطلبات الهيئة.

كيف صممنا تجربة قراءة الفواتير
الفواتير
ولّدنا 36 فاتورة عربية اصطناعية بالكود لاختبار قراءة الفواتير: ستة تصاميم مختلفة (إيصال حراري ضيق، وجدول بحجم A4، وشريط ملون، وثنائي اللغة، وقائمة مضغوطة، وملخص في الأعلى) في ثلاثة مستويات جودة، ولكل خلية من الجدول حالتان. المستويات هي: نظيفة (صورة واضحة)، ومتوسطة (ميلان وضبابية خفيفة وضغط صورة)، وسيئة التصوير (ميلان أكبر وتباين منخفض وضجيج).
وكتبنا 15 فاتورة بالأرقام الهندية و21 بالأرقام الغربية، وتنوعت صيغ التواريخ (يوم/شهر/سنة وسنة-شهر-يوم) لنحاكي تنوع ما يصل إلى المحاسب، وليس لأننا نعدّ الصيغتين متساويتين نظامًا. وكل رقم ضريبي خيالي من 15 رقمًا يبدأ وينتهي بالرقم 3 كما في القاعدة الشكلية، وفي بعض الفواتير لا يوجد رقم ضريبي أصلًا لنرى هل تخترع الأداة رقمًا غير موجود (لم تفعل في أي حالة).
الحقول المطلوبة من كل فاتورة: رقم الفاتورة، والتاريخ، واسم البائع، والرقم الضريبي (أو لا شيء)، والعملة، وأصناف الفاتورة بكميتها وسعر الوحدة وإجمالي السطر، والمجموع قبل الضريبة، ومبلغ الضريبة، والإجمالي. وعدد الحقول الرئيسية في الرأس ثمانية.
المتسابقان، والشروط
اختبرنا أداتين في قراءة الفواتير بالطريقة التي يستخدمها فريق صغير فعلًا: Claude (النموذج claude-sonnet-5-5 عبر Claude Code وأداة قراءة الملفات) وCodex (النموذج gpt-6-luna عبر Codex CLI مع إرفاق الصورة). أعطينا كلًا منهما صورة الفاتورة نفسها والتعليمات نفسها، وطلبنا ملف JSON بحقول محددة دون شرح. اشترطنا كتابة الأرقام بالصيغة الغربية بنقطة عشرية، وأن يكون التاريخ بصيغة YYYY-MM-DD، وأن تكون القيمة null إذا لم يُطبع الحقل. وللمحافظة على النزاهة، جمّدنا التعليمات والمصحّح ومفتاح الإجابة قبل أي تشغيل على مجموعة الاختبار، وسجّلنا بصمة SHA-256 لكل ملف.
وقعنا في خطأ حقيقي أثناء التجربة نفسها، وننشره كما هو: في أول تشغيل وصلت التعليمات إلى Claude مرتين (مرة كوسيط للأمر ومرة عبر المدخل القياسي) بينما وصلت Codex مرة واحدة. اكتشف ذلك Codex نفسه حين راجع البروتوكول. أعدنا تشغيل Claude على الـ36 فاتورة بتعليمات واحدة، وصارت نتيجته الصحيحة 27 من 36 بدل 25. هذا مثال على سبب اختبار طريقة تشغيل الأدوات المستخدمة في قراءة الفواتير قبل الحكم عليها.
كيف صحّحنا
صحّح الكود كل حقل مقابل المفتاح. الأرقام تُقارن بتسامح 0.005، والنصوص العربية تُوحَّد قبل المقارنة (حذف التشكيل، وتوحيد الألف والهاء والياء)، والأرقام الهندية تُحوَّل إلى غربية، والتاريخ يجب أن يطابق نصًا، والرقم الضريبي ورقم الفاتورة يُقارنان بعد إبقاء الأرقام فقط. و«الفاتورة الصحيحة تمامًا» تعني أن كل الحقول الثمانية وكل أصناف الفاتورة صحيحة معًا، بلا استثناء. لا نعطي درجة جزئية في هذا المقياس لأن فاتورة بخطأ في الرقم الضريبي لا تُعدّ «شبه صحيحة» عمليًا.

نتائج قراءة الفواتير بالأرقام
هذه نتائج تجربة قراءة الفواتير على 36 فاتورة بعد إصلاح تشغيل Claude. نتحدث عن نتائج هذه العينة الاصطناعية بهذه الإعدادات، وليس عن أداء عام لأي أداة:
| المقياس | Claude | Codex |
|---|---|---|
| فواتير صحيحة تمامًا (من 36) | 27 (75٪) | 13 (36٪) |
| دقة حقول الرأس الثمانية | 97.9٪ | 88.9٪ |
| دقة حقول الأصناف | 98.9٪ | 94.7٪ |
| الإجمالي صحيح (من 36) | 36 | 35 |
| رقم ضريبي مُخترَع حيث لا يوجد | 0 | 0 |
| حقول أخطأ فيها كل نموذج (عدد المرات) | رقم ضريبي 4، تاريخ 2 | رقم فاتورة 10، تاريخ 10، رقم ضريبي 9، اسم بائع 1، مجموع 1، إجمالي 1 |
لاحظ الصورة العامة: المبالغ ممتازة عند الاثنين تقريبًا (الإجمالي صحيح في 36 و35 فاتورة)، لكن «الفاتورة الصحيحة تمامًا» أقل بكثير لأن الأخطاء تتركز في حقول أخرى. ولو قسنا دقة قراءة الفواتير بالإجمالي وحده لخرجنا بانطباع أجمل من الواقع.
كم نثق بالفرق؟
عينة من 36 فاتورة صغيرة، لذلك لا نكتفي بالنسب. فاصل الثقة بطريقة ويلسون (95٪) لنسبة الفواتير الصحيحة تمامًا هو من 58.9٪ إلى 86.2٪ لـClaude، ومن 22.5٪ إلى 52.4٪ لـCodex. والمقارنة المزدوجة على الفواتير نفسها: Claude أصاب 15 فاتورة أخطأ فيها Codex، وCodex أصاب فاتورة واحدة أخطأ فيها Claude. نتيجة اختبار ماكنيمار الدقيق (p ≈ 0.0005) دليل قوي ضد تساوي أداء الأداتين في هذه العينة، وهي لا تثبت أن أداة أفضل من الأخرى على فواتيرك أنت. لمن يريد التفاصيل الإحصائية: فواصل الثقة للنسب واختبار ماكنيمار.
أين تقع أخطاء قراءة الفواتير فعلًا؟ أمثلة من تجربتنا
لم تكن الأخطاء عشوائية. هذه عينة من الأخطاء الفعلية كما خرجت، مع الصواب من المفتاح (كلها أرقام خيالية):
| الحقل | الصواب | ما قرأته الأداة | نمط الخطأ |
|---|---|---|---|
| رقم فاتورة (Codex، صورة نظيفة) | 6827673 | 687673 | حذف خانة |
| تاريخ (Codex، صورة نظيفة) | 2026-01-25 | 2026-10-25 | قلب 01 إلى 10 |
| رقم ضريبي (Claude) | 374632662379093 | 3746322662379093 | زيادة خانة (16 رقمًا) |
| رقم ضريبي (Claude) | 351247405370483 | 183-037-3512474 | إعادة ترتيب الأجزاء وإدخال شرطات |
| تاريخ (Codex) | 2026-06-17 | 2017-06-26 | سنة مختلفة كليًا وتبديل في اليوم |
| تاريخ (Codex) | 2026-02-02 | 2020-02-26 | سنة مختلفة وتبديل في اليوم |
| رقم ضريبي (Codex) | 378336426663653 | ٣٧٨٣٦٤٦٦٦٧٦٥٣ | أرقام هندية مخالفة للتعليمات مع نقص خانتين |
| اسم بائع (Codex) | مؤسسة الأفق للتجهيزات | مؤسسة سيسة الأفق للتجهيزات | كلمة زائدة مخترعة |
| رقم فاتورة وتاريخ ورقم ضريبي (Codex، صورة سيئة) | قيم صحيحة | null | امتناع عن القراءة |
خمس ملاحظات من هذه الأخطاء:
- الأخطاء كلها تقريبًا في المعرّفات. الرقم والتاريخ والرقم الضريبي كلها سلاسل أرقام طويلة بلا سياق لغوي يساعد الأداة على التصحيح الذاتي. الأداة تستطيع أن «تخمّن» اسم صنف عربي ناقص، لكنها لا تستطيع أن تخمّن رقمًا من 15 خانة.
- الخطأ غالبًا في خانة واحدة أو اثنتين، لذلك يبدو الناتج معقولًا للعين ويمر في مراجعة سريعة.
- قلب الأشهر والأيام. 01 صارت 10، و10 صارت 01، وأيام تبدّلت أرقامها. هذه أخطاء تاريخ لا تنكشف إلا بالمقارنة مع تاريخ استلام الفاتورة.
- مخالفة التنسيق المطلوب. طلبنا أرقامًا غربية فأعادت أداة قيمًا بالأرقام الهندية أو بشرطات. هذا يكسر أي قاعدة تحقق تعتمد على التنسيق ما لم تُنظَّف المدخلات.
- الامتناع (null) أفضل من التخمين. الأداة التي تقول «لم أقرأ» أنفع لك من التي تعطي رقمًا خاطئًا بثقة. واختراع كلمة في اسم البائع حدث مرة واحدة، لكنه يدل أن الأسماء أيضًا تحتاج مراجعة.

فخ «الجمع صحيح»
أكثر خطوات التحقق من قراءة الفواتير شيوعًا هي أن نتأكد أن مجموع الأصناف يساوي المجموع قبل الضريبة، وأن المجموع مع الضريبة يساوي الإجمالي. هذه الخطوة ممتازة ضد أخطاء المبالغ، لكنها لا ترى أخطاء المعرّفات. في تجربتنا حسبنا عدد الفواتير التي كانت أرقامها متسقة حسابيًا (الأصناف تساوي المجموع، والمجموع مع الضريبة يساوي الإجمالي) لكن فيها خطأ واحد على الأقل في حقل آخر: 7 فواتير عند Claude و21 فاتورة عند Codex. أي أن فحص الجمع وحده كان سيمرّر هذه الفواتير كلها.
الدرس العملي: افصل في ذهنك بين نوعين من التحقق. التحقق الحسابي يلتقط أخطاء المبالغ. والتحقق من المعرّفات يحتاج قواعد شكلية (طول الرقم الضريبي وأول رقم وآخر رقم) وقواعد منطقية (هل التاريخ بين تاريخ الإصدار المتوقع وتاريخ الاستلام؟ هل رقم الفاتورة مكرر؟) ثم نظرة بشرية لمطابقة الصورة مع الحقول الثلاثة.
أثر جودة الصورة والأرقام الهندية في قراءة الفواتير
| الحالة | Claude | Codex |
|---|---|---|
| صور نظيفة (12 فاتورة) | 12 | 6 |
| صور متوسطة (12 فاتورة) | 9 | 5 |
| صور سيئة التصوير (12 فاتورة) | 6 | 2 |
| أرقام هندية (15 فاتورة) | 8 | 1 |
| أرقام غربية (21 فاتورة) | 19 | 12 |
| صور سيئة بأرقام هندية (4 فواتير) | 0 | 0 |
تكشف أرقام تجربة قراءة الفواتير شيئين واضحين. الأول أن جودة الصورة تحسم: حتى الأداة الأقوى هنا أصابت كل الفواتير النظيفة وانخفضت إلى النصف في السيئة. والثاني أن الأرقام الهندية هي نقطة الضعف الكبرى في هذه العينة، وأن اجتماعها مع صورة سيئة كان قاتلًا: أربع فواتير بهذه الصفة، ولم تنجح أي أداة في أي منها. العدد صغير (4)، فلا نبني عليه نسبة، لكنه يكفي لتحذيرك: إن كانت مصادرك تجمع الأمرين، فالمراجعة البشرية ليست خيارًا.
وعلى مستوى التصميم، كان الإيصال الحراري الضيق أصعب تصميم لـCodex (لم تنجح فاتورة منه من 6)، بينما كان التصميم ثنائي اللغة الأسهل لـClaude (6 من 6). وهذه فروق على فاتورتين لكل خلية تقريبًا، فنذكرها دليلًا على أن اختبار تصاميم موردينك أنت أهم من اختبار تصاميمنا.

قصة فاتورة واحدة: كيف يخطئ الناتج وهو يبدو سليمًا
خذ فاتورة واحدة من عينتنا لتفهم كيف تخطئ الأداة عند قراءة الفواتير دون أن تلاحظ. فاتورة بتصميم جدول A4، صورتها نظيفة، وأرقامها هندية. رقمها الصحيح 6827673، وتاريخها 2026-01-25 بعد تحويله إلى الصيغة المطلوبة. أعادت إحدى الأداتين ملف JSON منظمًا ومرتبًا: اسم البائع صحيح، والأصناف الثلاثة صحيحة بكمياتها وأسعارها، والمجموع والضريبة والإجمالي صحيحة أيضًا. لكن رقم الفاتورة كان 687673 (فقد خانة)، والتاريخ 2026-10-25.
لو راجعت هذا الناتج كما يراجع أي موظف مشغول، فستنظر إلى الإجمالي أولًا وتجده يطابق ما في الفاتورة، ثم تلقي نظرة على اسم البائع والأصناف فتجدها صحيحة، وتنتقل إلى الفاتورة التالية. أما رقم الفاتورة الناقص فلن يظهر إلا حين يحاول المورد مطابقة كشف حسابه، وأما التاريخ المقلوب فسيدخل الفاتورة في شهر خاطئ قد يؤثر على تقارير الفترة. هذه هي الطبيعة الخادعة لهذا النوع من الأخطاء: ناتج كامل الشكل، وصحيح في الأجزاء التي ننظر إليها، وخاطئ فيما نتجاهله.
ولذلك لا يكفي أن تسأل «هل الأداة دقيقة؟». اسأل: ما الحقول التي ستراجعها بنفسك دائمًا، وما الذي سيحدث إن مرّ خطأ في كل حقل منها؟ وهذا يقودنا إلى معنى الرقم الذي خرجنا به.
ماذا تعني نتيجة «75٪ صحيحة» في قراءة الفواتير اليومية؟
لنفترض أن شركتك تستلم 200 فاتورة شهريًا، وأن أداتك تحقق في فواتيرك ما حققته أفضل أداة عندنا (75٪ فواتير صحيحة تمامًا). هذا يعني أن نحو 50 فاتورة شهريًا فيها حقل واحد على الأقل خاطئ، ومعظمها في المعرّفات. إن راجعت الحقول الثلاثة (رقم الفاتورة والتاريخ والرقم الضريبي) بعينك في كل الفواتير، فستلتقط هذه الأخطاء، لكنك ستحتاج دقيقة تقريبًا لكل فاتورة بدل ثلاث أو أربع دقائق للإدخال اليدوي الكامل. هذا حساب تقريبي من عندنا لتوضيح الفكرة، وليس قياسًا لوقت حقيقي؛ قس زمنك أنت.
وإن كانت أداتك أقرب إلى 36٪ (كأضعف نتيجة عندنا)، فالمراجعة الكاملة لكل الحقول تصبح شبه إدخال يدوي مرة ثانية، ويقل الوفر كثيرًا. والخلاصة أن رقم «الفواتير الصحيحة تمامًا» لا يُقرأ كدرجة امتحان، بل كمؤشر على حجم المراجعة التي ستحتاجها. ولهذا نوصيك بأن تقيس الرقم على عينة من فواتيرك قبل أن تقرر مستوى الاعتماد على الأداة.
ولو كنت تتعامل مع عدد قليل من الموردين الدائمين، فالحل الأنسب غالبًا ليس قراءة الفواتير من الصور أصلًا: اطلب من الموردين نسخة رقمية أصلية (ملف PDF مولّد من نظامهم لا صورة ملتقطة) أو نسخة من الفاتورة الإلكترونية، لأن النص المضمَّن في الملف يُقرأ دون أخطاء التقاط الصورة. الأداة هنا للحالات التي لا يتوفر فيها ذلك.
سير عمل آمن لقراءة الفواتير بالأداة
الخلاصة ليست «لا تستخدم الأداة». الأداة وفّرت وقتًا حقيقيًا، وأصابت أغلب الحقول. الخلاصة أن تبني شبكة أمان حول عملية قراءة الفواتير تتناسب مع نوع الأخطاء التي رأيناها:
- التقط الصورة جيدًا. بدّد الميلان والظل، وصوّر الفاتورة بكاملها بإضاءة متساوية. هذه الخطوة مجانية، وجودة الصورة أكبر عامل منفرد قسناه: أصاب أفضل متسابق عندنا 12 فاتورة من 12 في الصور النظيفة مقابل 6 من 12 في السيئة (مقارنة بين مجموعتين مختلفتين من الفواتير، وليست تجربة على الفاتورة نفسها بصورتين).
- اطلب من الأداة ناتجًا منظمًا عند قراءة الفواتير. JSON بحقول ثابتة، مع الصيغة المطلوبة للأرقام والتاريخ، وقيمة null للحقل غير الموجود. وانظر القالب في الفقرة التالية.
- نظّف مخرجات قراءة الفواتير قبل التحقق. حوّل الأرقام الهندية إلى غربية، واحذف الشرطات والمسافات من الرقم الضريبي، ووحّد صيغة التاريخ. لا تثق أن الأداة ستلتزم بالتنسيق دائمًا.
- طبّق قواعد التحقق الآلية. الرقم الضريبي: 15 رقمًا يبدأ وينتهي بـ3 (قاعدة شكلية؛ راجع المواصفة الرسمية كما ذكرنا). والجمع: الأصناف = المجموع. والضريبة: 15٪ من المجموع (مع مراعاة التقريب). والتاريخ: بين حدود معقولة (ليس في المستقبل وليس قبل سنتين مثلًا). ورقم الفاتورة: غير مكرر لنفس المورد.
- راجع المعرّفات الثلاثة بعينك. ضع صورة الفاتورة بجانب الحقول، وراجع رقم الفاتورة والتاريخ والرقم الضريبي فقط. هذه هي الحقول التي فشلت أغلبها في تجربتنا، وهي مراجعة تستغرق ثوانٍ لكل فاتورة.
- سجّل ما تعدّله. إن لاحظت أن مورّدًا بعينه يخرج رقمه دائمًا خاطئًا، فهذا إشارة لتغيير طريقة التصوير أو الاتفاق معه على نسخة رقمية أصلية.
- اختبر أداء الأداة في قراءة الفواتير على فواتيرك. خذ 20 إلى 30 فاتورة قديمة (بعد إخفاء البيانات الحساسة)، وقارن ناتج الأداة بما أدخله موظفك سابقًا، واحسب كم فاتورة خرجت صحيحة تمامًا. هذا الرقم هو الذي يحدد مستوى مراجعتك.
وللتعمق في أتمتة المستندات عمومًا، لدينا مقالان مكملان: استخراج بيانات الفواتير والمستندات بالذكاء الاصطناعي: دليل OCR للشركات الخليجية وذكاء المستندات العربية للشركات الخليجية. وإن كان عملك محاسبيًا، فاقرأ الذكاء الاصطناعي للمحاسبين: دليل الأتمتة دون فقدان الحكم المهني.
قواعد تحقق جاهزة في إكسل لقراءة الفواتير
إن كنت تنسخ ناتج الأداة إلى إكسل، فهذه صيغ بسيطة تضيف طبقة التحقق دون برمجة. افترض أن الرقم الضريبي في الخلية B2، والتاريخ في C2، والمجموع قبل الضريبة في D2، والضريبة في E2، والإجمالي في F2 (غيّر العناوين بما يناسب ملفك):
| القاعدة | الصيغة | ماذا تعني النتيجة |
|---|---|---|
| طول الرقم الضريبي 15 | =LEN(B2)=15 | FALSE يعني خانة ناقصة أو زائدة |
| يبدأ وينتهي بـ3 | =AND(LEFT(B2,1)="3",RIGHT(B2,1)="3") | فحص شكلي فقط، ولا يثبت التسجيل |
| أرقام فقط | =ISNUMBER(--B2) | يكشف الشرطات والحروف |
| الضريبة 15٪ من المجموع (للبنود الخاضعة للنسبة الأساسية فقط) | =ABS(D2*0.15-E2)<=0.05 | يلتقط خلل الضريبة والتقريب؛ لا يصلح للبنود الصفرية أو المعفاة |
| الإجمالي = المجموع + الضريبة | =ABS(D2+E2-F2)<=0.02 | لا يلتقط أخطاء المعرّفات |
| التاريخ ليس في المستقبل | =C2<=TODAY() | يلتقط قلب الأشهر أحيانًا |
| التاريخ ضمن آخر سنتين | =C2>=EDATE(TODAY(),-24) | يلتقط سنوات مخترعة (2017 و2020) |
| رقم فاتورة مكرر | =COUNTIFS(A:A,A2,G:G,G2)>1 | حيث A رقم الفاتورة وG المورد |
ولاحظ أن القاعدة الخامسة (الإجمالي) هي التي كانت ستُظهر لك نتيجة «سليمة» في الفواتير التي أخطأ فيها كل حقل آخر. لا تكتفِ بها. ولو أردت تحويل الأرقام الهندية داخل إكسل قبل الفحص، فأسهل طريق هو دالة استبدال متسلسلة، أو خطوة تنظيف في الأداة قبل لصق الناتج.
قالب برومبت لقراءة الفواتير واستخراج بياناتها
هذا قالب لقراءة الفواتير مبني على ما نجح معنا، يمكنك لصقه مع صورة الفاتورة. جرّبه على فواتيرك ولا تعتمد عليه قبل أن تقيس نتيجته:
أنت مساعد إدخال بيانات. أمامك صورة فاتورة عربية.
استخرج الحقول التالية فقط، وأعد ملف JSON واحدًا دون شرح:
{
"invoice_no": "نص",
"invoice_date": "YYYY-MM-DD",
"seller_name": "نص كما هو مطبوع",
"seller_tax_id": "نص أو null",
"items": [{"description": "نص", "quantity": رقم, "unit_price": رقم, "line_total": رقم}],
"subtotal": رقم, "tax_amount": رقم, "total": رقم
}
قواعد: اكتب كل الأرقام بالصيغة الغربية 0-9 وبنقطة عشرية وبلا فواصل آلاف.
إذا لم يظهر حقل بوضوح فاكتب null ولا تخمّن.
لا تغيّر ترتيب الأصناف ولا تُصحّح كلمات الأصناف.
إذا كان رقم الفاتورة أو التاريخ أو الرقم الضريبي غير واضح تمامًا فاكتب null له.آخر سطر في القالب هو الأهم: طلب null بدل التخمين يحوّل الخطأ الصامت إلى حقل فارغ يظهر لك في المراجعة. ولمزيد من أساليب كتابة التعليمات، راجع كيف تكتب برومبت احترافي للذكاء الاصطناعي.
خصوصية البيانات عند قراءة الفواتير بالذكاء الاصطناعي: لا ترفع فواتير حقيقية دون ضوابط
الفواتير الحقيقية تحمل أسماء شركات وأرقامًا ضريبية وأحيانًا أسماء أفراد وأرقام جوالات وعناوين. قبل أن ترفع فاتورة إلى أي أداة سحابية، اسأل: هل تسمح سياسة شركتي بذلك؟ وما سياسة الأداة في الاحتفاظ بالبيانات واستخدامها في التدريب؟ وهل تتيح خطة مؤسسية بعزل البيانات؟ ولهذا استخدمنا في تجربتنا فواتير اصطناعية بالكامل. وإن أردت اختبار أداة على فواتيرك، فأخفِ البيانات الحساسة أولًا، أو استخدم نسخًا اصطناعية تحاكي مصادرك. تفاصيل عملية أكثر في خصوصية بيانات الذكاء الاصطناعي للشركات الخليجية.
متى لا تستخدم الأداة، وحدود تجربتنا
متى لا تستخدم الأداة لقراءة الفواتير
- لإصدار فاتورة ضريبية. الإصدار يتم عبر حل فوترة إلكترونية متوافق مع متطلبات الهيئة. وقراءة الصور ليست فاتورة إلكترونية بحسب تعريف الهيئة نفسها.
- حين يكون الخطأ مكلفًا جدًا بلا مراجعة. مبالغ كبيرة أو مستندات قانونية: الأداة مساعد إدخال، والاعتماد النهائي بشري.
- مع صور رديئة بأرقام هندية. في عينتنا كانت هذه الحالة هي الأسوأ، فاطلب نسخة أفضل من المورد.
حدود تجربة قراءة الفواتير
- العينة صغيرة واصطناعية: 36 فاتورة بتصاميم من إعدادنا. لا نعمّم على كل الفواتير ولا على كل إصدارات الأدوات، والنماذج تتغير.
- مقارنة إعدادين لا نموذجين فقط: الأولى بقراءة ملف عبر أداة، والثانية بإرفاق الصورة. وقد نتج جزء من الفرق عن طريقة التشغيل.
- تضارب مصالح: صاحب الموقع يستخدم Claude في عمله، واختار العينة والتعليمات والتصحيح، وراجع Codex البروتوكول. فهذه ليست مقارنة مستقلة ولا مُعماة.
- لم نقس تكلفة الوقت ولا الأسعار، وركزنا على صحة الحقول.
- التحقق اليدوي من الأخطاء شمل عينة منها، وصحّح الكود الباقي آليًا.
ولهذا نوصي بأن تكرر الاختبار على بياناتك. وفي مقالنا التالي من هذه السلسلة نشرح كيف تبني اختبارًا كهذا بنفسك خطوة بخطوة.
أسئلة شائعة
هل يمكن الاعتماد على الذكاء الاصطناعي في قراءة الفواتير العربية؟
يمكن الاستفادة منه في إدخال البيانات وتوفير الوقت، لكن لا يُنصح بالاعتماد عليه دون مراجعة. في تجربتنا كان الإجمالي صحيحًا في كل الفواتير تقريبًا، لكن الفاتورة الصحيحة بكل حقولها كانت 27 من 36 عند الأفضل و13 عند الأخرى، والأخطاء تركزت في رقم الفاتورة والتاريخ والرقم الضريبي.
لماذا تخطئ أداة قراءة الفواتير في الرقم الضريبي أو التاريخ رغم أن المبالغ صحيحة؟
لأن هذه الحقول سلاسل أرقام طويلة بلا سياق لغوي يساعد على التصحيح الذاتي، وخطأ خانة واحدة يمر دون أن يكسر أي قاعدة حسابية. والمبالغ عادة قصيرة ولها علاقات حسابية تساعد (الجمع والضريبة).
هل الأرقام الهندية أصعب في قراءة الفواتير؟
في عيّنتنا نعم: أصاب Claude 8 فواتير من 15 بأرقام هندية مقابل 19 من 21 بالغربية، وCodex 1 من 15 مقابل 12 من 21. العينة صغيرة، لكن الفرق كبير بما يكفي لتختبر مصادرك بنفسك.
كم فاتورة أحتاج لاختبار قراءة الفواتير؟
ابدأ بـ20 إلى 30 فاتورة تمثل تنوع مصادرك (تصاميم وجودة صور وأرقام هندية وغربية)، وأخفِ البيانات الحساسة. وكلما كان الخطأ أغلى زدت العدد. والمهم أن تحسب «الفاتورة الصحيحة تمامًا» وليس متوسط الحقول فقط.
هل تتغير نتائج قراءة الفواتير مع تحديث النماذج؟
نعم. أي نتيجة هنا خاصة بإصدارات الأدوات وإعداداتها وقت التجربة (أكتوبر 2026). أعد الاختبار بعد أي تحديث كبير.
خلاصة سريعة
- المبالغ شبه سليمة، والمعرّفات هي الخطر: رقم الفاتورة والتاريخ والرقم الضريبي.
- فحص الجمع لا يكفي: 21 فاتورة مرّت بحسابات متسقة وفيها خطأ في حقل آخر عند أحد المتسابقين.
- في عينتنا بلغت دقة قراءة الفواتير 12/12 في الصور النظيفة و6/12 في السيئة (لا نعمّم المقارنة)، والأرقام الهندية مع الصورة السيئة تحتاج مراجعة بشرية دائمًا.
- اطلب null بدل التخمين، ونظّف المخرجات، ثم طبّق قواعد التحقق وراجع الحقول الثلاثة بعينك.
- قراءة الفواتير من الصور ليست فاتورة إلكترونية؛ الإصدار عبر حل متوافق مع متطلبات الهيئة.
آخر تحديث: 19 أكتوبر 2026. الأرقام من تجربة 36 فاتورة اصطناعية بإعدادات أكتوبر 2026. نراجع المقال إن تغيّرت متطلبات الهيئة أو إصدارات الأدوات.
