Merit · Product · Internal Explainer

The E-Commerce Solution, explained

Merit turns loyalty points that people cannot spend into things people actually want to buy. The E-Commerce Solution is the machine that does it. This page starts at the one-paragraph version and ends at the order state machine.

Owner: Brian Arfi Faridhi · Last updated 28 Jul 2026 · Audience: anyone new to Merit

01In one minute

If you only read one section, read this one.

Airlines, banks and telcos hand out loyalty points. Those points sit in member accounts unspent, which is a liability on the balance sheet and a dead experience for the member. These companies want to let members redeem points for real products, but running commerce is heavy: sourcing goods, warehousing, shipping, handling returns, and reconciling a payment that is half points and half card.

Merit is the managed commerce layer that sits in that gap. We bring a network of suppliers and a full commerce stack, and a client can launch a branded marketplace on top of it in weeks. Members burn points, Merit fulfils the order, and Merit and the client split the profit on the goods sold.

Off-the-shelf platforms like Shopify cannot do this, because they have no idea what a loyalty ledger is. Loyalty engines like Talon.One or Open Loyalty cannot do it either, because they have no catalog, no storefront and no fulfilment. Merit's wedge is the end-to-end combination, anchored in MENA logistics.

Revenue today

Merit's main business

Most of Merit's revenue comes from the E-Commerce Solution. It is the commercial engine, not a side bet.

Model

B2B SaaS plus take rate

Subscription plus a commission on GMV, plus a goods margin where Merit is Merchant of Record.

Target

16 tenants by Dec 2026

16 large tenants and 100 sellers, roughly $869.2K per month recurring at OKR close.

02Who is who

Three roles, and the vocabulary is genuinely confusing on day one because internal teams use the same word differently. Here is the version to hold in your head.

Left side
Client / Tenant
Owns the loyalty points. Saudia Al Fursan, SAIB, STC, Entertainer, Nielsen. Wants members to burn points. Runs a branded marketplace on Merit's stack.
Middle
Merit
Owns the commerce stack and the supplier network. Runs catalog, orders, logistics, payments and settlement. Takes a cut of every transaction.
Right side
Supplier / Seller
Owns the goods. Almania, Aleph, Just Lounge, Amazon, STC as an Apple distributor. Lists offers, holds stock, ships or hands to a carrier.

The end customer is the client's member. They never see Merit branding. They see the Al Fursan store, or the Entertainer app, and they think they are shopping with that brand.

Vocabulary landmine

Platform engineering calls everyone on the system a "tenant", including sellers, because everyone holds a licence. Product uses "client" or "tenant" for the points owner and "supplier" or "seller" for the goods owner. When someone says tenant, check which side they mean.

Where the other Merit products sit

Sibling product

B2C Super App

Merit selling directly to consumers instead of through a client. Same supplier network, same commerce core underneath. It exists so Merit builds a moat it controls, because B2B sales cycles are long and the client owns the relationship.

Module, not a product

Point Exchange

Burns and converts points across programs. It is a capability other products call, reached through the payment service at checkout. It is not something a client buys on its own.

Shared identity

Merit ID

One login with biometric auth that follows a user across the ecosystem. SSO into a tenant storefront is one of the launch gates.

03How the money works

Five earning layers. Two of them behave like software and three behave like retail, and they must never be blended in a P&L.

LayerWhat it isMargin character
SaaS platform feeRecurring subscription per tenant, indicative $500 to $20,000+ per month by tierSoftware, target ~80% GM
GMV commissionTake rate on transaction value, roughly 1% to 3% descending by tierSoftware, target ~80% GM
Goods marginWholesale versus retail spread where Merit is Merchant of RecordRetail, indicative 8% to 20%
Interchange and FXThin margin on the cash leg of a mixed payment and on cross-currency settlementThin but high margin
Ad placementsSuppliers pay for featured slots. Dynamic slot auction planned 2027Future state

On the client side, the profit on goods sold is shared with the client. The member burns points, Merit earns on the product, and the client takes its share. This is why point burn and GMV are the two numbers everyone watches.

Open decision, Finance and Fred

Revenue attribution is not settled. Do we book full GMV as Merit revenue under a Merchant of Record model, or only the commission we keep? This changes the headline number, and it has to be resolved before pricing goes public.

04The product map

The platform is a set of decoupled services behind a white-label storefront. Status is as of July 2026.

ComponentWhat it doesStatus
PIM
Product Information Management
Multi-tenant catalog. Categories, variants, product data and enrichment. Built on MedusaJS, 10,000+ SKU capacity. The single source of truth for what a product is.Live
E-Commerce CoreThe orchestration layer between PIM and every consumer or seller surface. Owns the product versus offer separation, offer CRUD, inventory per offer, and sales-channel isolation. One integration boundary instead of many.Building
Pricing & Commission EngineCommission configs, settlement maths, pricing ledger with audit, preview API. Recalculates commission when a supplier switches at runtime.Done
OMS
Order Management System
The state machine of every order from Placed to Delivered. SLA engine, refunds, payment-service integration, settlement hooks.Final integration
Seller PortalThe supply-side front door. Sellers upload products, manage price and stock, process orders, and see payouts. This did not exist in the old platform at all, which is why it was built first.Live, expanding
StorefrontThe consumer surface. Search, listing pages, product pages, cart, mixed-payment checkout. Multi-tenant white-label template, Next.js.~50-60%
Storefront BuilderThe control plane a tenant uses to create and configure its own store. Branding, catalog scoping, sandbox, zero engineering per tenant. This is what turns tenant #2 into a configuration exercise.In review
TMS
Transportation Management
Delivery orchestration through the OTO aggregator, 200+ GCC carriers behind one API. Auto-shipment, tracking, labels, failed-delivery handling. Replaces the MGC legacy path.Build starts Q3
Seller Payout & SettlementPayout after delivery net of commission, escrow hold, settlement ledger, seller statements.Q3 2026
SearchTypo-tolerant query understanding on ElasticSearch plus AI, Arabic first, faceted filtering. Fred has ruled this launch-critical, not optional.In progress
Notification HubBuyer and seller transactional events over push, email, SMS and WhatsApp. Shared platform service. SendGrid is the live connector, SMS is still being wired.Partial
Order Fraud ScreeningReal-time allow, review or block before fulfilment. Calls Marthino's risk engine.To do
Read the map this way

PIM knows what a product is. E-Commerce Core knows who is selling it and at what price. OMS knows what happened to the order. TMS knows where the box is. Seller Portal is how a supplier talks to all of that. Storefront is how a shopper talks to all of that.

05Old World and New World

The single most confusing thing about Merit for a newcomer, including anything you read on Confluence. Much of that space is written about the Old World and is not marked as such.

Old World

Legacy platform · serves every paying client today
  • Runs all live clients including Al Fursan, the biggest and most complex
  • Built business-led without a product team steering it, so the architecture accumulated instead of being designed
  • Symptoms show up as out-of-stock incidents, order failures and heavy manual ops
  • No Seller Portal. Suppliers cannot self-serve at all
  • Still being developed, because clients need fixes and features now

New World

Rebuild · no live client yet
  • Modular services: E-Commerce Core, PIM, OMS, TMS, Seller Portal, Storefront Builder
  • Designed around the product versus offer model from the start
  • Seller Portal shipped first and connects back into the Old World, so it delivers value before the migration completes
  • North star: Al Fursan live on the new stack by end of September 2026
  • Target: fully migrated by December 2026
The structural problem worth understanding early

You cannot freeze the old platform while you rebuild. Clients are transacting on it, so it keeps moving forward and keeps adding features. The new platform therefore has to rebuild everything and catch up to a target that is still advancing. This is the central constraint on every roadmap date in the E-Commerce Solution.

Migration in three phases

  1. Fill the gaps
    Build what the Old World never had, starting with Seller Portal, and connect it back so value lands immediately.
  2. Move the source of truth
    Once Seller Portal is live, product data ownership moves from Old World to New World.
  3. Keep some legacy as supply
    Certain Old World functions survive as suppliers into the new stack, gift card vendors being the clear case.

06Product versus Offer

The core data-model idea. Everything about the Buy Box, catalog quality and supplier onboarding follows from it. Amazon works the same way.

Product

What the thing is

Title, images, description, specifications, variants. One record per real-world product, shared by every seller who sells it. Lives in PIM.

Offer

What one seller will do

Price, stock, ship-from location, seller identity and seller quality. Many offers can attach to a single product. Lives in E-Commerce Core.

A shopper looking at an iPhone sees one product page. Behind it there may be four suppliers each with their own price and their own shipping cost. The page content is identical, the commercial terms are not.

Why this makes seller onboarding hard

Because products are shared, a supplier cannot simply create a new product record and set a price. If they did, the catalog would fill with duplicates of the same phone and the model would collapse. So every upload has to be matched against what already exists.

  1. Exact match first
    Regex and exact string matching. Cheap, fast, and correct when it fires. This is what is live today.
  2. AI match second
    When exact match misses, a model judges whether the uploaded item is the same thing as an existing product. Three outcomes: approved, not confident, different product. Currently in development and deliberately kept light.
  3. Human review on the middle case
    The not-confident bucket is where ops time goes, and it is the obvious place for a better model to pay for itself.

07The Buy Box

When several suppliers offer the same variant, something has to pick one. That selection is the Buy Box, and the rule was locked on 28 July 2026.

Phase 1 is backend only. The storefront does not change, so a shopper sees no difference. What changes is which supplier's offer the system commits the order to.

Selection, in order

  1. Gate 1 · Trusted stock
    Only offers from suppliers whose stock updates automatically are eligible. That means an API-connected live feed, or inventory decrement switched on. A supplier whose stock number is a stale spreadsheet cannot win.
  2. Gate 2 · Availability
    Zero-stock offers are excluded.
  3. Rank 1 · Price
    Lowest first.
  4. Rank 2 · Cancellation rate
    Within a 2% price band, the supplier who cancels less wins. Cheapest is not worth much if the order later dies.
  5. Tiebreak
    Lowest price, then fastest dispatch SLA, then a stable identifier so the result is deterministic.
  6. Fallback
    If no offer clears the gates, the configured default supplier takes the order.
Why trusted stock is gate one and not a ranking factor

Two suppliers drive most out-of-stock incidents. Both have API integrations, and both report stock data that turns out to be wrong, which forces ops into daily manual spreadsheet reconciliation. An offer whose stock number cannot be trusted is not a cheaper offer, it is a future cancellation. So it is filtered out before price is even considered.

08An order, end to end

The full path from browsing to points landing back in a member account, using the Al Fursan retail flow as the reference case.

  1. Browse
    Member opens the client's storefront or app. Product pages come from PIM, with the winning offer's price attached. Where an earn model is live, the page also shows estimated miles to be earned.
  2. Choose how to pay
    All card, all points, or a split. The split is chosen on a slider or entered manually.
  3. Checkout validation
    Price and inventory are revalidated against the supplier in real time. The Buy Box picks the winning offer per variant, and the supplier attribute is carried forward so fulfilment knows who owes the goods.
  4. Payment
    The cash leg goes through a gateway such as Moyasar. The points leg goes through the payment service to Point Exchange, which burns the points. Stock is reserved when the item enters the cart and released on abandonment, and the decrement call at order placement is synchronous and idempotent.
  5. Order created in OMS
    The OMS state machine has seven states: DRAFT, PENDING, CONFIRMED, FULFILLED, CANCELLED, FAILED, REFUNDED. The order is created at PENDING and moves to CONFIRMED on the payment.completed event. Each line item separately carries UNFULFILLED, FULFILLED or CANCELLED, and the order only reaches FULFILLED once every item does. Where earn applies, an earn transaction is created in Pending.
  6. Routing to the supplier
    The order goes to the winning supplier. The integration shape varies: a direct API call, a self-shipping partner who arranges last mile themselves, or a coordinate-gated model where the order is routed to the nearest store by geolocation.
  7. Fulfilment
    The seller picks and packs from the Seller Portal using pick lists and packing slips. TMS generates the label through OTO.
  8. Delivery
    A carrier from the OTO network, or the supplier's own courier where they self-ship. Tracking flows back into the order record.
  9. Return window
    Delivery confirmed, and a return window opens. Any earned points stay Pending for its duration. A cancellation or return inside the window voids the earn entirely.
  10. Points credited
    Window closes, earn moves to Released, and the points are pushed to the client's loyalty system through its API. The member sees them in the client's own account view, not in a Merit surface.
  11. Notifications throughout
    Confirmation, status changes and window closure go out over the Notification Hub.
Digital goods are much simpler

Gift cards and e-vouchers skip fulfilment, logistics and delivery entirely. Most Merit clients other than Al Fursan are gift-card only, which is why they are far less complex to run. Al Fursan is the hard case because it is physical goods at scale.

One important variant: approve before pay

In the Entertainer model the merchant sits in the middle of the flow. The customer submits a booking request, the merchant sees it in a web point-of-sale queue and approves, rejects or edits it, and only then is payment taken. That ordering exists because the merchant is selling capacity, not stock off a shelf.

09Payments and points

The part of the stack Shopify cannot replicate, and the reason clients sign.

Burn

Points only

The whole basket is paid in points. Points are burned through Point Exchange and the order proceeds with no cash leg.

Burn

Mixed payment

Points and card in a single transaction, split on a slider. This is Merit's proprietary piece. It removes the wall that stops members redeeming on high-value items when they do not have quite enough points.

Earn

Earn on purchase

The member earns points back on what they spend, closing the loop. Earn is calculated from what was actually paid, held pending through the return window, then credited.

Two rules worth remembering

There is a fourth pattern that involves no points at all. Bank offer redemption, as in the SAIB case, is entitlement-based: eligibility comes from holding the card, the discount is applied at the merchant, and the control is a one-use-per-customer-per-month cap verified with an outlet code.

10Clients and suppliers

Names you will hear in every standup, and what each one actually is.

Clients and tenants

NameWho they areWhat they run with us
Al FursanSaudia Airlines loyalty programThe flagship and the most complex client. Physical goods and gift cards, Apple Store, earn model. Merit builds and operates their storefront.
EntertainerUAE membership and voucher businessEmbedded transactional marketplace inside their app. Adds a booking and payment layer on top of a paper-voucher model.
SAIBSaudi bankOffer redemption migrating onto the Aseel Marketplace. Entitlement-based, not points-based.
STCSaudi telcoAppears on both sides. As a client for Qitaf points, and as an Apple distributor supplying the Al Fursan Apple Store.
Nielsen and KantarMarket research firmsGift cards as survey incentives. No points program involved, they simply need reward supply.
Bank al-EtihadJordanian bankE-commerce pipeline. Note this is the bank, not the airline.
MCM Credit Libanais, MastercardBank and networkLive marketplace tenants on the Old World.

Suppliers and sellers

NameSuppliesIntegration
AlmaniaGeneral merchandiseAPI with live stock feed. High out-of-stock contributor despite the integration, because the data is unreliable.
Just LoungeGeneral merchandiseAPI connected, and the same reliability problem. Its continued place in the network is under discussion.
AlephGeneral merchandiseManual, with inventory decrement enabled.
STCApple products, KSAFull API. Stock disclosed per city, orders routed by customer coordinates to the nearest store.
SalasaFulfilmentModelled as a supplier, not as an OTO replacement. Self-shipping, so Salasa arranges last mile.
OTOLogistics aggregationNot a goods supplier. 200+ GCC carriers behind one API, replacing the MGC legacy path.
Long tailToys, electronics, appliances, giftingRoughly eight manual suppliers including Tokyo Games, Jasani, SMEG, Toys R Us and Sun and Sand, with stock decrement status still being confirmed.

11Where AI fits

Concrete openings in this product line, ordered by how ready they are to be worked on.

Ready now

Product matching on seller upload

Deciding whether an uploaded item is an existing product or a new one. Exact match is live, the model layer is deliberately unfinished. Semantic search over the catalog is an obvious extension. Clear ops cost attached, and a clean evaluation target.

Needs scrutiny

The existing fraud model

An Old World model with reported precision, recall and accuracy all close to 100%, which reads as overfitting. The test set composition is not documented. Worth noting the intent was to reassure clients about redemption risk more than to run a real fraud engine.

In flight

Search that understands Arabic

Typo-tolerant query understanding on ElasticSearch plus AI, Arabic first. Launch-critical, not an add-on.

Later

Recommendations and ranking

Collaborative and content-based recommendation, frequently-bought-together bundling, a personalised feed ranked by purchase history and loyalty tier. Blocked on behavioural data volume, so build starts 2027.

Two platform bets that shape the AI surface

Instrumentation caveat

Behavioural tracking is thin today. B2C has not launched so there is no production data, Seller Portal and the dashboards have light tracking only, and Mixpanel is still on a free account. Any metric quoted off a current dashboard should be confirmed with Marthino before it is used. This directly limits what can be trained or evaluated right now.

12Glossary

The terms that will come at you in week one with no explanation attached.

Tenant
A brand or loyalty program running a branded commerce experience on Merit's stack. Platform engineering stretches the word to cover sellers too.
Client
The points owner. The unambiguous word to use when you mean the airline or bank, not the supplier.
Seller / Supplier
The party that owns the goods and holds the stock.
Old World
The legacy platform. Every paying client runs on it today.
New World
The modular rebuild. No live client yet, target 100% migration by December 2026.
E-Commerce Core
The orchestration layer between PIM and every consumer-facing or seller-facing surface. One integration boundary.
Product
What a thing is. Title, images, specs. Shared across all sellers.
Offer
What one seller will do. Price, stock, location, seller quality. Many offers per product.
Buy Box
The rule that picks the winning offer when several suppliers sell the same variant.
Trusted stock
Stock that updates automatically, either by live API feed or by inventory decrement being enabled. The first Buy Box gate.
Channel
A distinct storefront or sales environment, with strict data isolation between channels.
PIM
Product Information Management. The catalog source of truth.
OMS
Order Management System. The order state machine.
TMS
Transportation Management System. Delivery orchestration, running on OTO.
OTO
The logistics aggregator, 200+ GCC carriers behind one API.
MGC
The legacy logistics and catalog path being deprecated in favour of OTO.
Storefront Builder
The control plane a tenant uses to create and configure its own store without engineering help.
Mixed Payment
Points and cash in a single transaction, split on a slider.
Point Exchange
The module that burns and converts points. A capability other products call, not a standalone product.
Burn
Spending loyalty points. The core thing Merit exists to increase.
Earn
Accruing points on a purchase, which closes the loyalty loop.
Pending / Released
Earn states. Pending during the return window, Released once it closes and the points are credited.
Rate lock
The earn rate is fixed at fulfilment time, protecting the value shown on the product page.
Merchant of Record
Merit is the legal seller, carries the goods margin, and handles tax and settlement.
Merit ID
The shared identity layer. One login with biometric auth across the ecosystem.
WebPOS
The merchant console with a live order queue, used where a merchant approves an order before payment.
MFC
Merit Foundation Components. Shared services such as wallet, identity and billing that products reuse instead of rebuilding.