A Riyadh-based FMCG distributor runs a launch-week promotion on a new snack SKU, priced for the modern trade chains carrying it as a lead item. Within ten days the same SKU is on shelves in independent grocery stores across the city, priced below the chains' promotional rate. Nobody sold it to those stores directly. A Traditional Trade buyer logged into the same ordering portal the supermarket chains use, found the SKU sitting in the shared catalog, and ordered it — because nothing in the system told them they should not be able to.

One catalog, every buyer, no boundary

Most distribution operations expanding beyond a single sales channel build one product catalog and open it to every account that logs in. A hypermarket buyer, a pharmacy buyer, and a corner-store owner see the same SKU list, the same descriptions, the same order button — because building separate catalogs per channel is more engineering than most teams take on, and because for years the ordering process ran through a sales coordinator who applied the boundary manually, from memory, on every call.

The manual boundary worked as long as the coordinator handled every order personally and remembered which SKUs belonged to which channel. It stops working the moment ordering moves to any form of self-service — a shared spreadsheet, a broadcast list, or a buyer portal — because self-service removes the person who used to apply the rule. What a coordinator once enforced from memory is now enforced by nothing at all, unless the catalog itself carries the restriction.

The snack SKU above is a commercial problem — a modern trade account discovers a promotional price undercut in the open market and questions why the distributor let it happen. The next SKU to leak through an open catalog can carry a regulatory consequence instead: a product licensed for sale only through pharmacies, or excluded from a specific region, ordered and delivered to an account that was never entitled to buy it.

A catalog with no assortment boundary does not fail occasionally. It fails on the first order placed by a buyer who was never supposed to see the restricted SKU — which, in a self-service portal, can be the first order placed after launch.


Restriction scope is not one rule — it is layered

Assortment control in B2B distribution is not a single whitelist. Access to a given SKU is governed at the account level and at two independent classification levels above it — a buyer's commercial tier and their trade channel — and each restriction, at any level, carries a reason: regulatory or commercial. Collapsing these into one flat access list is how a distributor ends up unable to explain, months later, why a specific account could or could not order a specific product.

Commercial Tier scope
Restricts by the pricing tier an account sits in — Standard, Growth, Regional Partner, Strategic, Enterprise. A tier-scoped rule follows the account when its tier changes, without anyone re-configuring the catalog by hand.
Trade Channel scope
Restricts by how the account trades — Modern Trade, Traditional Trade, HoReCa & Food Service, Wholesale & Cash-and-Carry, Institutional & Industrial, Pharmacy & Healthcare. This is the axis that stops a channel-exclusive SKU from reaching the wrong kind of buyer, independent of the tier they hold.
Regulatory reason
The restriction exists because law or license requires it — a product sellable only through a licensed pharmacy, or excluded from a specific region. A regulatory restriction is not negotiable at the account level.
Commercial reason
The restriction exists because of a business decision — a channel-exclusive promotion, a brand reserved for a specific tier. A commercial restriction can be overridden for a specific account if the business chooses to.

Any of these rules can be scoped narrowly, to a single SKU, or broadly, to an entire category or brand. A distributor introducing a new imported brand can restrict the whole range to Modern Trade and Strategic-tier accounts in one rule, rather than tagging every SKU individually as it launches.


When rules overlap, precedence is fixed — not negotiated per order

The same account can sit inside a tier rule, a channel rule, and an account-specific override at the same time, and two of those rules can point in opposite directions for the same SKU. Operations that resolve this manually — a sales rep deciding case by case which rule wins — end up with a different answer depending on who takes the call. The precedence has to be fixed in the system, not decided fresh on every order.

Regulatory and geographic exclusions come first
They override every inclusion, at every scope. If a product is not licensed for a region or a channel, no tier override, no account-level exception, and no commercial judgment call reinstates it.
Account-level rules come next
They take precedence over tier and channel rules. A specific buyer can be granted or denied access to a SKU independent of what their tier or channel would otherwise allow, for a documented commercial reason.
Trade channel and commercial tier rules apply last
They govern where no account-level or regulatory rule overrides them. Where both axes are in play and disagree, the system flags the overlap for review rather than resolving it silently.

In Riyadh, a distributor carrying both grocery FMCG and a small range of pharmacy-only healthcare products cannot rely on a single catalog view. A wound-care product requiring a pharmacy license is scoped to the Pharmacy & Healthcare channel with a regulatory reason — and a Traditional Trade grocery account, even one holding a Strategic commercial tier with broad category access elsewhere, still cannot see or order it. If that same distributor later agrees to let one large Traditional Trade account carry a specific commercial-brand SKU outside its normal channel restriction, that is an account-level commercial override, layered on top of — never in conflict with — the regulatory exclusion sitting above it.

A commercial override can bend the rule for one account. A regulatory exclusion cannot be bent by any rule underneath it.


Enforcement belongs at the catalog, not just the cart

An assortment rule that only blocks submission at checkout still lets a restricted SKU sit visibly in a buyer's catalog view, priced, described, and one click from a cart — surfacing the exact commercial and regulatory exposure a channel restriction exists to prevent, even if the order itself never completes. A buyer who can browse a channel-exclusive SKU can quote the price to a competitor, or simply notice that the distributor is showing something they were told they could not access. Visibility is not a lesser version of the problem. It is the same problem, one step earlier.

Enforcement has to run at both layers — the catalog and the cart — and each has to run automatically rather than depend on someone remembering to check. Catalog-level enforcement means a restricted SKU never renders for an account outside its scope: no listing, no price, no description. Cart-level enforcement is the backstop for the case a catalog rule missed — a newly added SKU, a rule updated mid-session, a buyer with a cached view — so that even if a restricted product were somehow visible, the order still cannot be placed against it.


The catalog a buyer sees should already be the catalog they are allowed to order from

Assortment rules solve a narrower problem than pricing or MOQ enforcement, but they sit on the same principle: a restriction configured once, in one place, should apply everywhere the buyer interacts with the catalog, without a coordinator, a sales rep, or a support ticket standing between the rule and the order. In the Emdaad Admin Console, tier, channel, account, and regulatory restrictions are configured as layered rules scoped by SKU, category, or brand — with regulatory and geographic exclusions fixed above every other layer, and overlapping rules flagged rather than silently guessed at.

On the Buyer Portal side, the effect is that a buyer never has to be told what they cannot order — they simply never see it. The corner store that should not carry a modern-trade promotional SKU does not encounter it in their catalog. The account without a pharmacy license does not see a product that requires one. The catalog itself is the boundary, configured once by the distributor and enforced identically for every buyer who logs in, so the rule does not depend on who happens to be handling the order that day.

A distributor that gets this right stops discovering channel leakage after a supermarket chain complains about undercut pricing, and stops discovering a regulatory gap after a product has already shipped to an account that should never have been able to order it. The catalog a buyer sees becomes, structurally, the only catalog they were ever able to see.