Production Settings
Production Settings
Section titled “Production Settings”The Production Settings tab is where the structural lookup data that drives the shop floor lives — Job Statuses, Job Categories, and Order Sources. Get these right and the rest of the system reads like a well-organized workshop; get them wrong and your dashboards become noise.
Open the tab from App Settings → Production Settings.

Table of contents
Section titled “Table of contents”- What this tab is for
- Job Statuses
- The completion status
- Job Categories
- Order Sources
- System vs custom items
- Reordering
- Where these values are used
- Tips and best practices
What this tab is for
Section titled “What this tab is for”Three lookup lists, each on its own card:
| List | What it captures |
|---|---|
| Job Statuses | The workflow states jobs move through — Planning, In Production, On Hold, Completed, Archive, etc. Colored. |
| Job Categories | A free-form classification — typical values are product lines, services, or work types. |
| Order Sources | Where an order came from — Manual, Shopify, WooCommerce, API, plus any custom inbound channels you define. Colored, with API slugs. |
Each list has the same UX shape: an inline add form, a list with edit / delete actions, drag handles for user-defined rows, and a confirmation dialog before delete.
Job Statuses
Section titled “Job Statuses”The most important list on the page. Each status row has:
- Name — the label users see (Planning, In Production, Completed, etc.).
- Color — the hex color used as a swatch on the Production page, the Jobs table left-edge bar, the status filter, and elsewhere.
System statuses (typically Archive, the special “this job is done and put away” state) are locked and rendered separately at the bottom of the list. You can’t rename, recolor, or reorder them — they’re tied to internal hide-archived logic that depends on knowing where they are.
The completion status
Section titled “The completion status”A small dropdown above the list lets you flag which status is the “completion” status — the one the system auto-applies to a job when its last workstation step finishes.
- Pick a status from the dropdown to mark it as the completion status.
- The selected status gets a small badge in the list.
- When a job’s last task hits its planned quantity, the system automatically transitions the job to this status.
Why this matters. Without a completion status set, jobs that finish on the floor stay flagged In Production forever in the dashboard. Setting it once means jobs auto-close cleanly, the Hide Completed toggle on Production behaves correctly, and the
job_completedwebhook fires reliably.
Job Categories
Section titled “Job Categories”A simple list with just a Name for each entry. Same add / edit / delete UX as the other sections.
Categories show up:
- On the Job panel → General tab as a dropdown.
- On the Jobs list as a filter and a column.
- On the Production page kanban filter row.
Common categories: Furniture, Cabinetry, Repair, Custom, Sample, Internal. Keep them broad — categories are useful for grouping, not for fine-grained tagging.
Order Sources
Section titled “Order Sources”Where each order came from. Each row has:
- Name — display name (Shopify, Phone, Trade show, Walk-in…).
- Color — for visual identity.
- API slug — a stable identifier used by integrations, webhook scoping, and CSV imports.
System sources (manual, shopify, woocommerce, prestashop, magento, opencart, csv, api) are built into the product, locked, and shown with a lock icon. Their API slugs can’t be changed because external systems may reference them.
You can also add custom sources — give your custom inbound channel a name, a color, and a unique slug. They sit alongside the system ones in dropdowns and filters.
Where the API slug matters. Webhook subscriptions (Webhooks) can be filtered by source slug — set a webhook to fire only on
shopifysource orders, for example. The CSV importer matches against slugs to attach jobs to the right order. Pick something short, lowercase, alphanumeric, and stable.
System vs custom items
Section titled “System vs custom items”Both Job Statuses and Order Sources mix system and custom entries:
- System items are locked — rendered greyed out with a lock icon. They exist because some internal logic depends on a known item being available. You can’t rename or delete them.
- Custom items can be edited, recolored, reordered, and deleted freely.
For Job Statuses specifically, system statuses always sort to the bottom regardless of where you drag others — that’s intentional and not a bug.
Reordering
Section titled “Reordering”Custom rows in Job Statuses and Order Sources can be drag-reordered:
- Hover the row — a grip handle appears on the left.
- Click-and-drag to a new position.
- The new order is saved instantly.
Reordering controls:
- The order options appear in dropdown selectors (Status / Source pickers).
- The order custom Kanban Views display in the picker.
- The order columns or filters render in.
Job Categories don’t have drag-reordering — they sort alphabetically by name.
Where these values are used
Section titled “Where these values are used”| List | Where it shows up |
|---|---|
| Job Statuses | Job panel (current status), Jobs list (filter + colored left edge), Production page (status filter, completion auto-transition). Drives the Hide Archived toggle. |
| Job Categories | Job panel (dropdown), Jobs list (filter / column), Production page filter. |
| Order Sources | Orders panel (Source dropdown), Orders list (filter), CSV importer (Jobs CSV import), Webhooks source scoping. |
Changes here take effect immediately throughout the system.
Tips and best practices
Section titled “Tips and best practices”- Set a completion status. Without it, finished jobs aren’t auto-archived and your dashboards get noisier and noisier. Pick the status you actually want completed jobs to land in (most shops create a Completed status or use the system Archive).
- Color statuses meaningfully. Green = done / good, blue = in flight, amber = waiting / blocked, red = problem, grey = inactive. The colors appear on every job row and every kanban card.
- Keep statuses focused on the lifecycle, not on attributes. In Production, On Hold, Completed are good. VIP Customer, Wood Product, Rush are not — those are categories or custom fields.
- Lowercase, hyphen-free slugs for Order Sources.
phone-ordersworks;Phone Ordersdoes not. Slugs are the integration handle. - Don’t fight system items. They exist because internal logic relies on them. Add your own alongside; never try to work around the locks.
- Categories should be broad. 5–8 categories is plenty. If you find yourself with 30, you probably want a custom field on the Job Template instead.
- Pair custom Order Sources with Webhooks. A webhook scoped to your source can route those specific orders to the right Slack channel or ERP entry.