How Wasli reads your document
From the moment of upload to export, and what Wasli refuses to guess.
The journey, step by step
Upload and checks
The file goes straight to storage, then the server checks its type from its own bytes, its size, duplicates and the usage limit. A rejected file is deleted.
Reading
The document is sent to an AI model to extract the fields in a fixed format. Amounts come back as text and go through a strict parser into whole minor units; anything not understood is left empty and flagged.
Checks
Totals are checked (subtotal + VAT = total, and the lines add up to the subtotal), as is the VAT rate for the country, the tax-number format, and the Saudi QR code from images. These checks are preliminary.
Review
You see the original beside the fields, with the model's confidence in itself beside each one. Approval is blocked while a required field is missing or a doubtful field is unconfirmed.
Export
After you approve, documents are exported to Excel or CSV. Nothing is sent to accounting software, because connections are not built yet.
What Wasli refuses to guess
- An amount it cannot understand: it is left empty and flagged, not filled with the nearest number.
- A Hijri-only date: flagged so you type the Gregorian date.
- A number corrected by hand over a struck-through one: the total is flagged for you to review.
- A document that is not financial: classified as such and not entered as an invoice.
Limits we state plainly
- Reading is done by an AI model and it can be wrong; we have not measured its accuracy on real documents yet.
- The confidence is the model's own estimate of itself, not a measured accuracy.
- Documents are sent to the model provider to be read, and stored with Convex. See the privacy page.
- The tax checks Wasli shows are preliminary and need a licensed accountant's confirmation.