Skip to content

Orders Page

The Orders page is the master list of every customer order in your Board. Where the Jobs page tracks individual products being manufactured, the Orders page tracks the customers and orders those products belong to — contact info, billing/delivery addresses, order dates, delivery dates, total values, and the source the order came from (manual entry, Shopify, WooCommerce, API, etc.).

Each order in this system represents one customer order — typically with a single client, one or more jobs (products), and an order-level total. Open the page from the main sidebar (Orders) or by navigating to /orders.

Orders page

Note on terminology: internally this resource is also called a “client/project” — you’ll see that wording in some panels and forms. In the UI and in this document we use Order consistently.


  1. What this page is for
  2. Anatomy of the page
  3. Searching and sorting
  4. Column visibility and order
  5. Adding a new order
  6. Editing an order — the Order panel
  7. Row actions
  8. Order sources
  9. Linking a Quote to an order
  10. Deleting an order
  11. How Orders relate to Jobs and Production
  12. Customizing the Orders page
  13. Tips and best practices

The Orders page answers these questions:

  • Who are our customers? — every customer with at least one order in the system.
  • What did each one order? — drill into an order to see the list of jobs (products) attached to it.
  • Where did the order come from? — manual entry, an e-commerce store, an API integration, a CSV import, …
  • What’s due and when? — order dates and delivery dates surface naturally in the list.
  • How do we contact them? — email, phone, company, billing/delivery addresses, plus any number of additional contacts per order.
  • What’s our public link to share with them? — every order has a Client Portal tracking link.

Use it as:

  • A CRM-lite for everyone who has bought from you.
  • A command center for one specific order — open it, see the jobs, jump to production, print labels.
  • A source-of-truth for upstream integrations — orders synced from Shopify/WooCommerce/etc. all end up here.

Across the top toolbar, from left to right:

  • Search box — free-text search across name, ref no, email, phone, company, external ID, and source.
  • Per-page selector — 5, 10, 25, 50, or 100 orders per page.
  • Column settings (gear icon) — toggle column visibility and reorder columns.
  • Add Order — create a new order.

Below the toolbar sits the orders table. Each row is one order. Clicking anywhere on the row (except the action icons) opens the Order panel in edit mode.

At the bottom of the page sits the pagination with a Showing X to Y of Z results counter.


Type into the search box at the top-left. The query matches against:

  • Name (the order/customer name)
  • Order Number (ref_no)
  • Email
  • Phone
  • Company
  • External ID
  • Source

Search is case-insensitive and uses contains matching. The list updates about 300 ms after you stop typing, and the query is reflected in the URL so a filtered view can be bookmarked or shared.

Click any sortable column header to sort by that column. The arrow icon shows the current direction; clicking the same header again flips ascending ↔ descending.

Sortable columns: Order No, Order Date, External ID, Source, Total Value, Delivery Date. Other columns (Name, Company, Email, Phone, Actions) are not sortable.

The default sort is most recently created first.


Click the gear icon in the toolbar to open the columns popover. You can:

  • Hide a column — click its row to toggle visibility. Hidden columns disappear from the table immediately.
  • Reorder columns — drag the grip handle on the left of each row.
  • Reset — restore the default layout.

Some columns are always visible (Name, Actions) and cannot be hidden — they’re greyed out in the popover.

Available columns:

  • Order No
  • Client Name (always visible)
  • Company
  • Email
  • Phone
  • Order Date
  • External ID
  • Source
  • Total Value (currency-formatted)
  • Delivery Date
  • Actions (always visible)

Visibility and order are saved per browser — each user can shape their own layout independently.


Click Add Order in the top-right. The Order panel opens in create mode on the General tab.

At minimum you need to provide a Client Name. Everything else is optional:

  • Order Number (ref_no) — your reference for this order. Often auto-generated for new orders.
  • Client Name, Email, Phone, Company
  • Country, Billing Address, Delivery Address
  • Order Date, Delivery Date
  • External ID and Source — used to tie this order to an upstream system. Most useful when integrations create orders automatically.
  • Total Value — the order’s monetary total.
  • Related Quote (optional) — link an existing quote to this order (see Linking a Quote).

Click Save to create the order. The panel switches to edit mode and the Contacts and Jobs tabs become available.


Click any row in the table to open the Order panel in edit mode. The panel has three tabs:

The full order form — every field listed in Adding a new order is here. Update what you need and click Save. The header also shows the order’s Created At and Updated At timestamps for reference.

If the order has a tracking token (every order gets one automatically), a Client Portal link is available in the panel header so you can copy a shareable URL to give the customer.

A list of additional people associated with this order — useful when an order has more than one stakeholder (e.g., main contact, billing contact, project manager). For each contact you can capture:

  • First Name
  • Last Name
  • Email
  • Phone

Use Add Contact to create one, the pencil icon to edit, and the trash icon to delete (with confirmation). The tab title shows the contact count at a glance.

A read-only list of every job (product) attached to this order, with each job’s:

  • Ref No
  • Name
  • Quantity
  • Delivery date

Click a job to jump to its full record on the Jobs page. This tab is the easiest way to see “everything that needs to be made for this order” without leaving the order context.

The tab title shows the job count.


Each order row has a cluster of icon buttons in the Actions column on the right.

The external-link icon appears when the order has a tracking token (every order gets one when created). Clicking it opens the Client Portal in a new tab — a public, read-only page the customer can use to track their order’s progress through your shop. The page shows:

  • Logo and company info at the top
  • The list of jobs in the order
  • For each job, a step-by-step progress indicator across your departments (complete / in-progress / pending / not-applicable)
  • The order’s delivery date and any other relevant fields
  • Optionally a ?theme=dark URL parameter for a dark theme

The portal auto-refreshes every two minutes so the customer sees fresh status without reloading.

You can paste the portal URL into emails, customer-facing dashboards, or invoices to give customers a self-serve view of where their order stands.

The folder-kanban icon opens the Production page in a new tab pre-filtered to this order’s Ref No — handy for quickly jumping from “the customer wants an update” to “what’s actually happening on the shop floor for them”.

The printer icon opens the Print Labels dialog for this order. The dialog lists every job in the order with a Copies input next to it — pre-filled with the job’s quantity. Adjust copy counts (0 to 500 per job) and click Print labels to generate a multi-page barcode label PDF in a new tab.

Common uses:

  • Print exactly one label per physical piece (default behavior).
  • Print one master label per job (set copies to 1).
  • Skip jobs you’ve already labeled (set copies to 0).

The label content and layout is configured in App Settings → Label.

The pencil icon (or clicking anywhere else on the row) opens the Order panel in edit mode.


Every order has a Source that identifies how it entered the system. There are two kinds:

Built into the product:

  • Manual — created by a user via the Add Order button.
  • WooCommerce
  • Shopify
  • PrestaShop
  • Magento
  • OpenCart
  • CSV — imported from a spreadsheet (via the Jobs page importer).
  • API — created by a call to the public API.

System sources have predictable keys (manual, shopify, api, …) — these are the values you’ll see in the source filter on Webhooks, the CSV importer, and similar places.

Defined in App Settings → Order Sources, with their own name, key, color, and ordering. Useful when you have other inbound channels (phone orders, marketplace integrations, a custom system, …) and want them to show up distinctly in reports and filters.

The source is shown in the Source column on the Orders page and also used to scope webhooks (see Webhooks) — for example, you can wire up a Slack alert that only fires for Shopify-source orders.


If your Board includes the Quotes module, the General tab has a Related Quote field. Type at least two characters into the search to pick from existing quotes.

When linked:

  • The quote and the order are joined one-to-one.
  • The order inherits some context (subject, client info, grand total) from the quote.
  • You can navigate from the order back to the quote.

Each quote can be linked to at most one order — if a quote is already linked elsewhere it won’t appear in search results.

To unlink, clear the field and save.


Open the order in the Order panel, then click Delete in the footer. A confirmation dialog will warn you that all contacts will also be deleted.

What is and isn’t cascaded on delete:

  • Deleted: the order itself, all its contacts, the public tracking token.
  • Not deleted: jobs that were attached to this order. Those become “orphaned” jobs (with no parent order) but their production data, time logs, drawings, etc. remain intact.

Deletion is permanent — there is no trash bin. If you only want to hide a completed order, consider archiving instead at the job level.


It helps to keep the data model in mind:

Order ─┬─ Job 1 ─── Workstation steps, logs, drawings, time tracking
├─ Job 2 ─── …
└─ Job N ─── …
  • Order = one customer order (this page)
  • Job = one product/item being manufactured (Jobs)
  • Workstation steps under each job = the shop-floor workflow (Production)

So if you have a single order for 3 chairs and 2 tables:

  • 1 row on the Orders page (the order).
  • 5 rows on the Jobs page (one per product line — though typically grouped by SKU into 2 or 5 jobs depending on how you model it).
  • Each job appears as cards across multiple workstation columns on the Production kanban.

The same external ID + source combination is what lets imports and integrations attach jobs to existing orders instead of creating duplicates — see the CSV import section in Jobs.


Some of what the Orders page surfaces is configured elsewhere:

To change…Go to…
Available Order Sources (custom sources, colors, ordering)App Settings → Order Sources
Currency used for Total Value formattingApp Settings → General
Label layout (used by Print Labels)App Settings → Label
Company info on the Client Portal (logo, name, contact)App Settings → General
Notifications & webhooks tied to order eventsApp Settings → Webhooks (docs)
Rename “Orders” in the sidebarApp Settings → Naming

Changes take effect immediately on the Orders page — no refresh required.


  • Use the search broadly. Because it covers Name, Email, Phone, Company, External ID, and Source, you can find an order by almost any piece of information the customer hands you.
  • Always fill in Order Date and Delivery Date — they drive sorting, the Production board’s date filters, and the Client Portal display.
  • Set the External ID + Source pair when importing or integrating. That pair is the key the system uses to detect duplicates on subsequent imports.
  • Hand the Client Portal link to customers instead of fielding “where’s my order?” questions. It auto-refreshes and reflects live production state.
  • Use View in Production as a one-click answer when a customer calls asking about their order — you go straight from the order row to the kanban filtered to their reference.
  • Bulk-print labels per order rather than per job — the Print Labels dialog lets you set per-line copies in one place.
  • Combine with Webhooks to forward order-level events into Slack, Teams, an ERP, or your own automation — see Webhooks.
  • Trim columns to your role. A sales person might keep Email/Phone/Company visible; a planner might prefer Order Date/Delivery Date/Total Value instead.