Settings → Materials
Your raw-materials catalog — the supply lines that make up every product's bill of materials. Sync it from Fulfil, add materials by hand, or both.
Where: setlist → Settings → Materials Feeds: the material picker in a product's bill of materials (BOM) Optionally powered by: the Fulfil connection
Two ways to stock the catalog
You don't have to use Fulfil. Materials can come from either source, and the two live side by side:
- Synced from Fulfil — when Fulfil is connected, it's the source of truth. Synced rows are read-only in setlist; you refresh them with Sync from Fulfil.
- Added in setlist — for shops that don't use Fulfil (or for one-off supplies), add materials by hand or import a CSV. These stay fully editable.
Each material shows: Name · SKU · Unit · Unit cost · Stock on hand. A badge marks where it came from — Fulfil · read-only, Added in setlist, or New — not in Fulfil for a stub that hasn't been reconciled yet. Only the "Added in setlist" rows carry an Edit action.
The toolbar above the table always offers Add material, Import CSV, and Sync from Fulfil (or Connect Fulfil when there's no connection).
On an empty catalog you get a hero instead, with a Setup actions menu offering the same choices: Sync from Fulfil / Connect Fulfil, Add material, and Import CSV.
Adding a material by hand
Click Add material and fill the form:
| Field | Notes |
|---|---|
| Name (required) | |
| SKU | Leave blank to generate one from the name. |
| Unit | e.g. ea (each), g, cm. Defaults to ea. |
| Unit cost | Per-unit cost used in BOM cost roll-ups. |
| Stock on hand | |
| Reorder point | Optional low-stock threshold. |
Add material saves it (a "Material added" confirmation shows). To change one later, click Edit on its row — the same form opens with Save, Cancel, and Remove. Only hand-added materials are editable; Fulfil-synced rows have no Edit action.
Reorder point isn't pulled from Fulfil. Fulfil models reorder thresholds as a separate record, so synced materials leave this blank (
—). It's yours to set on hand-added materials.
Importing materials from CSV
Click Import CSV, drop a .csv, and click Import. Recognized columns: name (the only required one), sku, unit, unitCost, stockOnHand, reorderPoint. A header row is expected; a file without one is read in that column order. Uploads are capped at 1 MB and 500 material rows per import.
Rows are matched to your hand-added materials by SKU and updated in place; new SKUs are created. SKUs already synced from Fulfil are skipped — Fulfil stays the source of truth for those. A summary reports "Imported 8 new · 2 updated," and names any skipped Fulfil SKUs.
Syncing from Fulfil
Sync from Fulfil does more than refresh numbers. In one run it:
- Matches your setlist product SKUs against Fulfil products,
- Compiles those products' bills of materials from Fulfil and stores them read-only on the matching setlist products, and
- Imports every material Fulfil uses as a BOM component — not only the ones your matched products consume — with its unit and stock-on-hand.
Details worth knowing:
- The button is replaced by Connect Fulfil until Fulfil is connected; "Last synced {date}" shows the most recent run.
- Unit costs come from Fulfil; materials it returns no cost for keep their existing cost.
- The result banner reports what happened — materials synced, BOMs compiled, any pending materials promoted, product SKUs not found in Fulfil, SKUs with no active BOM, and BOMs skipped because a component was deleted or archived in Fulfil.
- If you disconnect Fulfil after syncing, the synced rows stay visible (a "Fulfil not connected" banner appears) and your hand-added materials are untouched.
Pending / new materials
If someone stubbed a material from a product's BOM ("Add new material") that isn't in Fulfil yet, it shows in a Pending / New materials section, flagged New — not in Fulfil.
⚠️ Pending materials block "Ready for launch." A product can't reach Ready for launch while its bill of materials references a pending material. Add it to Fulfil — it promotes automatically on the next sync — or use Mark as in Fulfil to reconcile it manually. (Materials you added by hand don't block anything.)
For automatic promotion, create the Fulfil product with the exact SKU shown on the pending setlist row, including its generated NEW- prefix. setlist deliberately matches the Fulfil product code exactly; a similar product name alone will not promote a material because names cannot safely distinguish raw materials from finished goods.
Set it up
- Using Fulfil? Connect it, click Sync from Fulfil, then build BOMs from the catalog. Reconcile any pending materials before launching.
- Not using Fulfil? Add material or Import CSV to build the catalog yourself, then build BOMs from it.