BoxAI

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

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.

Generate UAE test data now: free, no sign-up.

Open the generator API docs