Map supplier cost per metre to Frame pricing categories used by Quotes. Gaps leave mouldings unclassified — they will not be guessed.
Workshop product catalogue — separate from Quote pricing in data.json. Search by product code; supplier is part of each SKU identity.
Each format tells Framed IN how to read one catalogue type (for example mouldings or matboards).
Upload one supplier file so Framed IN can list its columns. This does not import products.
Match Framed IN fields to columns from the sample. Suggestions are filled where possible — correct them before saving.
Choose a supplier and material type, then upload the supplier’s original file.
Configurable material and workshop product categories (for example Spacer or Backing). Prices use the same size bands as Frames, Glass, and Services. Frame, Mat, Glass, and Service remain specialised.
Reusable recipes of existing quote components. Selecting a preset on a Quote adds ordinary line items using current artwork measurements and pricing — presets have no prices of their own.
Workshop identity for the app and future printable documents. Pricing stays in its own settings — this is business details, logo, fonts, and colours only.
JPEG, PNG, or WebP up to 2 MB. SVG is not accepted (security). Without a logo, the display name is used as a text wordmark.
Curated Google Fonts only — no free-text CSS. Defaults match the current workshop: Krona One + DM Sans.
Core brand colours only. Layout, mitres, and components stay in style.css. Print views keep a white paper background.
Soft-deleted Quotes and Jobs. Restore when the number and relationships are free, or permanently delete with a stronger confirmation.