Skip to content

How the shop model works

Ten minutes here saves an hour of guessing later. Everything in the workspace is built from a small set of objects, and most confusion during setup comes from mixing two of them up.

Customers

ObjectWhat it isExample
OrganisationThe customer. Holds the price list, payment terms, default carrier, addresses.Northside Football Club
ContactA person at that organisation. One is the primary contact.Megan Cole
Portal userA login for the customer portal, tied to one organisation.megan@northsidefc.au
AddressA billing or shipping address on the organisation.Club rooms, 12 Park Rd

A contact is not a login. Creating a contact lets you quote and invoice them; inviting them to the portal creates the portal user that lets them log in.

Walk-in retail customers still become an organisation. That is normal and expected: it keeps history, reorders and invoices attached to something.

Product

Blanks are described in four layers, and SKUs are what stock actually attaches to.

Brand          Gildan
  Style          5000 Heavy Cotton Tee
    Colourway      Black
      Size           L
      = SKU        GIL-5000-BLK-L   <- stock lives here
ObjectWhat it is
BrandThe blanks manufacturer
StyleA garment model within a brand
ColourwayA colour of that style, with a hex value used for mockups
SizeS, M, L, OS and so on, with a sort order so size runs read correctly
SKUOne brand + style + colourway + size. Carries on-hand quantity, reorder point and reorder quantity
CategoryA grouping for the storefront: tees, hoodies, caps

Stock is never a single number that gets overwritten. Every movement writes a row to an append-only ledger, so on-hand is always explainable.

Decoration and price

ObjectWhat it is
Decoration methodScreen print, DTG, DTF, embroidery, vinyl. Carries the cost matrix and the constraints that apply to it
Price listA named set of prices. Assign one to an organisation to give a club or trade rate
Pricing ruleA composable rule that adjusts price: quantity tier, customer discount, setup waiver and so on
Coupon codeA percent or fixed-amount code a customer enters
PromotionAn automatic offer evaluated on save, such as buy 100 get 10 free

The order matters when you set these up. Decoration methods first, then price lists, then rules on top. Details in pricing rules.

The job

This is the spine of the product.

Quote  ->  Order  ->  (production stages)  ->  Dispatched  ->  Invoice  ->  Paid
ObjectWhat it is
QuotePriced lines, not yet committed. Can be sent, chased, and converted
Quote lineOne garment plus decoration plus quantity, priced by the engine
OrderA committed job. Has a stage, a due date, a promised dispatch date, stage history
Order lineThe same shape as a quote line, plus cost snapshots taken at the time
ArtworkThe design attached to an order, with versions, messages and an approval state
Production batchSeveral orders ganged together for one press run
Time entryOne staff clock-on against one order, costed at that person's rate
InvoiceIssued from an order, with lines, tax and a payment link
ReturnA receipt back in, with refund or credit note and stock writeback

Two things are snapshotted, deliberately, and this is worth understanding before you change a price or a pay rate:

  • Cost snapshots on order lines. The garment and decoration cost at the moment the order was created stays on the line. Raising a supplier price next month does not rewrite the margin of a job that already shipped.
  • Labour rate snapshots on time entries. The rate is frozen when the clock starts, so a pay rise does not retroactively change last month's job costs.

Workflow stages

An order's stage is the column it sits in on the production board. The default five:

Artwork Print queue In production QC + Pack Dispatched

You can rename these or add your own in workflow stages. Automations, the floor board and the operator stations all read the same list, so changing it changes them all together.

Selling surfaces

ObjectWhat it isPublic URL
Public shopYour catalogue on the apex site/shop
Affiliate storeA branded sub-store for one organisation/store/{slug}
Campaign storeA time-boxed group buy/campaign/{slug}
KioskIn-store iPad self-serve/workspace/kiosk

All four end in the same place: a real quote or order in your workspace.

Your shop, your team

ObjectWhat it is
TenantYour whole workspace. Everything above belongs to exactly one tenant
UserA staff login, with a role and a labour rate
RoleOwner, manager, sales, production, designer, finance or viewer. Decides which screens and actions are available
SettingA stored preference: brand name, accent colour, workflow stages, portal toggles

Roles are covered in team and permissions. The short version: give people the narrowest role that lets them do their job, and use viewer for anyone who only needs to look.

Printer's Friend - software for apparel print shops