What an Arabic POS system actually has to get right

An Arabic POS is more than translated buttons. Mirroring, numbers in Arabic text, search, receipts, scanners and tax invoices, and how to test each one.

Solnay· Product team9 min read

The short answer

An Arabic POS system is one where the whole counter works in Arabic, not just the labels. The screen mirrors right to left, prices and barcodes stay readable inside Arabic text, a search finds a product however its name was spelled, and the receipt prints joined Arabic letters in the right order. Translation is the easy fifth of that. The other four are where most systems quietly fail.

“Supports Arabic” on a product page can mean any of these, and usually means only the first. The sections below take each one in turn, with the specific thing to look for, and finish with a test you can run on a demo account before you sign anything.

Translated is not mirrored

A translated interface swaps the English words for Arabic ones and leaves everything else where it was. A mirrored interface flips the layout itself, because an Arabic reader scans from the right. The difference shows up within a minute of use:

  • The basket. Item names should start on the right, with quantities and totals on the left. A translated screen keeps the English order, so the eye starts on the price and reads the line backwards.
  • Navigation. The menu, the back arrow and any progress indicator move to the other side and point the other way.
  • Icons that carry meaning do not flip. A printer, a barcode or a bin looks the same in both languages. A system that mirrors everything blindly is as broken as one that mirrors nothing.
  • Switching language does not scramble the screen. If the page draws in English for a moment and then jumps into Arabic, the direction is being set after load. On a register that reloads often, that flicker is every sale.

Mirroring is cheap when it is designed in and expensive when it is added later, because every margin and every “left” in the code has to be found and changed. That is the honest reason so many systems stop at translation. The W3C’s guidance on right to left markup is a short read if you want to know what your vendor should have done.

Numbers inside Arabic text

This is the failure that costs money. Arabic runs right to left; numbers, barcodes and Latin product codes run left to right. When the two sit on one line, the Unicode bidirectional algorithm decides the order, and left to its defaults it can move a minus sign, split a code with a hyphen in it, or put a currency on the wrong side of the amount.

On a register, the places to look are:

  • A discount line, where a negative amount sits next to Arabic text.
  • A product code such as AB-1029 inside an Arabic name.
  • Phone numbers and tax numbers in the receipt header.
  • Receipt numbers that mix letters, digits and separators.

The fix is to isolate every number and code so it keeps its own direction whatever surrounds it. On a receipt the customer may hand to a tax office, a total that has been reordered is worse than a missing one.

The quickest check: apply a discount to an item with an Arabic name and a Latin code, then read the line aloud. If the amount, the code or the minus sign is in a different place on the receipt than on the screen, the system has not isolated them.

Western or Eastern Arabic digits

Arabic has two sets of digits in everyday use: the Western ones (0123456789) and the Eastern Arabic ones (٠١٢٣٤٥٦٧٨٩). Usage differs by country, by sector and by generation, and there is no single right answer for a till.

The case for Western digits on a register is practical. Barcodes, supplier invoices and card terminals already use them, and a cashier reading a quantity at speed should not have to switch systems halfway through a basket. The case for Eastern digits is that some customers and some owners simply expect them in Arabic text.

What matters more than the choice is consistency. The screen, the receipt and any report should use the same digits, and a barcode should always appear exactly as it is printed on the pack. Ask a vendor which they use and whether it can change. Solnay uses Western digits in both languages today, and that is a decision we are checking with Arabic speaking pilot branches rather than one we consider settled.

Arabic spelling varies in ways that English does not, and a cashier typing fast will not match the way a product was entered. The same word for medicines can be written أدوية or ادويه, and both are correct to the person typing. A search that treats them as different words makes the catalogue look empty.

A usable Arabic search treats these as the same letter:

VariantsWhy they differ
أ إ آ اAlef with and without hamza or madda, often dropped when typing
ة هTeh marbuta at the end of a word, often typed as heh
ى يAlef maksura and yeh, interchangeable in casual writing
Short vowel marksPresent on some labels and imports, almost never typed at the counter

This folding has to happen on the device, on every keystroke, or a search is a network round trip, which is the same mistake we covered in whether a POS can work without the internet. Solnay folds all four cases when the catalogue syncs to the device, so a search in either spelling returns the same product without asking the server.

One related point: product names should be stored as entered, not machine translated into a second language. A pharmacy’s Arabic name for a product is data, and a translated version of it is a guess.

Arabic on a thermal receipt

The screen can be perfect and the receipt still come out wrong. Most 80mm thermal printers in the region speak ESC/POS, and in that mode the software sends characters and the printer draws each one from its own built in font. Arabic needs two things that a character by character printer usually does not do:

  • Shaping. Arabic letters change form depending on whether they start, sit inside or end a word. A printer that draws the standalone form of every letter prints a row of disconnected characters.
  • Direction. The printer lays characters out left to right. Without reordering, every Arabic word comes out reversed.

There are three ways round it, in rising order of reliability: pick the right Arabic code page and hope the printer’s font is good, shape and reorder the text in software before sending it, or send the receipt as a rendered image so the printer is only placing dots. The third is the one that works on cheap hardware.

Solnay prints through the browser’s print path, so the browser’s text engine shapes the Arabic and the printer receives a rendered page rather than characters to look up. The receipt is laid out right to left in Arabic, with amounts, barcodes and receipt numbers held left to right inside it.

Scanners and the Arabic keyboard

A USB barcode scanner pretends to be a keyboard. It does not send the characters on the label; it sends the key presses that would type them on a standard layout, and the computer turns those into characters using whatever keyboard layout is active.

With an Arabic layout active, that matters. A code with letters in it can arrive as Arabic letters, and on some layouts the number row produces Eastern Arabic digits, so even a plain EAN code no longer matches the catalogue. On a shared counter where staff switch layouts to type product names, this shows up as scans that work in the morning and fail after lunch.

Test it rather than ask about it: switch the operating system to the Arabic layout and scan a code with letters and one without. If the system cannot cope, the workaround is to lock the register to an English layout, which is fine until someone needs to type an Arabic name.

Tax invoices in Saudi Arabia

Language is not only a preference in the Gulf. In Saudi Arabia, tax invoices and simplified tax invoices have to be in Arabic, and they may carry another language alongside it. The content a customer can read is what must be Arabic, and ZATCA’s e-invoicing programme adds technical requirements on top of the language rule.

Two things follow for a point of sale. An English only product description on an Arabic receipt can be a compliance problem, not just a cosmetic one. And whether a system is integrated with ZATCA is a yes or no question with documentation behind it, so ask for that documentation rather than a sentence on a sales call. Rules elsewhere in the Gulf differ and change; confirm what applies to your business locally.

Test it in fifteen minutes

Ask for a demo account and a receipt printer like yours, then do this in order. Steps three and five catch most systems.

  1. Switch to Arabic and reload. The screen should come up mirrored with no flash of English layout.
  2. Add a product with an Arabic name and a Latin code. Apply a discount. Check the line reads correctly on screen.
  3. Print the receipt. Arabic letters should join and read right to left. The amount, code and minus sign should match the screen.
  4. Search for the product with a different spelling: drop the hamza, end it with heh instead of teh marbuta. It should still be found.
  5. Switch the keyboard to Arabic and scan. Try a code with letters and a plain numeric one.
  6. Change one user to English and another to Arabic on the same device. Check the receipt language does not follow whoever is logged in.
  7. If you are in Saudi Arabia, ask for the system’s ZATCA documentation and a sample simplified tax invoice.

A system that clears all seven will hold up at a busy counter in Riyadh, Dubai or Amman. One that fails step three will look fine in a demo on a laptop and fail on the first real receipt.

Solnay was built Arabic first rather than translated later. In the branch walks through what the counter does through a day, and the questions on the home page cover hardware and languages.

Common questions

What is an Arabic POS system?
A point of sale whose staff screens, receipts and search work properly in Arabic. That means the layout is mirrored right to left, prices and barcodes stay readable inside Arabic text, Arabic product names can be searched however they were spelled, and receipts print joined Arabic letters in the right order. A translated menu on a left to right screen is not the same thing.
Can a POS system be bilingual in Arabic and English?
Yes, and in the Gulf it usually has to be. The usual arrangement is a language per user, so one cashier can work in Arabic and the next in English on the same device, with the receipt language set by the business rather than by whoever is on shift. Product names are stored once, as entered, rather than translated per language.
Why does my receipt printer print Arabic letters backwards or disconnected?
Because the printer is drawing one character at a time from its own built in font. Arabic letters change shape depending on their neighbours and the line runs right to left, and many thermal printers do neither. The fix is to shape the text before it reaches the printer, either in the software or by sending a rendered image of the receipt instead of raw characters.
Should a POS use Eastern Arabic numerals (٠١٢٣) in Arabic mode?
It is a preference, not a rule, and it varies by country and by business. Many Gulf retailers use Western digits (0 to 9) on prices and quantities even in Arabic, because barcodes, card terminals and supplier invoices already do. Whichever you choose, it should be consistent across the screen and the receipt, and barcodes should always stay as printed.
Do receipts in Saudi Arabia have to be in Arabic?
Tax invoices and simplified tax invoices in Saudi Arabia have to be in Arabic, and they may carry another language alongside it. The human readable content is what has to be Arabic. Rules and enforcement change, so confirm the current position with ZATCA or a tax adviser rather than relying on any vendor, including us.

Keep reading

Want a till that keeps selling?

Scanning, totals and completing a sale all happen on the device. Leave an email and we will get in touch when pilot branches open in your area.

Talk to us about your counter