Skip to content

Product Phase A Built

The Product module is the merchant's catalog. Owners and managers define what they sell — products, the sellable variants beneath each product, the prices (fares) those variants carry, the categories that group them, and the codes (SKU, barcode, QR) used to find them. Everything sold through POS, online, or any channel starts here.

1. Identity

PropertyValue
Module IDCORE-05
TierCore
StatusBuilt
PhaseP1 (catalog) · P2 (variants + fares) · P3 (advanced types + promotions)
PriorityHIGH
Primary usersOwner / Manager (catalog setup) · Cashier / Employee (lookup at POS)

2. Purpose & Scope

IncludedExcluded
Products, categories, and product imagesBill of Materials / recipe management → Inventory
Variants (the sellable units) + variant typesStock levels per location → Inventory
Pricing via fares (base, tiered, time/quantity/channel)Order processing & checkout → Orders
Product & variant identifiers (SYSTEM, SLUG, SKU, BARCODE, QRCODE)Tax rates & e-invoice → Tax & Invoice
Sale-channel availabilityCSV / bulk import (Planned)
Bundles (combo, add-on, frequently-bought-together)Promotion discount calculation (In-progress)

3. Capabilities

CapabilityWhat the user can doStatus
Product catalogueCreate, update, deactivate, archive, and reactivate productsBuilt
Multilingual infoName & description per product / variant in multiple languagesBuilt
CategoriesGroup products; flag a category as add-onBuilt
Product imagesAttach media to products and variantsBuilt
Default variantEvery product gets one variant automatically on creationBuilt
IdentifiersLook up by SYSTEM, SLUG, SKU, BARCODE, QRCODEBuilt
VariantsAdd multiple sellable variants per product (atomically with info, fares, IDs)Built
Variant typesSTORABLE, CONSUMABLE, SERVICE, KIT, COMBO, MANUFACTUREDBuilt
Units of measureBase / purchase / sale unit stored per variantBuilt
Sale-channel availabilityControl which products appear in which channelsBuilt
Fares (pricing)One fare set per variant; tiered prices by quantity, time, channelBuilt
BundlesCombo, add-on, and frequently-bought-together relationshipsBuilt
Effective date rangeVariants available only inside a validity windowBuilt
Variant pricing read endpointRetrieve a variant's resolved price in isolationPlanned
PromotionsDiscount campaigns (create/manage)In-progress
Unit conversionsBuy in one unit, sell in anotherPlanned
CSV / bulk importUpload a catalogue from a spreadsheetPlanned

Promotions can be created and managed today, but the discount calculation engine is disabled — discounts are not yet applied automatically at pricing time. See developer Promotions doc.

4. Module Dependencies

Depends onWhy
CommerceProducts and categories are scoped to a merchant
InventoryStockable variants seed inventory items; BOM lives here
OrdersVariants are what gets sold in an order
Tax & InvoiceTax groups are applied to products

5. Backend Packages

Implementation detail lives in the developer docs — this section only maps the module to the services that power it.

PackageRoleDeveloper docs
@nx/commerceProducts, variants, categories, identifiers, bundles, sale channelscommerce
@nx/pricingFare sets, fares, rules, fare selection, promotionspricing
@nx/coreShared schemas for all catalog entitiescore

6. Key User Flows

Product creation (aggregate)

Fare resolution (at sale)

7. Roles & Permissions

RoleCanCannot
OwnerFull catalogue management within own merchantsSee products of other organizations
Manager / EmployeeView and look up products in assigned merchantsSee merchants they are not assigned to
Admin / Super AdminView across all organizations (role filtering bypassed)

8. Status & Roadmap

PhaseCapabilities
P1Product CRUD, categories, images, default variant, base fare, SYSTEM/SLUG identifiers
P2Multiple variants (aggregate), multi-scheme identifiers, tiered fares (date/quantity), sale-channel availability, bundles
P3Advanced variant types (KIT/COMBO/MANUFACTURED with BOM), UOM, promotion discount engine, CSV import

Variant types and UOM storage are already built; the BOM consumption, unit-conversion, and promotion-discount behaviors that complete P3 are still pending — see the Capabilities table.

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.