E-Commerce Store Development in Saudi Arabia — Built for the E-Commerce Law and Fatoora
What usually delays a store launch in Saudi Arabia is a late discovery of requirements that never made it into the plan: an email address on the store's own domain, live chat in Arabic, a clearly visible option to delete a customer account, an invoice reported to the Authority within 24 hours of issuance, and shipping fields that follow the National Address rather than the defaults in an off-the-shelf template. At Snaabble we put that list on the table during discovery, before design, marking what falls to you as the business owner and what falls to us as the technical party. Our team is Egyptian, based in Talkha, Dakahlia, with no branch inside the Kingdom, working with our Gulf clients fully remotely.
Get a quoteWhat is different in Saudi Arabia?
Before the first line of code: a register, an account, an authentication
The Ministry of Commerce guide sets out that practising e-commerce officially in the Kingdom requires a valid commercial register or freelance work document, a business bank account linked to the store, and authentication of the store through the Saudi Business Center platform, described as the only approved platform for the purpose. One point on place-of-business data is widely missed: using a domain name or email address associated with a particular country creates no presumption that the place of business is there, and the site must be linked to a national ID or residency for anyone inside the Kingdom, and to a passport for anyone outside it.
The 13 points the Ministry of Commerce checks on a store
The Ministry publishes what it checks during its supervisory rounds, and most of it is design decisions rather than legal clauses: a contact phone number, an email address derived from the store's domain, live chat and an FAQ page, a trusted payment method through approved banking channels, the ability to file a complaint on the site and on social media while disclosing the response time and the resolution time, disclosure of the delivery time before the purchase is completed and again on the invoice, Arabic support in complaints, chat and product display, and a written exchange and return policy stating who bears transport and shipping charges.
A simplified invoice is not a PDF file
Under phase two of e-invoicing, an onboarded invoicing solution generates a simplified invoice in XML or PDF/A-3 with embedded XML, stamps it with a CSID issued by the Authority, and attaches a QR code carrying nine tags in TLV format encoded in Base64. It goes to the buyer on issuance, then is reported to Fatoora in XML within 24 hours through APIs. A business tax invoice takes a different route: it is submitted for clearance first, returned stamped with the QR code, and only then reaches the buyer. The standard VAT rate set by the Zakat, Tax and Customs Authority has been 15% since 1 July 2020.
National Address fields on the shipping page
A National Address in the Kingdom is not a free-text line the customer fills in however they like. It is made up of a four-digit building number, a street name, a four-digit secondary number that pins the coordinates where street or district names are missing, a district name, a five-digit postcode and a city. Alongside it sits the short address of four letters and four digits. Building the shipping form on that basis cuts returns caused by an incomplete address, and hands the courier data its systems accept on the first attempt.
Deferred payment is a licensed option inside the cart
The Saudi Central Bank publishes rules regulating buy-now-pay-later companies, and has licensed Tamara Finance to carry out consumer financing and deferred payment, and Tabby Finance to carry out deferred payment. Two things matter to you as a merchant: confirming that the provider you add is licensed by the Central Bank, and making sure your store's order model can hold a payment split across instalments, including a partial refund and a cancellation after shipping. Those cases break plenty of systems designed on the assumption that an order is paid once.
What we build for you
A store built around the Ministry's requirements
An Arabic-first storefront with live chat and an FAQ page, a complaints form that shows the declared response and resolution times, and an account-deletion option placed visibly in the user's page rather than buried in settings. Exchange, return and privacy policy pages written for your store specifically, stating who bears the transport and shipping charges in each case.
An invoicing layer wired to the Fatoora platform
Generating the invoice with its required fields and QR code, reporting it on time, and keeping a log that shows every invoice's status, the reason behind any rejection, and an automatic retry when the connection drops. We keep this layer separate from the storefront so it serves the store, the app and the point of sale from one source instead of three implementations that drift apart.
A checkout that gathers mada, wallets and deferred payment
Connecting a gateway that supports mada with 3-D Secure, phone wallets where available, and a deferred payment provider licensed by the Saudi Central Bank. We design the order model to hold split payments, partial refunds and cancellation after shipping from the outset, because fixing that once the store is live means manual reconciliation on every single order.
Shipping with National Address fields
An address form matching the National Address components instead of an open text field the customer fills however they like, with validation on the lengths of the postcode, the building number and the secondary number, plus delivery cost calculation, waybill issuance and a customer tracking page.
An admin, inventory and reporting dashboard in riyals
Managing products, prices, coupons, orders, customers and stock, with sales reports that separate item value from tax from shipping from discount, so you read your real margin instead of a gross figure that says nothing. Permissions per employee decide who sees customer data and who can change a price or cancel an order.
Migrating a store off a hosted platform
Moving products, customers, orders and page URLs off your current platform with permanent redirects that protect your search rankings, and rebuilding the integrations your daily operation depends on. We start with an inventory of the platform features you actually use, so dead features do not travel with you and inflate cost and maintenance for nothing.
Frequently asked questions
Do I need a commercial register before launching the store?
The Ministry of Commerce guide states that practising e-commerce officially in the Kingdom requires a valid commercial register or freelance work document, a business bank account linked to the store, and authentication through the Saudi Business Center platform. These steps belong to you as the business owner and happen before launch, not after. We build the store and prepare its pages to display the required details, but obtaining the register or the document is not our work and we cannot do it on your behalf.
How does the store issue a ZATCA-compliant invoice?
A store selling to consumers issues a simplified tax invoice: the invoicing solution generates it in XML or PDF/A-3 with embedded XML, stamps it with a CSID, attaches a QR code of nine TLV tags encoded in Base64, then reports it within 24 hours of issuance. Selling to businesses takes the clearance route before delivery. In practice we build this layer once, with a status log and retries, because reporting does fail and that failure should surface to you rather than pass silently.
Does the store have to be in Arabic?
Among the points the Ministry of Commerce checks on stores inside the Kingdom: Arabic support in the complaints mechanism, its use in live chat, and product display in Arabic. So we treat Arabic as the store's primary language rather than a translation bolted on at the end: reading direction, field order, product names and descriptions, error messages and notifications. Adding English afterwards is easy; going the other way is expensive.
Do you add Tabby and Tamara to the store?
Yes, and the rule we follow is to confirm the provider is licensed by the Saudi Central Bank before integrating. The Bank has licensed Tabby Finance for deferred payment and Tamara Finance for consumer financing and deferred payment, and publishes rules regulating buy-now-pay-later companies. The important technical part is not the payment button but the order model: it has to hold an instalment split, a partial refund and a cancellation after shipping, without manual reconciliation.
You are in Egypt — who appears as the store owner and who owns the code?
You do. The details the E-Commerce Law requires a store to display, from name and address and contact methods to register name and number and tax number where one exists, are all yours and not ours, and the register and bank account are in your name. Snaabble is an Egyptian company based in Talkha, Dakahlia, with no branch in the Kingdom. On completion we hand over the source code, designs and documentation in full ownership, written into the contract, with an NDA signed before work begins.