Skip to content

Catalogs

Doug edited this page Jul 2, 2026 · 1 revision

Catalogs

Catalogs hold the products and services you sell — they feed the line-item pickers in estimates, quotes, and invoices. The full guide (including the API and validation rules) is docs/CUSTOM_CATALOGS.md; design rationale is ADR-015.

Catalog types

Every catalog has a type (product_class) that decides which fields its items carry. Every item, regardless of type, has the spine fields: SKU, name, description, cost, retail price.

Type Fields Notes
Parts spine + category
Doors spine + full install spec (size, R-value, panel style, …) unions with the manufacturer door feed
Custom… spine + your own fields no code, no migration

Custom catalog types (no code)

Catalogs → + New Catalog → type: Custom… — name the catalog and define up to 50 fields (Text, Long text, Number, Currency, Yes/No, Dropdown, Date; each optionally required). The catalog immediately renders a form and table built from your fields, so a business in any trade (HVAC, electrical, plumbing, …) can model its own products.

Under the hood this is schema-as-data: the field definitions live in custom_catalogs.field_schema (JSON) and item values in custom_catalog_items.attributes — no SQL table per type.

Pricing strategies

Item pricing is pluggable per catalog: the margin engine (customer pricing class → margin tiers, cost tiers, volume discounts, adder rules) or simpler strategies (manual / markup / keystone). Rates and tiers are managed under Accounting → Pricing and the Labor Matrix.

Catalog Packs

Installable catalog bundles: a pack ships a catalog type + items as data, so a distributor or community can share ready-made catalogs. Plugins can also create and upsert catalogs through the plugin→catalog API (see Authoring Plugins).

Working with catalogs

  • Multiple catalogs per instance, each with active/inactive items; the estimate picker shows one tab per catalog.
  • CSV import and AI import (describe items → auto-populate).
  • The built-in door catalog search unions the manufacturer feed with your custom door catalogs, so estimates see one list.

See also

Clone this wiki locally