BDS0.1

Rules and checks

The catalog rules recorded in Systems Central and how far each check column enforces them.

Reviewed 2026-11-04Markdown

Systems Central records six System Rules for Products & Services. Offer Check, List Check and Component Check check part of them. Product Check, Brand Check and Category Check also check the required identity fields before activation. A check shows one ⚠ fragment per problem it finds; blank means nothing it looks for is wrong.

Rules and their checks

System Rule Enforced by What the check catches What it misses
Goods and services are one Product table Manual review Not applicable; Kind is derived from Product Type* Stock, purchase cost or recipe columns added to Product
An offer sells one product through one seller Offer Check and manual review A blank Product*, a blank Seller* Two products or two sellers linked to one offer
A price list has one seller and one currency List Check Offers from more than one seller, offers in more than one currency, a list with no offers A single offer whose currency differs from the intended list currency when it is the only offer
A product never includes itself Component Check A line whose whole and part are the same single product Partial overlaps when several products are linked; indirect loops (A includes B, B includes A)
A deal proposes exactly one offer CRM Deal formulas and manual review Checked in the CRM Not checked in this base
Core and Products & Services never name their readers Manual review Not applicable A column, view or link named after a reading domain

The “deal proposes exactly one offer” rule lives on the CRM Deal; see Deal. The first rule’s source document, the build rules, is still marked as a proposal awaiting approval.

Read a check

Fragment Column Fix
⚠ No product name. / ⚠ No product type. Product Check Fill Name* and select Product Type*
⚠ No brand name. Brand Check Fill Name*
⚠ No category name. Category Check Fill Name*
⚠ No product. Offer Check Link Product*
⚠ No price. Offer Check Enter Price*
⚠ No currency. Offer Check Select Price Currency*
⚠ No unit. Offer Check Select Unit*
⚠ No seller. Offer Check Link Seller*
⚠ Valid From is after Valid Through. Offer Check Correct the dates
⚠ Offers from more than one seller. List Check Fix Seller* on the offer that differs, or move it to another list
⚠ Offers in more than one currency. List Check Fix Price Currency* on the offer that differs, or move it
⚠ No offers on the list. List Check Link Price List° from an offer
⚠ No product. / ⚠ Nothing included. Component Check Link Product* or Includes*
⚠ A product cannot include itself. Component Check Link a different part
⚠ No quantity. / ⚠ No unit. Component Check Enter Quantity* or select Unit*

Reference grid captured on 2026-10-28, before the intake views and label updates. Use the current view names in this guide.

Offer Check names what is missing; archived samples still show ⚠ No seller.

Limits of the checks

Checks run on every row, including Draft and Archived ones: the two archived sample offers show ⚠ No seller. The field descriptions ask for a blank check only on Active rows. No check blocks saving, changes Lifecycle Status* or notifies anyone. List Check reads the two rollups Seller (from Offers) and Currency (from Offers) and looks for the “ | “ separator; confirm the rollup aggregation formula in the field settings.