Catalog Product
What It Models
The catalog product combines Commerce’s presentation and goods-specific details around a product owned by Accounting. Its facets include shelves, storefront content, download files, delivery choices, variants and availability assessment. Accounting continues to own the base product and prices.
Identity and Attributes
Listings and merchandise details share the product key but have independent record versions. Shelf memberships are ordered. Replacing variants matches stock codes and preserves identifiers for retained variants, protecting inventory references.
Relationships
Store assortments select products through categories. Pricing reads the Accounting grid and Commerce purchasing settings. Promotion parts reference products or shelves, and related-product recommendations read listing links.
Invariants
Listings and slugs are unique, category hierarchy is rejected and store references prevent shelf removal. Download files require digital merchandise. Variant codes and selections remain unique. The combined service write is atomic, while the console’s multi-request save is not.
How It Is Stored and Shared
Catalog owns shelves, listings, images, files and asset lifecycle records. Merchandise owns delivery details, variants and option sets. Both run within Commerce; Accounting product reads cross the service ownership boundary, and product writes call Accounting’s functions. Custom fields and change events are absent.
Open Design Questions
Quotes currently receive empty variant and modifier collections even though the engine supports adjustments. Console saves can leave an incomplete item. Public purchasing of unlisted products remains an unresolved product question.