Guide
UAE test data: Emirates IDs, IBANs, TRNs and VAT
Valid-looking UAE identifiers that pass the checks real systems run, for people who do not exist. Use them to test sign-up, KYC, payments and invoicing without touching real customer data.
The formats
- Emirates ID:
784-YYYY-NNNNNNN-C. 15 digits: 784 (the UAE), the year of birth, seven digits, and a Luhn check digit. - UAE IBAN: 23 characters,
AE, two check digits, a 3-digit bank code and a 16-digit account number. It passes the ISO 13616 mod-97 check. - TRN (tax registration number): 15 digits.
- VAT: 5%. Every total is subtotal plus VAT, exact to the fils.
- Mobile numbers:
+971 5X XXX XXXXwith real operator prefixes. - Names: Arabic and English, with about one record in seven in Arabic only and another in mixed script, the way real systems store them.
- Addresses: real districts in the right emirate.
Get a dataset
Name your columns and BoxAI fills them in these formats (UAE formats are the default):
curl -X POST https://api.boxai.dev/api/generate/schema \
-H "Content-Type: application/json" \
-d '{"ddl": "CREATE TABLE customers (id SERIAL PRIMARY KEY, full_name TEXT, name_ar TEXT, emirates_id TEXT, iban TEXT, mobile TEXT, emirate TEXT, trn TEXT)",
"rows": 50, "format": "csv"}' -o customers.zip
Or use the generator: "Quick UAE dataset" gives linked customers, transactions and invoices with no schema at all.
Check them in your own tests
A Luhn check for Emirates IDs, in JavaScript:
function validEmiratesId(id) {
const d = id.replace(/-/g, "");
if (!/^784\d{12}$/.test(d)) return false;
let sum = 0;
for (let i = 0; i < 15; i++) {
let n = Number(d[14 - i]);
if (i % 2 === 1) { n *= 2; if (n > 9) n -= 9; }
sum += n;
}
return sum % 10 === 0;
}
Every value BoxAI generates passes it. To test that your validator rejects bad input, change one digit.
E-invoices too
The generator's E-invoices tab gives UBL 2.1 invoices for the UAE (5% VAT, AED) and Saudi Arabia (15% VAT, SAR), plus broken copies with one named fault each, so you can prove your validator catches them. They are test fixtures, never for submission.
Is any of it real?
No. Every person, ID, account and company is made up. The values pass format checks but belong to no one; see Trust.