Development · 18 min read

Salla vs Zid vs a custom store: what you can design (2026)

Salla vs Zid vs a custom Next.js store: what you can design on each screen, plan prices in SAR, mada and BNPL, ZATCA, and when going custom pays.

Summarize with

Salla vs Zid gives a designer the same answer twice: you can redesign almost every storefront page through a theme, but the checkout belongs to the platform. Salla themes are Twig templates on its Twilight engine; Zid themes are Jinja templates on its Vitrin engine. On both, the customer pays on a page the platform hosts, which you can brand but not rebuild.

Code-level theme work costs the same on each. Salla allows your own CSS and JavaScript, or a private Twilight theme, from Salla Pro (SAR 299 a month or SAR 2,990 a year). Zid lists CSS customisation on Growth (SAR 299 a month or SAR 2,988 a year) and above. A custom Next.js store gives you every screen, checkout included, but you then own payments, ZATCA e-invoicing and hosting.

This guide is for Riyadh founders and e-commerce leads choosing where a store should live. My team designs store themes and builds custom stores as part of my web app development work for Riyadh, and I mapped each screen from the platforms' own docs and pricing pages on 5 October 2026.

Salla vs Zid vs a custom store at a glance

SallaZidCustom Next.js store
Theme engineTwilight: Twig plus Salla web componentsVitrin: Jinja plus JSON settings schemasYour own React components
CheckoutSalla-hosted, brandableZid-hosted, as a page or a popupYours to design and build
Your own codeFrom Pro: CSS, JS, private themeGrowth and up: CSS customisationAlways
Headless front endCart APIs, then redirect to hosted checkoutStorefront APIs; login and checkout stay web pagesNative
API rate limit120, 360 or 720 requests a minute, by plan60 a minute per app per storeYour own stack

Salla and Zid give you the commerce engine, payments, invoicing and operations, and ask you to design inside their templates. A custom store gives you the whole surface and every obligation the platforms were carrying.

What a designer controls on each screen

Each platform documents a fixed set of page templates; anything outside it is a platform page. This map comes from Salla's Twilight docs and Zid's Vitrin docs.

ScreenSalla (Twilight)Zid (Vitrin)Custom Next.js
Homeindex.twig, with components merchants configurehome.jinja, with sections merchants reorderAnything
Category and searchListing template; <salla-filters> for filterscategory.jinja, products.jinjaYour own search
Productsingle.twig; options and add to cart via Salla web componentsproduct.jinja, with variant and option objectsEverything
Cartcart.twigcart.jinja, with shared payment widgetsEverything
CheckoutHosted; brand itHosted page or popupEverything
Order confirmationthank-you.twigNot among documented templatesEverything
AccountProfile, orders, wishlist, notificationsSystem pages you may overrideEverything
Arabic RTLdir from the theme's is_rtl flagdir from the session localeYou set lang and dir
Apps and APIsApp Store, Merchant API, webhooks400+ apps (Zid's figure), Merchant API, webhooksWhatever you integrate
Which parts of one Arabic product page and checkout you can change on Salla, on Zid and on a custom Next.js store, from the platforms' docs read on 5 October 2026.
Which parts of one Arabic product page and checkout you can change on Salla, on Zid and on a custom Next.js store, from the platforms' docs read on 5 October 2026.

Everything above the checkout is yours to design on all three, with Salla leaning on its own components for options and add to cart. From the checkout down, the platforms take over; only a custom store lets you redesign the payment step and the invoice hand-off.

From my work: ZenPay, a mobile wallet for sending, receiving and tracking money, designed by my team.
From my work: ZenPay, a mobile wallet for sending, receiving and tracking money, designed by my team.

Salla theme design: the Twilight rules nobody quotes

Salla theme design runs on Twilight: Twig templates, a JavaScript SDK and Salla web components. Salla's docs say the predefined pages' names and paths cannot change, and there is no checkout template; the cart links into Salla's checkout.

To publish in Salla's Theme Store, a theme must pass review:

  • Size. At most 1MB for a public theme and 2MB for a private one.
  • Uniqueness. A theme built on the starter, Theme Raed, must be "substantively different" in code and art direction.
  • Speed and access. Average Lighthouse scores of at least 60 for performance and 90 for accessibility, across product, collection and home pages, on desktop and mobile.
  • No hard-coded text or raw HTML. Strings come from localisation files, and settings may not let merchants paste HTML.

The UX review lists what pages must show: full product title, price, a tax-included indicator, variant images, a changed add to cart button for sold-out variants, and sharing such as WhatsApp.

On Salla's plans page, theme copies and scheduled publishing come with Plus; CSS, JavaScript and a private Twilight theme need Pro. Its payments page offers a checkout carrying the store's brand identity, plus a custom payment link and verification messages. That is the extent of checkout design.

One theme developer's README says checkout and thank-you flows are Salla-hosted, yet Twilight lists a thank-you template, so test it on a development store first.

In practice, 1MB means one Arabic and one Latin family in two weights, SVG icons and no heavy slider library. I set that budget before the first screen.

Zid theme design with Vitrin

Zid's theme engine is Vitrin: Jinja templates, JSON schemas that expose settings in the Theme Editor, and assets on Zid's CDN. Zid set 28 December 2025 as the cut-off for older Twig themes.

  • One base layout. Every template extends layout.jinja, which must include the vitrin_head and vitrin_body tags.
  • Fixed template names, defaults for gaps. Skip a template and Zid uses its default theme's version, so you can redesign only the home page, header and footer.
  • Optional account pages. Profile, orders, wishlist and loyalty are system pages you may override.
  • No custom error screens. Zid's SDK renders server errors, never the theme.

Zid gives the theme a little more say near checkout than Salla does. A checkout dialog template opens checkout in a popup, recommended on the product page. An Apple Pay template sells one product from the product page without touching the cart, or the whole cart from the cart page, once per page. Bank discount offers sit above the Tabby and Tamara widgets.

Zid's pricing page puts CSS customisation on Growth and Professional, a custom domain from Rise, and team seats at 1, 1, 5 and 20. I found no published theme size cap.

Going headless on Salla or Zid: the checkout stays hosted

Both platforms document APIs for a separate front end, such as a Next.js site or an app. Neither lets that front end take the payment.

Salla's Checkout APIs create carts, manage items by product ID, variant ID or SKU, apply coupons and attach a guest cart to a signed-in customer. Every cart response carries a checkout_url, the docs exclude payment submission, and the flow ends in a redirect to Salla's hosted checkout.

Zid's Storefront APIs cover the rest of the store, but Zid says there are no endpoints for login or checkout; apps open those pages in a web view with the session cookie.

Mind the limits. Salla's Merchant API allows 120 requests a minute on Plus, 360 on Pro and 720 on Special; Zid allows 60 a minute per app per store and tells developers to use webhooks. Cache the catalogue and rebuild pages on webhooks, rather than calling the API on every view. Then design the jump to the hosted checkout as a deliberate step.

A custom Next.js store: every screen and every obligation

A custom store removes the template list. You design checkout as one page or several, place the instalment message where research says it helps, model any pricing, and build Arabic right to left into every component, with locale routes as Next.js's internationalisation guide describes.

You also take on what the platforms were doing:

  • A commerce back end: catalogue, stock, orders, returns and an admin.
  • A gateway: Moyasar documents mada, Visa, Mastercard, Apple Pay, STC Pay and Google Pay; HyperPay lists Tabby, Tamara and STC Pay alongside cards.
  • Instalments: Tabby documents a checkout session API, on-site snippets and webhooks; Tamara runs its own API hub.
  • Sign-in: one-time codes, as both platforms use, or Nafath sign-in where identity matters.
  • E-invoicing, hosting and security: your Fatoora connection, PDPL-aware hosting and monitoring.

This is what my team scopes for Next.js development projects in Riyadh: gateway, invoice hand-off and hosting region are written down before any screen is coded.

Plan prices and payment fees in SAR (October 2026)

Neither pricing page says whether plan prices include VAT, so ask before budgeting.

PlanMonthlyBilled yearlyWhat it adds for design and build
Salla BasicFreeFreeNo online payments or own domain
Salla PlusSAR 99SAR 990Online payments, own domain, theme copies
Salla ProSAR 299SAR 2,990CSS and JS, private theme, staff accounts, ZATCA app
Salla SpecialOn requestOn requestFlexible payment fees, ERP integration
Zid StarterFreeFreeBank transfer and cash on delivery only
Zid RiseSAR 99SAR 990Custom domain, advanced payment methods
Zid GrowthSAR 299SAR 2,988CSS customisation, invoice and tax settings, free domain
Zid ProfessionalOn requestPaid yearly20 team members
Yearly price of each paid Salla and Zid plan in riyals, as listed on the platforms' pricing pages on 5 October 2026.
Yearly price of each paid Salla and Zid plan in riyals, as listed on the platforms' pricing pages on 5 October 2026.

The ladders match almost riyal for riyal, so the fee should not decide; what each plan unlocks should.

Zid publishes card fees; Salla's payments page lists methods but no rates, so ask Salla in writing.

Zid Payments, before VATRiseGrowthProfessional
mada1% + SAR 11% + SAR 11% + SAR 0.75
Visa and Mastercard2.4% + SAR 12.3% + SAR 12.2% + SAR 0.75
Apple PayCard's rateCard's rateCard's rate
American Express3.4% + SAR 13.3% + SAR 13.2% + SAR 0.75

Zid caps the mada fee at SAR 200 before VAT. On Growth, a SAR 349 mada order costs SAR 3.49 + SAR 1 = SAR 4.49, about SAR 5.16 with 15% VAT on the fee. By Visa it costs SAR 9.03, about SAR 10.38.

Payments: mada, Apple Pay, STC Pay, Tabby and Tamara on each

MethodSallaZidCustom Next.js
madaSalla PaymentsZid PaymentsYour gateway
Apple PayYes, with a buy buttonYes, quick checkout templateYour gateway
STC PayListedNot on Zid's payments page; askMoyasar, HyperPay
TabbyListed; instalment componentListed; payment widgetTabby's API
TamaraListedListedTamara's API
AlsoPayPal, Spotii, CashewMISPay, Emkan, MadfuAnything you integrate

Salla's Merchant API returns each store's enabled methods with slugs such as mada, stc_pay and tabby_installment, useful when a headless front end previews methods before the hand-off.

On a platform, your payment design work is the product and cart pages: where the instalment message sits and whether an express button appears. On a custom store you also design method order, Arabic error states and the 3D Secure return.

ZATCA e-invoicing on each option, and what Wave 25 changes

ZATCA announced Wave 25 on 24 July 2026: taxpayers whose VAT-able revenue exceeded SAR 187,500 in 2022, 2023, 2024 or 2025 must integrate with Fatoora by 1 February 2027. ZATCA's guidelines say business invoices are cleared before the buyer gets them, and consumer (simplified) invoices are reported in XML within 24 hours.

  • Salla: a free ZATCA app, for Saudi stores on Pro and Special only (help centre, 31 August 2026). It needs a ZATCA account, commercial registration, a verified store and a full branch address.
  • Zid: a free Fatoora link (help centre, 3 August 2026), needing the legal name, VAT number and address; the pricing page lists invoice and tax settings on Growth and Professional.
  • Custom: your own e-invoicing solution, plus invoice, credit note and status screens.

For a Wave 25 business on Salla Plus, compliance through Salla means Pro: SAR 2,000 a year more. That is small next to building the hand-off yourself. This is not tax advice.

When to go custom: a decision framework

Platforms suit most new Saudi stores. These triggers are where they stop:

  • The checkout must change: deposits, B2B terms, subscriptions.
  • Pricing the platform cannot express: trade tiers, rule-built bundles, multi-vendor splits.
  • Integrations hit rate limits: an ERP needing more than Zid's 60 requests a minute.
  • The theme fights the design: a storefront that cannot fit 1MB.
  • One back end for web and app.
Your situationBest fit
New brand, standard checkout, small teamSalla or Zid with a listed theme
Distinctive storefront, standard checkoutCustom theme on Salla Pro or Zid Growth
Custom front end or app, platform operationsHeadless on Salla or Zid
Checkout, pricing or integrations must changeCustom Next.js store
Wave 25 business on a lower planUpgrade, or custom with your own e-invoicing

If you stay on a platform, design still decides the result; my website design work for Riyadh covers Arabic-first storefronts.

From my work: Fintus, a website for a banking and saving platform, designed by my team.
From my work: Fintus, a website for a banking and saving platform, designed by my team.

Moving from Salla or Zid to a custom store: steps and cost

  1. Export data through each Merchant API; Salla returns at most 60 records a page.
  2. Map every URL to a 301 redirect before launch.
  3. Rebuild sign-in. Both platforms use one-time codes, so there are no passwords to move.
  4. Test payments end to end: mada, Apple Pay, STC Pay, instalments, refunds.
  5. Onboard e-invoicing on Fatoora before the first live order, with your tax adviser.
  6. Switch over: freeze the catalogue, move the last orders, point the domain.

Published costs come from global agencies, not Saudi custom builds; I convert at SAMA's 3.75 riyals to the dollar.

SourceScopeCostTime
HulkApps, Salla to ShopifyData: up to 1,000 products, customers, ordersFrom USD 1,499 (SAR 5,621)Not stated
Codilar, Salla to Shopify, July 2026Standard, or with ERPNot stated4 to 8 weeks, or 10 to 16
Elogic Cost Index 2026, tier 1Under 5,000 SKUs, no ERPUSD 15,000 to 50,000 (SAR 56,250 to 187,500)6 to 12 weeks
Elogic, tier 25,000 to 50,000 SKUs, one ERPUSD 80,000 to 250,000 (SAR 300,000 to 937,500)4 to 8 months

Codilar warns that skipping redirects loses three to six months of search equity. For local build prices, see my guide to website prices in Riyadh and Jeddah.

Common mistakes when choosing between Salla, Zid and custom

  • Designing a checkout the platform will not build. Design the hand-off instead.
  • Finding the 1MB budget at review. Fonts and sliders fill it fast.
  • Building on the wrong plan. Own code needs Salla Pro or Zid Growth.
  • Hard-coding text and left and right CSS. Salla's review rejects static strings.
  • Polling the API instead of using webhooks.
  • Going custom without owning e-invoicing.
  • Comparing plan fees only. Payment fees and apps usually cost more.

Frequently asked questions

Which is cheaper, Salla or Zid?

On list price they match. Both have a free plan, a SAR 99 monthly plan and a SAR 299 monthly plan, with enterprise plans on request. Billed yearly, Salla Plus and Zid Rise cost SAR 990, Salla Pro SAR 2,990 and Zid Growth SAR 2,988. Compare payment fees and what each plan unlocks instead.

Can I customise the checkout page on Salla or Zid?

Only its branding. Salla's hosted checkout can carry your brand identity, payment link and verification messages. Zid's is also hosted, but a theme can open it as a popup and add an Apple Pay quick checkout button. Rebuilding the payment step itself needs a custom store.

Do I need Salla Pro to build a custom theme?

For your own code, yes. Salla's plans page lists CSS and JavaScript customisation and building a private Twilight theme on Pro only; theme copies and scheduled publishing start on Plus. A theme sold in Salla's Theme Store must also pass review, including the 1MB size cap.

Can I build a headless Salla or Zid store with Next.js?

Partly. Salla's Checkout APIs let a Next.js front end manage carts and coupons, then redirect to Salla's hosted checkout. Zid's Storefront APIs cover most of the store, but login and checkout open as Zid web pages. You build everything before checkout and cache the catalogue to respect rate limits.

Do Salla and Zid handle ZATCA e-invoicing?

Yes. Salla's free ZATCA app links invoices to ZATCA on Pro and Special only. Zid offers a free Fatoora link, and lists invoice and tax settings on Growth and Professional. Both need your ZATCA account. A custom store needs its own e-invoicing solution connected to Fatoora.

Do Salla and Zid support Tabby and Tamara?

Yes. Salla's payments page lists Tabby, Tamara, Spotii and Cashew, and themes show instalments with a web component. Zid lists Tamara, Tabby, MISPay, Emkan and Madfu, with a shared payment widget for the cart. A custom store integrates Tabby and Tamara through their own APIs.

How long does it take to move from Salla to a custom store?

Published figures cover moves to Shopify or between global platforms. Codilar puts a standard Salla to Shopify migration at four to eight weeks, or ten to sixteen with an ERP. Elogic puts a small replatforming at six to twelve weeks. A custom build adds design and development time.

What is Theme Raed?

Theme Raed is Salla's open-source starter theme for Twilight, on GitHub. Many developers start from it, but Salla's publishing rules reject a theme that is not substantively different from Raed in code, design and functionality, and expect themes to keep up with Raed's updates.

My recommendation

Start on Salla or Zid unless the checkout, pricing or integrations must change. They are closer than most comparisons suggest: the same price ladder, the same hosted checkout, and the same SAR 299 plan before you write your own code. Choose on payment fees, apps and support, then put the design effort into the pages you control.

Go custom when the platform's checkout or limits cost more than a build, and plan gateway, instalments, e-invoicing and hosting before screens. If you are weighing that move, or a headless front end on your current store, read about me and my wider development service, then talk to me about Next.js store development for Riyadh.

Sources and method

Undated sources were read on 5 October 2026; Salla's plans and payments pages were read in a browser, as they block automated requests. USD figures use SAMA's official 3.75 riyals to the dollar. I could not find Salla's card rates, STC Pay on Zid's payments page, a Zid theme size cap, VAT treatment of either plan price, or any published Saudi range for a custom store.

Tags:
  • Saudi Arabia
  • Riyadh
  • E-commerce
  • Salla
  • Zid
  • Next.js

Keep reading

More notes from the blog.

Flutter vs React Native for Arabic apps: UAE and Saudi 2026

Development · 20 min read

Flutter vs React Native for Arabic apps: UAE and Saudi 2026

Flutter vs React Native for Arabic apps in the UAE and Saudi Arabia: RTL, digits, UAE PASS, Nafath, Tabby, Tamara and mada SDKs, and hiring, compared.

Web development cost in Estonia: 2026 rates, outsourcing

Development · 20 min read

Web development cost in Estonia: 2026 rates, outsourcing

Web development cost in Estonia in 2026, in EUR: salaries and employer tax, Tallinn agency rates, outsourcing compared, 24% VAT and project budgets, sourced.

Let’s build what’s next