Computer vision · OCR · Saudi e-invoicingرؤية حاسوبية · قراءة النصوص · الفوترة الإلكترونية السعودية

Read IDs and invoices from a photo, and know which fields you can trustاقرأ الهويات والفواتير من صورة، واعرف أي البيانات يمكنك الوثوق بها

A reader for the documents Saudi businesses handle every day: passports, ID cards, visas, ZATCA tax invoices and boarding passes. Every field it returns carries a status: proven, read but unproven, or sent to a person.قارئ للمستندات التي تتعامل معها الشركات السعودية يوميًا: جوازات السفر وبطاقات الهوية والتأشيرات وفواتير هيئة الزكاة والضريبة والجمارك وبطاقات صعود الطائرة. وكل معلومة يستخرجها تأتي بحالتها: مُثبتة، أو مقروءة دون إثبات، أو محالة لشخص يراجعها.

100%
verified fields that are correctمن البيانات المُثبتة صحيحة
3076 of 3076 fields3076 من 3076 معلومة
64%
fields that need no personمن البيانات لا تحتاج مراجعة
4834 fields in total4834 معلومة إجمالًا
99.7%
documents sorted into the right typeمن المستندات صُنّفت في نوعها الصحيح
10 types, including “not a supported document”10 أنواع، منها «مستند غير مدعوم»
4.3 sث
to read one documentلقراءة المستند الواحد
on average, across all 600في المتوسط، على الـ 600 كلها

How it reads a documentكيف يقرأ المستند

The reader relies first on what the documents themselves can prove. Passports, invoices and boarding passes all carry machine-readable data with error checks built in. The text recognition is cross-checked against that data.يعتمد القارئ أولًا على ما تستطيع المستندات نفسها إثباته. فجوازات السفر والفواتير وبطاقات الصعود كلها تحمل بيانات مقروءة آليًا فيها وسائل تحقق مدمجة. ثم يُطابَق النص المقروء بهذه البيانات.

Flatten the photoتسوية الصورة

Finds the document's four corners and straightens it, like a scanner app.يجد زوايا المستند الأربع ويعدّله كأنه ممسوح ضوئيًا.

Decode barcodesقراءة الباركود

ZATCA invoice QR codes and IATA boarding-pass barcodes. Both have built-in error correction.رمز QR في فواتير الزكاة وباركود بطاقات الصعود، وكلاهما فيه تصحيح أخطاء مدمج.

Read the text twiceقراءة النص مرتين

Two open-source models: PP-OCRv6 for Latin text and numbers, PP-OCRv5 Arabic for Arabic.نموذجان مفتوحا المصدر: PP-OCRv6 للنص اللاتيني والأرقام، وPP-OCRv5 للعربية.

Check against the standardالمطابقة مع المعيار

Passport check digits (ICAO 9303), ZATCA QR values, VAT = 15%, line items adding up.أرقام التحقق في الجواز (ICAO 9303)، وقيم QR الضريبي، والضريبة = 15%، ومجموع البنود.

Give every field a statusحالة لكل معلومة

Verified, read or review, with the reason. Nothing uncertain is passed off as certain.مُثبتة أو مقروءة أو للمراجعة، مع السبب. لا يُقدَّم شيء غير مؤكد على أنه مؤكد.

Verifiedمُثبت Proven independently: a check digit, an error-corrected barcode, the invoice arithmetic, or two separate reads that agree.مُثبتة بشكل مستقل: رقم تحقق، أو باركود مصحَّح الأخطاء، أو حساب الفاتورة، أو قراءتان منفصلتان متطابقتان.
Readمقروء Read once and looks right, but nothing confirms it. A person glances at it.قُرئت مرة وتبدو صحيحة، لكن لا شيء يؤكدها. يلقي الموظف نظرة عليها.
Reviewمراجعة A check failed, two readings disagree, or the field was not found.فشل تحقق، أو اختلفت قراءتان، أو لم توجد المعلومة.

Examples from the test setأمثلة من مجموعة الاختبار

Real output on test images. Every document is a synthetic SPECIMEN: the people, companies and VAT numbers are invented, and the passports are issued by “Utopia”, the specimen country of the ICAO standard.نتائج فعلية على صور الاختبار. كل المستندات نماذج تجريبية (SPECIMEN): الأشخاص والشركات والأرقام الضريبية مختلَقة، والجوازات صادرة من «يوتوبيا»، الدولة التجريبية في معيار ICAO.

Passport, phone photo

Passportجواز سفر

Phone photoصورة بالجوال · a layout it never saw during developmentتصميم لم يره أثناء التطوير · 5.06 sث
FieldالمعلومةValueالقيمةStatusالحالةSourceالمصدر
Document numberرقم الوثيقةY80188103Verifiedمُثبت MRZالمنطقة المقروءة آليًا
SurnameاللقبALRASHEEDVerifiedمُثبت MRZالمنطقة المقروءة آليًا
Given namesالاسمMOHAMMED FAHADVerifiedمُثبت MRZالمنطقة المقروءة آليًا
NationalityالجنسيةKWTReadمقروء MRZالمنطقة المقروءة آليًا
Date of birthتاريخ الميلاد2004-10-01Verifiedمُثبت MRZالمنطقة المقروءة آليًا
SexالجنسMReadمقروء MRZالمنطقة المقروءة آليًا
Expiry dateتاريخ الانتهاء2035-03-03Verifiedمُثبت MRZالمنطقة المقروءة آليًا
Issuing stateجهة الإصدارUTOVerifiedمُثبت MRZالمنطقة المقروءة آليًا
Name in Arabicالاسم بالعربيةمحمد فهد الرشيدReadمقروء Printed textالنص المطبوع
Tax invoice, phone photo

Tax invoiceفاتورة ضريبية

Phone photoصورة بالجوال · a layout it never saw during developmentتصميم لم يره أثناء التطوير · 12.99 sث
FieldالمعلومةValueالقيمةStatusالحالةSourceالمصدر
Invoice numberرقم الفاتورةF430280Readمقروء Printed textالنص المطبوع
Sellerالبائعشركة مدار للخدمات اللوجستيةVerifiedمُثبت ZATCA QRرمز QR الضريبي
Seller VAT no.الرقم الضريبي للبائع380770155647713Verifiedمُثبت ZATCA QRرمز QR الضريبي
Issue dateتاريخ الإصدار2026-08-06Verifiedمُثبت ZATCA QRرمز QR الضريبي
Totalالإجمالي28269.54Verifiedمُثبت ZATCA QRرمز QR الضريبي
VAT 15%ضريبة القيمة المضافة3687.34Verifiedمُثبت ZATCA QRرمز QR الضريبي
Subtotalالإجمالي قبل الضريبة24582.20Verifiedمُثبت ZATCA QRرمز QR الضريبي
Buyer VAT no.الرقم الضريبي للمشتري—Reviewمراجعة Printed textالنص المطبوع
Line itemsبنود الفاتورة—Reviewمراجعة Printed textالنص المطبوع
Simplified tax invoice, scanned

Simplified tax invoiceفاتورة ضريبية مبسطة

Scannedممسوح ضوئيًا · 4.24 sث
FieldالمعلومةValueالقيمةStatusالحالةSourceالمصدر
Invoice numberرقم الفاتورةTX222652Readمقروء Printed textالنص المطبوع
Sellerالبائعشركة النخبة للفنادقVerifiedمُثبت ZATCA QRرمز QR الضريبي
Seller VAT no.الرقم الضريبي للبائع371318865576183Verifiedمُثبت ZATCA QRرمز QR الضريبي
Issue dateتاريخ الإصدار2025-04-25Verifiedمُثبت ZATCA QRرمز QR الضريبي
Totalالإجمالي7389.33Verifiedمُثبت ZATCA QRرمز QR الضريبي
VAT 15%ضريبة القيمة المضافة963.83Verifiedمُثبت ZATCA QRرمز QR الضريبي
Subtotalالإجمالي قبل الضريبة6425.50Verifiedمُثبت ZATCA QRرمز QR الضريبي
Line itemsبنود الفاتورة4 linesVerifiedمُثبت Arithmeticالحساب
ID card, phone photo

ID cardبطاقة هوية

Phone photoصورة بالجوال · 3.7 sث
FieldالمعلومةValueالقيمةStatusالحالةSourceالمصدر
Document numberرقم الوثيقةNU5613842Verifiedمُثبت MRZالمنطقة المقروءة آليًا
SurnameاللقبBRETONVerifiedمُثبت MRZالمنطقة المقروءة آليًا
Given namesالاسمLAURENTVerifiedمُثبت MRZالمنطقة المقروءة آليًا
NationalityالجنسيةFRAVerifiedمُثبت MRZالمنطقة المقروءة آليًا
Date of birthتاريخ الميلاد2003-09-01Verifiedمُثبت MRZالمنطقة المقروءة آليًا
SexالجنسMReadمقروء MRZالمنطقة المقروءة آليًا
Expiry dateتاريخ الانتهاء2024-01-13Verifiedمُثبت MRZالمنطقة المقروءة آليًا
Issuing stateجهة الإصدارUTOReadمقروء MRZالمنطقة المقروءة آليًا
Boarding pass, phone photo

Boarding passبطاقة صعود الطائرة

Phone photoصورة بالجوال · 2.21 sث
FieldالمعلومةValueالقيمةStatusالحالةSourceالمصدر
PassengerالمسافرALZAHRANI/NASSERVerifiedمُثبت Barcodeالباركود
Booking referenceرقم الحجزZ7X8R6Verifiedمُثبت Barcodeالباركود
FromمنRUHVerifiedمُثبت Barcodeالباركود
ToإلىKWIVerifiedمُثبت Barcodeالباركود
Airline codeرمز شركة الطيرانNQVerifiedمُثبت Barcodeالباركود
Flightرقم الرحلة1669Verifiedمُثبت Barcodeالباركود
Day of yearيوم الرحلة في السنة247Verifiedمُثبت Barcodeالباركود
Seatالمقعد34CVerifiedمُثبت Barcodeالباركود
Check-in no.رقم تسجيل الوصول158Verifiedمُثبت Barcodeالباركود
CabinالدرجةBVerifiedمُثبت Barcodeالباركود
Credit note, difficult photo

Credit noteإشعار دائن

Difficult photoصورة صعبة · a layout it never saw during developmentتصميم لم يره أثناء التطوير · 3.49 sث
FieldالمعلومةValueالقيمةStatusالحالةSourceالمصدر
Invoice numberرقم الفاتورةCR-2026-117563Readمقروء Printed textالنص المطبوع
Original invoiceالفاتورة الأصلية—Reviewمراجعة Printed textالنص المطبوع
Sellerالبائعشركة الياسمين للأغذيةVerifiedمُثبت ZATCA QRرمز QR الضريبي
Seller VAT no.الرقم الضريبي للبائع303184436244223Verifiedمُثبت ZATCA QRرمز QR الضريبي
Issue dateتاريخ الإصدار2026-05-09Verifiedمُثبت ZATCA QRرمز QR الضريبي
Totalالإجمالي185.73Verifiedمُثبت ZATCA QRرمز QR الضريبي
VAT 15%ضريبة القيمة المضافة24.23Verifiedمُثبت ZATCA QRرمز QR الضريبي
Subtotalالإجمالي قبل الضريبة161.50Verifiedمُثبت ZATCA QRرمز QR الضريبي
Buyer VAT no.الرقم الضريبي للمشتري321403559142113Readمقروء Printed textالنص المطبوع
Line itemsبنود الفاتورة—Reviewمراجعة Printed textالنص المطبوع

Results by document typeالنتائج حسب نوع المستند

600 test documents, 60 of each type: 30% scans, 45% phone photos, 25% difficult photos (tilted, blurred, shadowed, with glare). The bar shows what share of fields came back verified, read or for review; the number on the right is the share of verified fields that are correct.600 مستند اختبار، 60 من كل نوع: 30% ممسوحة ضوئيًا، و45% صور بالجوال، و25% صور صعبة (مائلة ومهزوزة وفيها ظل ولمعان). يوضح الشريط نسبة البيانات المُثبتة والمقروءة والمحالة للمراجعة، والرقم على اليمين نسبة البيانات المُثبتة الصحيحة.

VerifiedمُثبتةReadمقروءةReviewمراجعة
Boarding passبطاقة صعود الطائرة
100%
Credit noteإشعار دائن
100%
Debit noteإشعار مدين
100%
ID cardبطاقة هوية
100%
Travel document (TD2)وثيقة سفر (TD2)
100%
Passportجواز سفر
100%
Simplified tax invoiceفاتورة ضريبية مبسطة
100%
Tax invoiceفاتورة ضريبية
100%
Visaتأشيرة
100%
Show as a tableاعرض كجدول
TypeالنوعFieldsالبياناتVerifiedمُثبتة Verified correctالمُثبتة الصحيحةReadمقروءةRead correctالمقروءة الصحيحةReviewمراجعة
Boarding passبطاقة صعود الطائرة600540 100%4100%56
Credit noteإشعار دائن593292 100%20684.0%95
Debit noteإشعار مدين600305 100%20688.3%89
ID cardبطاقة هوية513270 100%12594.4%118
Travel document (TD2)وثيقة سفر (TD2)514353 100%15596.1%6
Passportجواز سفر514350 100%15290.8%12
Simplified tax invoiceفاتورة ضريبية مبسطة480308 100%10486.5%68
Tax invoiceفاتورة ضريبية540327 100%14189.4%72
Visaتأشيرة480331 100%129100%20

By image qualityحسب جودة الصورة

Scannedممسوح ضوئيًا
100%
Phone photoصورة بالجوال
100%
Difficult photoصورة صعبة
100%

Worse photos mean fewer verified fields, not more wrong ones: the reader sends what it cannot prove to a person.كلما ساءت الصورة قلّت البيانات المُثبتة، لا زادت الأخطاء: القارئ يحيل ما لا يستطيع إثباته إلى شخص.

Layouts it never sawتصميمات لم يرها

One design per family (a passport, an Arabic-only invoice, a mobile boarding pass) was kept out of development and used only in this test.تصميم واحد من كل عائلة (جواز سفر، وفاتورة بالعربية فقط، وبطاقة صعود للجوال) أُبعد عن التطوير واستُخدم في هذا الاختبار فقط.

FieldsالبياناتVerified correctالمُثبتة الصحيحةNeed no personلا تحتاج مراجعة
Designs used in developmentتصميمات استُخدمت في التطوير3719100%64%
Designs never seenتصميمات لم يرها1115100%61%

Real photos: passports filmed with a phoneصور حقيقية: جوازات سفر مصوّرة بالجوال

Synthetic tests can flatter. So the passport reader was also scored on MIDV-500, a public set of phone videos of real specimen passports from 12 countries, filmed on a table, in hand, on a keyboard, in clutter and partly out of frame. The comparison uses Dynamsoft's published 3,315-frame benchmark and its scores.الاختبارات الاصطناعية قد تجامل. لذلك قِيس قارئ الجوازات أيضًا على MIDV-500، وهي مجموعة عامة من فيديوهات جوال لجوازات سفر نموذجية حقيقية من 12 دولة، مصوّرة على طاولة وفي اليد وعلى لوحة مفاتيح ووسط أغراض وخارج الإطار جزئيًا. المقارنة على معيار Dynamsoft المنشور من 3,315 لقطة وبنتائجه.

Frames where the whole MRZ (88 characters) is read exactly rightاللقطات التي قُرئ فيها السطران الآليان (88 حرفًا) بلا أي خطأ
This reader (open source)هذا القارئ (مفتوح المصدر)
40.3%
Dynamsoft Capture Vision (commercial)Dynamsoft Capture Vision (commercial)
48.3%
FastMRZ (open source)FastMRZ (open source)
7.3%
PassportEye (open source)PassportEye (open source)
0.3%
99.4%
of frames it marks as fully proven have all five key fields rightمن اللقطات التي يعتبرها مُثبتة بالكامل بياناتها الخمس الأساسية صحيحة
5 wrong out of 822 (number, surname, given names, birth, expiry)5 خطأ من 822 (الرقم واللقب والاسم والميلاد والانتهاء)
99.9%
of verified passport fields are correctمن بيانات الجوازات المُثبتة صحيحة
9,066 verified fields9,066 معلومة مُثبتة
25%
of frames proven with no person neededمن اللقطات أُثبتت دون حاجة لموظف
the rest are flagged for reviewوالباقي يُحال للمراجعة
By filming conditionحسب ظروف التصوير
FramesاللقطاتExact MRZقراءة تامةProvenمُثبتة
clutterوسط أغراض72035.4%23.2%
in handفي اليد72037.4%18.6%
keyboardعلى لوحة مفاتيح72026.0%11.8%
partly out of frameخارج الإطار جزئيًا43519.8%11.9%
tableعلى طاولة72074.7%53.3%

How this helps a businessكيف يفيد هذا الشركات

Travel agenciesوكالات السفر

Photograph a passport, get booking-ready passenger data. Names, numbers and dates are checked before they reach the airline.صوّر الجواز واحصل على بيانات المسافر جاهزة للحجز. الأسماء والأرقام والتواريخ مُراجَعة قبل أن تصل لشركة الطيران.

Accounts payableالحسابات الدائنة

Supplier invoices are read and matched to their ZATCA QR. A printed total that differs from the QR is flagged as possible tampering.تُقرأ فواتير الموردين وتُطابَق مع رمز QR الضريبي. وإذا اختلف الإجمالي المطبوع عن الرمز تُعلَّم كاحتمال تلاعب.

Hotels and onboardingالفنادق وتسجيل العملاء

ID cards and visas at check-in or onboarding, with expiry dates read and proven.بطاقات الهوية والتأشيرات عند تسجيل الوصول أو فتح الحساب، مع قراءة تاريخ الانتهاء وإثباته.

Good to knowمن المهم أن تعرف

Technical detailsالتفاصيل التقنية

python -m docreader passport.jpg            # fields + status
python -m docreader invoices/ --excel out.xlsx