Merit · E-Commerce Solution · Product explainer
PIM holds what every product is: its identity, attributes, versions and images. This page shows what it owns, how a product gets in, and every feature with the rules that make it testable.
And the three things it never holds: price, stock and seller.
PIM answers one question: what is this product. Who sells it, at what price and with how much stock is an offer, and offers live in E-commerce Core. Offers point at products, never the reverse. The service map shows every seam around it.
From the category tree down to the offer that points at it.
The leaf category is where the schema lives: which attributes are mandatory, which ones are variant axes, and which values each axis allows. A variant is identified by its complete set of axis values, so two variants of one product can never share them.
One upload, two writes, four possible paths.
One upload writes to two services: the product to PIM, the offer to Core. Four paths come out of the match. The variant creation rules give the acceptance criteria for each.
The rule that keeps a buyer from getting the wrong hardware.
The collision ladder, cheapest answer first. A seller can never create a variant axis: the upload form has no control for it, whatever the category setting says.
Every feature and the services it crosses. One feature is rarely one service, so a story is split per service by engineering, not by product.
| Feature | Seller Portal | PIM | E-commerce Core | LiveOps | Storefront | Online Catalogue | AI matching |
|---|---|---|---|---|---|---|---|
| 1. Taxonomy tree | ● | ● | ● | ||||
| 2. Category attributes and schema | ● | ● | ● | ||||
| 3. Variant axes | ● | ● | ● | ||||
| 4. Product matching on upload | ● | ● | ● | ● | |||
| 5. Variant creation and collisions | ● | ● | ● | ||||
| 6. Variant-level images | ● | ● | ● | ● | |||
| 7. Bulk upload by CSV | ● | ● | |||||
| 8. Barcode validation | ● | ● | |||||
| 9. System SKU | ● | ● | ● | ||||
| 10. Brands and translations | ● | ● | |||||
| 11. Online Catalogue sync | ● | ● | ● | ||||
| 12. Catalogue by channel | ● | ● | ● | ● |
Who each one serves, what it does, the rules to test it by, and its spec. OPEN marks a question not yet decided.
As a catalogue admin, I keep one category tree so every product has exactly one home.
A root split into Physical and Digital, then category, subcategory and leaf category. Names in English and Arabic.
As a seller, I see exactly the fields my category needs, and I cannot submit without the mandatory ones.
Each leaf category carries its attribute set: global, per type (physical or digital) and per category. Each attribute is Mandatory, Optional or Hidden, with a type and a validation rule.
As a catalogue admin, I decide which attributes split a product into versions, so sellers compete on the right thing.
Up to five attributes per category are variant axes, for example Storage and Colour on Smartphones. Region is the third axis on Smartphones: UAE, International, US.
As a seller, when I list something Merit already carries, I attach my offer to it instead of creating a duplicate.
Before anything is created, the upload is matched against the catalogue. Exact match runs on the product and its full set of axis values. AI matching adds a scored match for what exact match misses.
As a seller, I can add the cellular iPad when Merit only carries the Wi-Fi one.
A seller adds a new version of an existing product, or a new product with its first version. A version that cannot be told apart from an existing one stops and becomes a request to the catalogue admin.
As a member, when I pick the blue one, I see the blue one.
Each variant can carry its own images. The seller submits candidates, Ops approves the canonical set in PIM, and nothing reaches a client until it is approved.
As a seller with 2,000 products, I upload one file instead of 2,000 forms.
The seller downloads a template for a category, fills it, and uploads it. Columns come from that category effective schema.
As Merit Ops, I trust that a barcode on a product is a real one.
Where a category makes the barcode mandatory, EAN-13, UPC-A and GTIN-14 are checked by checksum.
As Merit Ops, I can refer to any variant by one id that no seller controls.
Every variant gets a Merit SKU. The SKU the seller submitted is kept alongside it.
As a member in Riyadh, I read the product in Arabic.
A brand dictionary links brands to products. Product and category content carries English and Arabic, including attribute labels and terms and conditions.
As Merit Ops, a product a seller lists in the New World can still be sold by an Old World client.
The live bridge between the two stacks. Product and stock go out by signed webhook to the Online Catalogue, which syncs on to MGC. An Old World order takes stock off the New World offer.
As Merit Ops, I control which products each client store can sell.
Rules decide which products are sellable in which channel. The draft specification orders them: SKU blacklist, then brand denial, then category exclusion, then the channel allow list.
The PIM words, used the same way every time.