FeaturesTrustSecurityPricingCompareConnect your AIBlogStart Free

MENA

Arabic is not written with one set of digits.

A Cairo target, a Casablanca subsidiary, a Dubai holding company and a lender in Paris. Three working languages, two numeral systems, two calendars, and a spreadsheet that has to render all of it the way its author wrote it.

Three digit sets, and only one of them is safe to guess

Arabic in the Mashriq, meaning Egypt, the Levant and the Gulf, is normally written with Arabic-Indic digits. Arabic in the Maghreb, meaning Morocco, Algeria and Tunisia, is normally written with the same digits as English. Same language, same script, different numerals, and a viewer that decides from the language tag alone will be wrong across half the region.

Three digit sets that look adjacent and are not. Excel carries the choice in the number format's locale token, so it is stated in the file rather than inferred from the language.
CriterionDigitsUnicodeWhere you meet it
Western0123456789U+0030Maghreb Arabic, and English and French documents everywhere
Arabic-Indic٠١٢٣٤٥٦٧٨٩U+0660Mashriq Arabic: Egypt, the Levant, the Gulf
Extended Arabic-Indic۰۱۲۳۴۵۶۷۸۹U+06F0Persian and Urdu. Not Arabic, and not interchangeable
Three digit sets that look adjacent and are not. Excel carries the choice in the number format's locale token, so it is stated in the file rather than inferred from the language.

Our substitution fires only when the locale token names Arabic and asks for native digits. Everything else renders Western. That is a deliberate restriction rather than an unfinished feature: a viewer that substitutes for any native-digit locale will stamp Arabic glyphs onto a Farsi cell, which is a confident, invisible error. A Western digit in a Persian model is obviously a fallback. An Arabic digit in a Persian model looks correct and is not.

When substitution does run, digits and separators convert together: ١٤٬١٣١٬٠٠٠٫٠٠, using the Arabic thousands and decimal separators, rather than ١٤,١٣١,٠٠٠.٠٠. A separator is converted only when it sits between two digits, so a currency literal such as ر.س in the same string is left alone.

Two calendars in one folder

A regional deal folder holds Gregorian dates on the lender documents and Hijri dates on locally filed Arabic material, sometimes in the same workbook. Excel says which is which inside the number format, either as the B2 prefix or packed into a locale token such as [$-060401]. We resolve the calendar id and render what the format asks for.

The common failure is not a crash. Run 5 January 2025 through ssf@0.11.2, the standalone publication of the format engine SheetJS ships, with the format B2dd/mm/yyyy, and it returns 05/01/1444. The Umm al-Qura date is 05/07/1446. A year and a half of error, rendered confidently, on a maturity schedule nobody re-checks. The full engine-by-engine rendering table is on the Saudi Arabia page.

A cross-border room in practice

The structure repeats: an operating company in Egypt or Morocco, a holding company in a Gulf free zone, lenders and sponsors outside the region, and counsel in two or three jurisdictions. Everyone reads a different subset of the documents and nobody should see the others.

  1. Local filings
    Arabic, often Hijri-dated, uploaded as filed
  2. Deal documents
    French or English, from advisors and lenders
  3. Per-group fencing
    Permissions resolved on the server for each bidder group
  4. Cited answers
    Page or cell reference a reader can open and check
A cross-border MENA process. The boundary between bidder groups is enforced in the database, not in the interface.

Citations are rendered as Q3_Model.xlsx · Revenue!B14:F34, with absolute 1-based sheet rows and column ranges. Tapping one opens the workbook at that sheet and washes those cells. In a room where half the participants cannot read half the documents, an answer that cannot be opened is an answer nobody can rely on.

Every page a participant opens carries a watermark burned into the image on the server before encoding, tiled, with their name, email, IP and timestamp. Two participants viewing the same page receive different bytes. Delete every overlay element in the browser and the identity is still in the pixels, because it was never an overlay.

In-query
A chunk outside the participant's permission is never selected, so no later code path can return it
Product architecture
11.7%
Watermark ink surviving the worst of 64 crops at 25%, all four fields legible
Survives JPEG q50 and a 50% downscale
Streaming
Purpose-built OOXML parser. The maintained libraries either drop cell styles in streaming mode or hold the whole workbook in memory to keep them.
Product behaviour

Cost

Flat published plans: Free, Pro at $29, Business at $79, Data Rooms at $149 with unlimited rooms, Plus at $349, Premium at $699, Unlimited at $1,499 a month, and Enterprise on a contract. AI is included in every paid tier rather than sold as an add-on, and there are no per-page fees. For a cross-border process with four bidder groups and thousands of scanned filings, per-page pricing is the line item nobody can forecast. The 14-day trial takes no credit card. See pricing.

Related: Deals inside the GCC · هذه الصفحة بالعربية · Residency and compliance

MENA FAQ

What a cross-border team asks before the room opens.

No, and this is the detail that catches viewers out. Arabic in the Mashriq, meaning Egypt, the Levant and the Gulf, is normally written with Arabic-Indic digits, the ٠١٢٣ set at Unicode U+0660. Arabic in the Maghreb, meaning Morocco, Algeria and Tunisia, normally uses the same Western digits as English. Excel does not guess: the number format's locale token carries a digit-substitution field, and the file says which set it wants.
No, deliberately. Persian and Urdu use extended Arabic-Indic digits at U+06F0, which look similar but are a different set of code points. Our substitution only fires when the locale token names Arabic and asks for native digits. Every other script's native digits render as Western rather than being replaced with glyphs from the wrong alphabet, so a Persian cell stays readable rather than confidently wrong.
Yes. A Maghreb transaction commonly runs on French deal documents, Arabic official filings and English lender material in the same process. Direction is read per sheet and per cell rather than from the reader's browser, so a workbook mixing Arabic labels with French notes keeps both directions on one sheet. Q&A threads are free text, so a question can be asked in one language and answered in another.
The one the file asks for. Excel packs the calendar into the number format, either as a B2 prefix or inside a locale token such as [$-060401]. Where the format asks for Hijri we render the Umm al-Qura date; where it asks for Gregorian we render Gregorian. The mistake to avoid is a viewer that renders one calendar for everything, and the common failure is silent: ssf 0.11.2, the format engine SheetJS ships, returns 05/01/1444 for a date whose Umm al-Qura value is 05/07/1446.
Deal data is encrypted at rest and in transit and isolated per organisation by row-level security in the database. Document processing is transient and keeps nothing, and your content is never used to train AI models. Every subprocessor and where it operates is published on our Trust Center, alongside the Data Processing Agreement and the security documentation we share for a vendor review.
The AI's retrieval filter runs inside the SQL query, on tenant id and a per-participant document access function, rather than after retrieval or as an instruction in the prompt. A chunk outside the participant's permission is therefore never selected. The participant identifier the filter checks is derived on the server from the session, never taken from the request. Documents themselves are watermarked per viewer, burned into the page image before encoding.

Try It On The Hard File

Upload the workbook with three languages in it.

Arabic labels, French notes, a Hijri column and a Gregorian one. If it opens the way its author built it, you have your answer.

Free to start · No per-page fees · No credit card required