⌘K
Role: {{ roleLabel }}
{{ storeWarnMsg }}
Loading workspace…

CAM · Fiber laser

Mitsubishi GX-F80 · parts come from items with a laser op
{{ camNote }}
Loading cut files…

CAD Engine

{{ qeFileLabel }}

Open a STEP file: every part is unfolded and timed from the laser cut chart and press-brake feed, PEM / captive hardware is detected from the product tree, and one click reproduces the file's build tree as items with BOM + routing — then quotes it.

Parts {{ qeCountLabel }}
No parts yet — open or drop a STEP file.
{{ r.name }} {{ r.time }}
×{{ r.qty }}· {{ r.mat }} HW
Job totals
Laser{{ qeTotLaser }}{{ qeTotLaserSetup }}
Brake{{ qeTotBrake }}{{ qeTotBrakeSetup }}
Hardware{{ qeTotHw }}
All-in{{ qeTotAll }}
run = Σ qty × min/pc · setups from op templates
3D preview drag to orbit · click a part · drop a STEP anywhere here
{{ qeBusy }}
{{ qeError }}
Select a part to see its flat pattern and times.
Detected hardware detected in CAD as “{{ qeHwCadName }}” · reset
{{ qeSelHwFamily }} thread {{ qeSelHwThread }} ×{{ qeSelHwQty }} in file

Recognized from the STEP product tree. On Create items this becomes a BOM line at its parent's hardware-insertion op.

{{ qeHwMatchInfo }}
{{ qeHwDupMsg }}
Part in STEP file as “{{ qeFabCadName }}” · use CAD name
{{ qeThick }}
Flat pattern{{ qeBlank }}
{{ b.label }}
{{ qeFlatBad }}
Hardware in this part
HW{{ h.name }}{{ h.meta }}
Time estimate
Laser cut{{ qeTLaserDet }}{{ qeTLaser }}
Press brake{{ qeTBrakeDet }}{{ qeTBrake }}
Hardware{{ qeTHwDet }}{{ qeTHw }}
Per piece{{ qeTTotal }}
{{ qeSetupNote }}
Generated build — review & edit
exactly what Create items + BOM will make · {{ qeDraftCount }} · nothing is saved until you create
Parts changed since this was generated

Items

{{ itemCount }} items · {{ attentionCount }} need attention
New item
{{ niFlatNote }}
ItemNameType On handAvailableCostPrice @1Status
{{ r.number }}Archived {{ r.name }} {{ r.typeLabel }} {{ r.onHand }} {{ r.avail }} {{ r.cost }} {{ r.price }} {{ r.dotLabel }}

Flag rules

The colored flag next to every item is decided by the first enabled rule (top to bottom) whose condition matches. Reorder, recolor, or disable rules — changes apply everywhere immediately.

Custom conditions build your own checks — they appear in every rule's condition dropdown
★ {{ cc.label }} {{ cc.summary }}
matches {{ cc.n }}
AND
matches {{ ccDraftN }} items now
matches {{ r.matchCount }} now

Operations & costing

Work-center rates drive every operation cost in the system; the operation library is the set of reusable, pre-costed steps estimators pull into routings. Rate changes reprice items instantly and mark their pricing stale.

The active shift is the capacity the smart schedule dispatches into — its hours and workdays drive every projected finish, the Gantt, and the overtime advisor. Holidays stay on the shop calendar under Schedule.

{{ sh.summary }}
Work centers
Work centerMachine $/hrLabor $/hrBurdened $/hrUsed by
{{ w.burdened }} {{ w.usedBy }}
Shop labor rate Used for cost and margin metrics wherever a work center carries no labor rate of its own. $/hr
Operation library
CAD default
@10: {{ o.cost10 }}

Cost @10 = (setup ÷ 10 + run) × burdened rate. These operations become the picker when adding steps to an item's build tree. Work you send out is priced from the services library below.

Outside services

Work sent out — coating, plating, heat treat. The library only names the service and ties its vendors, with how long each takes. What a vendor charges — price breaks, lot charge, freight, minimum — is set on the operation in the item's build tree, where the part and its quantities are known.

No outside services yet — add the first one to price work you send out.
{{ os.vendorCount }} {{ os.usedBy }}

Raw Materials

purchased stock — expand a row to manage vendors & pricing

Sheet and plate are bought by weight, so every cost in the system flows from these three numbers: density, price per pound, and the thickness on the stock item. Change a price here and every thickness of that material re-costs.

MaterialDensity lb/in³Price $/lbCost per ft² @ .125"
{{ fm.ref }}
New material {{ rmNewCatLabel }}
Unit ft²
Material and thickness
Stock sizes on the rack
Width inLength inSheets
{{ nz.info }}
{{ rmNewFlatNote }}
First vendor (optional)
{{ rmNewHint }}

{{ sec.label }}

{{ sec.desc }}
{{ sec.count }}
Material On handAvailableMin Unit costBest vendor
{{ rm.name }} {{ tg.t }}
{{ rm.onHand }} {{ rm.avail }} {{ rm.min }} {{ rm.cost }} {{ rm.bestVendor }}
Stock sizes {{ rm.flatNote }}
Width inLength inSheetsArea ft²Weight lbCost ea
{{ sz.areaTot }} {{ sz.weight }} {{ sz.cost }}
Category Tags Consumed in operations consumption = CAD blank in² × this value
Vendors & current pricing lowest price becomes the item's unit cost
VendorVendor PNLead (d)MOQCurrent price $

Purchasing Demand

{{ buyCount }} materials need a buy · est. {{ poTotal }}

What to buy to fulfill current sales orders: firm demand exploded down every BOM, netted against available stock and min levels, rounded to vendor MOQs. The shadow column shows the extra exposure if open quotes convert — buy it early or watch it.

Material Avail Req Shadow Buy Vendor Lead Est cost
Nothing to buy — all demand is covered by stock and open POs.
{{ pr.name }}
{{ pr.avail }} {{ pr.req }} {{ pr.shadow }} {{ pr.buy }} {{ pr.vendor }} {{ pr.lead }} {{ pr.estCost }} {{ pr.rfqChip }}
Buy as {{ pr.flatAdvice }}
{{ rfqSelN }} {{ poBatchNote }}
Request for quote

The same lines go to every vendor named here. Print each vendor's copy from the register, key their answers as they land, and award the winner — that raises the PO.

LineQty
{{ rl.number }} {{ rl.uom }}
{{ rl.name }} · {{ rl.note }}
Vendors to ask

Quote requests

print per vendor · key answers · award the winner
{{ rq.id }} {{ rq.state }} {{ rq.summary }} {{ rq.date }} → {{ rq.poLink }}
{{ qv.name }}
{{ qv.total }}
{{ ql.number }} {{ ql.qty }}
Scheduler — material short, nothing on order
{{ ma.number }} {{ ma.txt }}

Purchase orders

{{ poShowing }} · {{ poCommit }} committed
Purchase approver
New purchase order
ItemQtyUnit $Line
There are no items yet — a PO line is received against an item. Create the material under Items first.
Nothing purchased matches that.
{{ ln.total }}
Raised into the Approval list — it goes to the vendor once a purchase approver releases it.
{{ poNewTotal }}
{{ poDelayMsg }}
PO Contents Vendor Outstanding Due Value Approval On order Received
{{ poNoneMsg }}
{{ op.id }} {{ op.summary }} {{ op.partialLabel }} {{ op.summarySub }} {{ op.vendor }} {{ op.units }} {{ op.due }} {{ op.cost }} {{ op.sliderNow }} {{ op.statusLabel }}
{{ ln.name }} {{ ln.qty }} {{ ln.got }} {{ ln.left }} {{ ln.price }} {{ ln.ext }} {{ ln.bin }}
{{ op.approver }}
Cancelled — {{ op.cancelNote }}
Cancel {{ poCancelId }}
The order stays on the record as cancelled, with your reason and name, and drops out of the default view. Anything already received is unaffected.

Vendor performance

on-time percentage from the promised date against the date the goods actually landed
{{ vs.vendor }}
{{ vs.pct }}
{{ vs.delivered }}·{{ vs.liveN }} {{ vs.lateN }}
{{ vs.avg }}

Quotes

{{ quoteCount }} quotes · {{ liveCount }} live-priced

Live quotes reprice automatically whenever the item's cost, routing or margin changes. Mark a quote sent to lock its price; convert it to a sales order to release a job to the floor.

{{ mq.id }} {{ mq.customer }} {{ mq.date }} · {{ mq.lineCount }}
{{ mq.marginPct }} {{ mq.total }} {{ mq.status }}
{{ ml.number }} {{ ml.name }} {{ ml.unit }} /ea {{ ml.ext }} {{ ml.etaText }}
Single-item quotes (from item Sales tabs)
QuoteCustomerItem QtyUnitTotalMargin LiveStatus
No quotes yet — create one, or quote from any item's Sales tab.
{{ qr.id }} {{ qr.customer }}
{{ qr.name }}
{{ qr.qty }} {{ qr.unit }} {{ qr.total }} {{ qr.marginPct }} {{ qr.status }}
{{ qr.staleNote }}
New quote for
Quote lines
{{ nl.number }} {{ nl.uom }} · {{ nl.unit }} /ea {{ nl.ext }}
{{ nl.etaText }}
Click items on the left to add lines at the chosen qty.
{{ nqEtaNote }}
Quote total
{{ nqCartTotal }}

Customers

Who buys from you, and what they can do in their portal. Portal access lets a customer log in to see their parts, order status live from job tracking, place POs, and upload CAD for new parts — uploads land here flagged for engineering review before any price is shown.

{{ c.initial }} {{ c.inviteChip }}
{{ c.items }} items {{ c.openOrders }} open orders {{ c.lifetime }} lifetime {{ c.pendingNote }}
Each person gets their own link. Opening it lets them confirm their details and addresses, accept the terms and choose a 4-digit PIN — that PIN is how they sign in afterwards.
{{ ct.stateLabel }}
{{ ct.name }}
{{ ct.sub }}
{{ ct.when }}
{{ portalName }}

Sign in

Pick your name and enter the PIN you chose.

{{ portalPinErr }}
Need this on a different date? {{ dtTitle }} {{ dtSub }}
Your date now {{ dtWas }} {{ dtWasOrig }}
{{ dtDirHint }}
{{ dtHotMsg }}
{{ dtPendMsg }}
{{ dtAnswerText }}
Portal preview — this is what the customer sees after logging in.
jobs
logged in as
No customers have portal access — enable it on the Customers page.
{{ portalInitial }}

{{ portalName }}

{{ portalWho }}
{{ portalWhoSub }}
New part

Something we've never made — we'll review and price it.

Drop the STEP here. Engineering reviews the model, builds the process, and pricing appears once approved — the part shows as Awaiting review & pricing in your parts list until then.

Blanket agreements
Your standing commitments — each release becomes an order you can track above.
{{ pb.id }} {{ pb.poTxt }} fully released awaiting confirmation {{ pb.relTxt }} {{ pb.pct }} {{ pb.targetTxt }}
{{ pbl.number }} ×{{ pbl.qty }} — due {{ pbl.due }} · {{ pbl.state }}
Will your orders be on time?
{{ pfHeadline }}
{{ pfQCount }}
{{ lg.label }}
{{ pfNoHitsMsg }}
Nothing here — try another group above, or show delivered orders.
{{ tk.label }} today
date
{{ r.refPo }} · {{ r.refSo }}
Hot {{ r.number }}
{{ r.name }}
{{ r.date }} {{ r.dateNote }}
{{ r.label }}
{{ r.next }}
{{ sp.label }} {{ sp.detail }}
{{ r.kidsTitle }}
{{ kd.number }} {{ kd.name }} {{ kd.qty }} {{ kd.state }}
{{ ft.k }}
{{ ft.v }}
{{ pfShowing }}
Open orders
{{ ooCount }}
Our SOYour POPartStill owedDueStatus
{{ oo.so }} {{ oo.po }} {{ oo.number }} {{ oo.provLabel }} {{ oo.name }} {{ oo.qty }} {{ oo.dueLabel }} {{ oo.status }}
Nothing matches that. Try part of a PO number, an SO number, or a part number.
Completed orders
{{ coCount }}
Our SOYour POPartDeliveredOn
{{ co.month }}
{{ co.so }} {{ co.po }} {{ co.number }} {{ co.name }} {{ co.qty }} {{ co.whenLabel }} {{ co.onTimeLabel }}
Paperwork
Certificates & inspection
No certificates were required on this order. Ask us if you need one issued retrospectively.
Value
{{ co.value }}
Nothing delivered yet — completed orders land here with their packing slip and certificates.
New purchase order
{{ ppoBusy }}
Upload your PO Drop the PDF here — we read your part numbers, quantities and dates
{{ ppoFile }}
{{ ppoBlNote }}
{{ pr.title }} {{ pr.how }} {{ pr.sub }} {{ pr.ext }} {{ pr.price }} · {{ pr.priceNote }} {{ pr.mismatchNote }}
Estimated total
{{ ppoTotal }}
Highlighted lines aren't parts we've made for you before — we'll quote them and come back to you. They won't be priced on this order.

Prices shown are suggestions from what you've paid before or your quantity-break pricing. We review every uploaded PO and confirm pricing before production starts.

No items match — clear the search or ask us to add the part.
{{ cl.number }} {{ cl.qty }}
{{ cl.wasLabel }} · {{ cl.deltaLabel }} {{ cl.unitPrice }} /ea {{ cl.ext }} price to be quoted
Need by
{{ poTbcMsg }}
PO total
{{ poCartTotal }}
Your PO number is required

Prices are live from your quantity-break pricing and stay provisional until we confirm the order.

Standing order — blanket
Commit to a total quantity at today's price and take delivery in dated releases. The unit price locks at your total-commitment tier; we review and approve the schedule before anything is made.
{{ pb2.number }} {{ pb2.name }} {{ pb2.ext }} {{ pb2.unit }} /ea
{{ pt2.txt }}
Commitment total {{ pblGrand }}
Your PO number is required

Prices lock at the total-commitment tier and stay provisional until we confirm. Once approved, each dated delivery is released to production automatically ahead of its date.

Order received
Thank you — nothing else to do right now.
Our SO{{ poDoneSo }}
Your PO{{ poDoneRef }}

{{ poDoneMsg }}. We'll confirm pricing and dates, then it appears in Order tracking.

Your parts
{{ pPartsCount }}
{{ pi.number }} {{ pi.name }}
{{ pi.extPrice }}
{{ pi.unitPrice }} /ea · {{ pi.qtyLabel }}
Quote required
{{ pi.quoteMsg }}
{{ pi.note }}
{{ pp.number }} {{ pp.name }} Awaiting review & pricing
Nothing matches that. Try part of the number, or the part name.
{{ pPartsMore }}

Vendors

The master vendor list. Attach vendors and pricing to materials on the Raw materials page — this page owns who they are, terms and default lead times.

VendorContactEmailPhoneTermsLead (d)Supplies
{{ v.supplies }}
{{ dvName }} {{ dvKind }}
Opening… This file isn't stored on this device. Documents live with the terminal they were uploaded from — ask engineering to re-attach it, or open it on the machine it came from. {{ dvBody }} This file type can't be shown here. Download it to open it in the right application.
{{ pdocTitle }}
{{ pdocSo }}
Your PO {{ pdocPo }}
{{ pdocDateLabel }}
{{ pdocDate }}
{{ pdocNumber }} {{ pdocRev }}
{{ pdocName }}
Ordered
{{ pdocQty }}
In this box
{{ pdocSent }}
{{ pdocLeft }}
Promised ship date {{ pdocDue }}
Line total {{ pdocLineTotal }}
This price came from your purchase order and is still to be confirmed by our team.

{{ pdocFoot }}

Ask about {{ portalAskSo }}
{{ portalAskPart }} — this goes straight to the team working on your order, with the order attached so nobody has to ask which one you mean.

Equipment

Every machine in the shop lives here — lasers, brakes, welders, ovens. Machines with a cut-speed chart drive CAD-based run times; link any machine to an operation on the Operations & costing page.

work center {{ q.speedSummary }} chart-driven · time costs by
{{ q.linkedOps }}
Costing metrics

What this machine charges work by. Operations linked to it get one quantity field per metric — cost work by hours, distance, bends, hits… your choice.

unit {{ mx.valueLabel }}
No metrics — operations on this machine cost by setup + run time only.
Cut-speed chart
Feature-size bands Applies to every material — per-row overrides live in each table
{{ g.material }} {{ g.count }} thicknesses
ThicknessFull ({{ eqUnitSpeed }})Med %Small %Small ≤ ({{ eqUnitLen }})Med ≤ ({{ eqUnitLen }})Pierce (sec)
{{ sp.gauge }}
No chart — this machine costs by time only.
{{ itemPos }}
What it can do
CAD
{{ fp.tag }}
Sheet yield %
{{ fp.yieldNote }}
Rev {{ itRev }} {{ itTypeLabel }}
{{ dotLabel }}·{{ dotReason }}
{{ f.text }} — {{ f.by }}, {{ f.date }}
Attributes
{{ a.k }}
{{ a.v }}
Notes

{{ itNotes }}

Status flag
{{ dotLabel }}

{{ dotReason }}

Used in
{{ usageSummary }}
{{ usageEmptyMsg }}
{{ ur.rev }}
{{ ur.name }}
{{ ur.rollsTo }}
{{ ur.per }}
{{ ur.multi }}
{{ ur.feeds }}
{{ ur.kind }}
{{ ur.jobsLabel }}
Quantity break pricing
Margin %
QtyRolled cost /eaMargin %PriceOverrideEffectiveActual margin
{{ b.qty }} {{ b.cost }} {{ b.computed }} $ {{ b.effective }} {{ b.margin }}

Prices stay frozen until refreshed — cost changes raise the amber warning but never silently move the sell price. ↻ re-freezes a row at current cost × margin; an override pins the row outright.

Cost last changed {{ costUpdatedAt }} · price last set {{ priceUpdatedAt }}. Editing margin or overrides marks pricing current.

Open quotes on this item
{{ q.id }} {{ q.customer }}
{{ q.statusLabel }}
Qty {{ q.qty }}· {{ q.price }} /ea {{ q.delta }}
No open quotes reference this item.

Live quotes reprice automatically as the item's cost or routing changes, until marked sent — sent quotes freeze at their snapshot.

Approved vendors
VendorVendor PNLeadMOQLast price
{{ v.vendor }}{{ v.vendorPN }}{{ v.leadDays }} d{{ v.moq }}{{ v.lastPrice }}
Purchase orders
POVendorQtyPriceDueStatus
{{ p.po }}{{ p.vendor }}{{ p.qty }}{{ p.price }}{{ p.due }}{{ p.status }}
Unit cost
$ per {{ itUom }}
Purchase unit
1 {{ puVendorUnit }} = {{ itUom }}

{{ puSummary }}

Changing cost marks dependent manufactured items' pricing stale and reprices live quotes — watch the status flags.

Reorder
Min stock {{ itUom }} {{ itOnOrder }}
Cost preview at lot qty
Rolled cost /ea {{ rolledCost }}
No sales orders yet — customers appear here once this part ships on an order.
{{ cu.initial }}
{{ cu.customer }}
{{ cu.orderCount }} · last {{ cu.last }}
Total qty
{{ cu.qty }}
Last price
{{ cu.lastPrice }}
Lifetime
{{ cu.rev }}
OrderDateQtyUnit priceExtendedStatus
{{ so.so }} {{ so.date }} {{ so.qty }} {{ so.unitPrice }} {{ so.ext }} {{ so.status }}
Adjust stock {{ adjTitle }} — {{ adjOnHand }}
Location On record Counted Change
{{ al.code }} {{ al.name }} {{ al.cur }} {{ al.delta }}
New on-hand {{ adjTotalTxt }}
{{ adjDeltaTxt }}
A location cannot hold less than nothing — correct the negative line before posting.
{{ adjShortMsg }}
None of this part sits in a location yet, so there is nothing to move. Use Count / correct to file some stock first.
Stocking policy

This is the one setting the whole system reads — it decides where finished parts go, whether stock levels apply, and how a shortage is answered.

{{ itUom }}
Home
{{ s.v }}
{{ s.k }}
Competing demand
{{ cdSummary }}

{{ cdNote }}

{{ cd.ref }} {{ cd.what }} {{ cd.qty }} {{ cd.due }}
Where it sits
{{ invPlaced }}
Home location {{ invHome }} — deliveries file themselves here
No home location set — receipts land wherever the receiver picks. Set one in the stocking policy above.
{{ z.tip }} {{ z.code }} {{ z.qty }} Home location for this part
{{ invPlanNote }}
Nothing of this part is filed in a location yet.
{{ invUnplaced }}
Recent adjustments
{{ ar.date }} {{ ar.text }}
Reserved against jobs
{{ invHoldTotal }}
Nothing is holding this part. Reservations appear here the moment a job is released to the floor.
{{ ih.id }} {{ ih.customer }} {{ ih.status }} {{ ih.due }} {{ ih.qty }}
On its way in
{{ invIncomingTotal }}
Nothing on order.
{{ ii.id }} {{ ii.status }} {{ ii.vendor }} {{ ii.got }} {{ ii.due }} {{ ii.qty }}
Movement history
No location movements recorded for this part yet.
{{ im.date }} {{ im.loc }} {{ im.text }} {{ im.who }}
Build documents
{{ docCount }}

Everything attached here reaches the operator on the floor terminal, where it opens full screen without leaving the job. Scope a document to one operation and only that station sees it.

No routing yet — documents will show at every operation once one exists.
Drop documents here, or click to browse PDF drawings, images, specs — several at once. 12 MB each.
Document Kind Shown at
{{ dr.name }} {{ dr.meta }}
Requirements
{{ c }}
Certificates on file
DocumentKindReferenceDate
{{ c.doc }}{{ c.kind }}{{ c.ref }}{{ c.date }}
{{ h.date }}
{{ h.ref }}
{{ h.text }}
{{ h.meta }}
Nothing in this category yet.
{{ viewerTitle }} {{ viewerHint }}
{{ viewerFlatMeta }}
DFM findings
{{ iss.level }}
{{ iss.text }}
{{ lblTitle }} {{ lblSizeNote }}
{{ lblTitle }}
{{ lblPart }}
{{ lblDesc }}
{{ kv.k }}{{ kv.v }}
ROUTING
{{ lo.n }}{{ lo.name }}
{{ lblNote }}
{{ lblBarText }}
{{ lblBarText }}
{{ lblBcLabel }}
Sizes & content are set under Admin → Documents & labels
{{ soConvertedId }} created

The quote is now a sales order. Confirm it on the sales-order board to create its jobs.

{{ fpLabel }}
{{ fpNumber }} · {{ fpName }}

{{ fpCond }}

Open flags
{{ ff.text }}
{{ ff.by }} · {{ ff.date }}
{{ shortAskJob }} finished short
{{ shortAskItem }} — {{ shortAskLine }}
{{ shortAskSo }} is still owed the difference. Raise a make-up job now and it lands approved, ready to release when material is there. Dismiss and the order simply ships short.
PO {{ nsoPoWarnPo }} is already on file
{{ nsoPoWarnCust }} sent this PO number before — it came in as {{ nsoPoWarnSo }}. If this is the same order, open it instead of entering it twice.
Adjust completed count
{{ adjTitle }}

{{ adjNote }}

{{ toastMsg }}
Raise flag on {{ itNumber }}
Add sub-item to {{ asOwnerNumber }}'s BOM
{{ asCount }}
Change operation op {{ opSeq }} · {{ opWc }}
Nothing in the library matches — operations are defined in Admin → Operations & costing
{{ opLibCount }}
Add operation to {{ addOpOwnerNumber }}
{{ addOpCount }}
library lives in Admin → Operations & costing
{{ blNumber }} in {{ blOwnerNumber }}

Inventory

Live stock across the shop — fed by receiving (POs in), job completions (finished parts in, materials consumed) and shipping (goods out). Type a counted quantity to record a cycle-count adjustment.

{{ tl.label }}
{{ tl.val }}
{{ tl.sub }}
Item On hand Alloc Avail On PO Min Location Unit cost Value Status
No items match this filter.
{{ iv.name }}
{{ iv.typeTag }} {{ iv.uom }} {{ iv.allocated }} {{ iv.avail }} {{ iv.onOrder }} {{ iv.min }} {{ iv.loc }} {{ iv.unit }} {{ iv.val }} {{ iv.state }}
Customer price {{ pxTitle }} {{ pxSub }}
On this order
{{ pxNow }}
{{ pxLockNote }}
Item price today
{{ pxCur }}
{{ pxCurNote }}
{{ pxDriftMsg }}

Sales orders

Every order in one list. Confirm creates the jobs, Ship deducts stock and closes the order; orders whose job finishes on the floor turn Ready automatically. Click a row for lines, PO documents and partial shipments.

Blanket orders total commitments released in chunks — every release ships at the price locked when the blanket was created
{{ bl.createdTxt }} {{ bl.valueTxt }} past its target date — the balance stays open nothing fires and no work starts until it's approved master job {{ bl.masterTxt }} runs this blanket's release engine on the Jobs page
LineItemQtyDueEst. pushRunwayLocked priceStatusSub-job
{{ bll.n }}
{{ bll.name }}
{{ bll.qty }} {{ bll.relDueTxt }} {{ bll.pushTxt }} {{ bll.runwayTxt }} {{ bll.price }} {{ bll.stTxt }} {{ bll.subNoTxt }} locked released
a line = one delivery: it fires ahead of its due date as one child order → one sub-job
Releases
{{ br.date }} · {{ br.how }} {{ br.sum }}
Order analytics
{{ at.label }}
{{ at.val }}
{{ at.sub }}
Monthly sales booked shipped
{{ mo.label }}
Jobs per month completed open
{{ mo.label }}
Sales by customer (booked)
{{ ac.name }}
{{ ac.val }}
No orders booked in this window.
{{ qrCount }} — parts a customer ordered through the portal that aren't in the catalogue yet
{{ qr.id }} {{ qr.part }} {{ qr.desc }} {{ qr.qty }} {{ qr.customer }} {{ qr.so }}
{{ soCountLabel }}
{{ drTitle }}
{{ dr.customer }} — {{ dr.so }} · {{ dr.part }} {{ dr.was }} → {{ dr.want }} {{ dr.movedNote }} “{{ dr.note }}” {{ dr.headline }} {{ dr.cost }}
{{ soUnknownMsg }}
Order Customer PO # Progress Promised Est. ready Value Stage
No orders here — create one or scan a customer PO.
{{ sc.so }} {{ sc.date }} · {{ sc.nItems }} {{ sc.customer }} {{ sc.po }} {{ sc.progLabel }} {{ sc.dueTxt }} {{ sc.estReady }} {{ sc.value }} {{ sc.stage }} {{ sc.provLabel }} no date {{ sc.backLabel }} {{ sc.openJobsWarn }} short {{ sc.gateNote }}
{{ sc.srcNote }}
{{ sc.quoteNote }}
{{ sc.promiseNote }}
Drop the PO document here, or click to browse
Part Qty Unit Value Stage
{{ ln.name }} {{ ln.qty }} {{ ln.unit }} {{ ln.ext }} {{ ln.stage }}
{{ ln.availNote }}
{{ soRestLabel }}
New sales order

Orders land in New — needs confirmation. Jobs are only created when you drag the order to In production.

{{ nsoScanBusy }}
line quantities are the total commitment · prices lock today · release chunks later from the blanket card
Drop the customer's PO PDF — I'll fill this in Reads PO number, due date, customer and line items · attaches the PDF to the order {{ nsoScanDone }}
New customer
Schedule splitter — pick the part above, then split its total into dated lines (e.g. 1000 pcs, 200 every 2 weeks)
{{ nl.number }} {{ nl.qty }} due {{ nl.due }} {{ nl.how }} {{ nl.desc }} {{ nl.priceWarn }} {{ nl.price }}
Order total
{{ nsoTotal }}
Release buffer {{ nsoBufTxt }}
Each dated line fires exactly at due date − runway, never earlier. Runway = live build time from the schedule engine (floor load included) + this buffer — a busier floor fires earlier, a quiet one waits longer. Already past that day → fires immediately, HOT.

Documents & labels

Everything the shop puts on paper. Documents are the PDFs customers and vendors receive; labels are what goes on the parts and the racks. The preview beside each is the real renderer — what you see is what prints.

On this document
Company identity shared by every document
A PNG with transparency prints best. The same logo is used on documents and labels.
Page setup shared
Paper
Header
Accent
{{ daKindLabel }} live preview, sample data

Set the size in inches, pick what appears, and choose where it prints from — shipping labels print from Shipping and sales orders, travelers from job tracking, item and QC labels from the item page, receiving labels at check-in.

{{ lb.sizeNote }}
Content on the label
Orientation
Type size
Barcode

Receiving

Incoming material checked in against its purchase order. Receiving a line adds the quantity to stock, records the put-away location, and moves the PO to Received on the purchasing board automatically.

{{ rcvCount }}
{{ noRcvMsg }}
{{ rp.id }} {{ rp.vendor }} {{ rp.status }} part received due {{ rp.due }} {{ rp.outstanding }}
{{ rl.name }} {{ rl.ordered }} ordered {{ rl.already }} {{ rl.left }}
Recently received
{{ rd.id }} {{ rd.number }} {{ rd.vendor }} short-closed late {{ rd.qty }} {{ rd.loc }} {{ rd.date }}

Shipping

Showing {{ shipFocusSo }} only — sent here from Orders

Open sales-order lines, staged in two steps: Pack pulls finished parts from stock onto the dock (inventory drops immediately), Ship sends whatever is packed. Pack less than the full order for a partial shipment — the line stays open for the remainder, and unpacking returns parts to stock.

Nothing to ship — no open sales orders.
{{ shipCountLabel }}
Order Part Customer Ordered Stock & status Staged After ship Pack Send Documents
{{ sr.so }}
{{ sr.name }}
{{ sr.customer }} {{ sr.qty }}
{{ sr.onHand }} {{ sr.shadow }} {{ sr.jobLabel }} {{ sr.loc }}
{{ sr.freshLabel }} {{ sr.partialLabel }} {{ sr.packedLabel }}
{{ sr.afterShip }}
{{ shipRestLabel }}
Packing slip
{{ slipSo }} · {{ slipCust }}
{{ slipPo }}
{{ slipDate }}
{{ slipCount }}
Part Ordered In this box
{{ ps.number }} {{ ps.rev }} {{ ps.name }} {{ ps.prior }} {{ ps.ordered }} {{ ps.sending }} {{ ps.backLabel }}
This shipment is partial. The balance stays on the order and follows in a later shipment.
Recently shipped
{{ sd.so }} {{ sd.number }} {{ sd.customer }} {{ sd.qty }} {{ sd.of }} {{ sd.date }}

Jobs

New stock job

Builds parts for inventory with no sales order behind it. The job goes through the same approve → release flow, and finished parts land in stock.

Every open sales-order line becomes a job. Approve it, schedule the due date, then release it to the floor — held jobs vanish from the operators' Ready list instantly.

Department performance — points this week
running total from 10 days ago · dashed = 2-day pace · points reset monthly
{{ dgChart }}
{{ dbd.boardLabel }}
No jobs yet — convert a quote to a sales order and the job appears here for approval.
{{ engHead }} {{ engSub }}
{{ en.job }} {{ en.number }} {{ en.meta }} {{ en.frozen }} {{ en.who }}
{{ jobCountLabel }}
{{ cb.number }} {{ cb.name }} — {{ cb.msg }}
Master jobs — blanket orders one per part · sub-jobs appear as releases confirm; planned chunks wait as ghosts with their computed fire day
{{ mj.autoBadge }}
{{ pp.number }} {{ pp.txt }} {{ pp.due }} {{ pp.ovTxt }}
{{ sj.id }} {{ sj.so }} {{ sj.item }} {{ sj.ops }} due {{ sj.due }} {{ sj.label }}
{{ pr.qty }} released {{ pr.date }} — waiting in New, confirm to create its sub-jobs
due {{ ms.due }} {{ ms.qty }} {{ ms.fireTxt }}
{{ j.number }}
{{ j.name }}
{{ j.customer }} · {{ j.so }} · {{ j.qty }} {{ lk.so }} · {{ lk.qty }} {{ j.loc }} {{ j.statusLabel }} Late Custom build Engineering Material late Sub-assembly
The item's build changed since this job was created — update the job or keep running the released build.
{{ j.prog }}
{{ j.runningNow }}
{{ j.shortAtTxt }} {{ j.shortAtMkLabel }} {{ j.splitTxt }} Admin / Prod Mgr approves
{{ jobRestLabel }}
Job build — {{ jeJob }}
{{ jeNumber }} · {{ jeName }} — changes are stored on this job only; the original item stays untouched
Update the original item too?
The build changes are saved on {{ jeAskJob }} only. Apply the same routing and BOM to {{ jeAskItem }} so future jobs and quotes use them?
{{ jdId }} is no longer here
It may have shipped and been archived, or the demo data was reset.

{{ jdId }}

{{ jdName }} · {{ jdQty }} · {{ jdCustomer }}
{{ jdStatusLabel }} {{ jdRiskLabel }}
Layout
Run time {{ jdCmpNow }} {{ jdCmpChip }}
Clocked {{ jdCmpNow }} Est {{ jdCmpEst }} Typical {{ jdCmpAvg }}
{{ jdParentLabel }}
The item's build changed since this job was created — update the job or keep running the released build.
{{ jdBlockerMsg }} — the floor is waiting on an answer.
{{ t.label }}
{{ t.value }}
{{ t.sub }}
Operations {{ jdOpsCount }} · {{ jdActTot }} clocked of {{ jdEstTot }} estimated
{{ o.seq }} {{ o.name }}
{{ o.wc }}
{{ o.act }} / {{ o.est }} {{ o.varLabel }}
{{ o.statusLabel }} {{ o.by }}
{{ o.waitLabel }} plan {{ o.schedLabel }} {{ o.scrap }} {{ o.over }} {{ o.overLog }}
{{ o.consumedTip }}
{{ jdMatHead }}
{{ jm.number }} {{ jm.name }} {{ jm.need }} {{ jm.at }} {{ jm.ref }} {{ jm.orderBy }}
Operations {{ jdOpsCount }} · {{ jdActTot }} clocked of {{ jdEstTot }} estimated
OperationWork centerActual / estOperatorQueueStatus
{{ o.seq }} · {{ o.name }}
{{ o.note }}
{{ o.wc }}
{{ o.act }} / {{ o.est }} {{ o.varLabel }}
{{ o.by }} {{ o.waitLabel }} {{ o.statusLabel }}
{{ jdOrdersTitle }}
{{ so.so }} {{ so.customer }} PO {{ so.po }} {{ so.qty }} need {{ so.due }} {{ so.status }} {{ so.shippedLabel }}
What the customer sees on the portal
{{ st.name }}
{{ jdKidsTitle }} must land before the op that consumes them
{{ k.number }} · {{ k.name }} feeds {{ k.forOp }} {{ k.qty }} {{ k.prog }} due {{ k.due }} {{ k.status }}
Material still to consume
{{ jdMatShortMsg }}
{{ mt.number }} {{ mt.name }} need {{ mt.need }} {{ mt.allocLabel }} {{ mt.gap }} {{ mt.cover }}
Job thread
{{ mg.byI }}
{{ mg.by }} {{ mg.wc }} {{ mg.when }} {{ mg.toName }} Blocker
{{ mg.text }}
{{ jp.text }}
{{ r.head }}
Documents
No drawings or work instructions attached to this part yet — the floor is running on the routing alone.
History who changed what on this job
{{ au.when }} {{ au.by }}
{{ au.action }}
{{ au.detail }}

Departments

Group work centers into departments. Each earns points against the smart schedule — on-time and early ops score, behind-schedule ops cost, zero scrap pays a bonus. Points reset monthly; hit an achievement threshold and the reward is on the house.

Points this week, cumulative
running total from 10 days ago · dashed = recent pace, 2 working days out
{{ dgChart }}
{{ dp.rank }} {{ dp.mtdLabel }} {{ dp.life }}
{{ dp.next }} {{ dp.won }}
Work centers:

Point metrics — how ops score against the schedule

{{ pr.unit }} {{ pr.label }} {{ pr.hint }}
Applied when an op is completed, measured against that op's due time in the smart schedule. Changes affect future completions only.

Achievements — points thresholds & rewards

pts → {{ ac.winners }}

Points log

{{ lg.date }} {{ lg.dept }} {{ lg.pts }} {{ lg.text }}

Dashboard

{{ ft.label }} {{ ft.val }} {{ ft.sub }} {{ ft.trend }}
Revenue by month booked shipped
{{ fm.label }}
Gross margin by month
{{ fr.label }}
{{ fr.val }} {{ fr.money }}

Jobs running over estimated cost

Every active job is tracking at or under its estimated cost.
{{ fo.id }}
{{ fo.number }}
{{ fo.customer }}
est {{ fo.est }} actual {{ fo.act }} {{ fo.over }}

Quoted vs actual — finished jobs

No finished jobs with logged run time yet — estimate accuracy appears once the floor completes ops.
{{ fj.id }} {{ fj.number }}{{ fj.customer }} est {{ fj.est }} actual {{ fj.act }} {{ fj.variance }}
{{ pt.label }} {{ pt.val }} {{ pt.sub }}
Utilization by work center — {{ dashMoLabel }}
{{ pw.name }}
{{ pw.pct }} {{ pw.hrs }}
Operations completed per day — last two weeks
No completions logged yet — this fills in as the floor closes ops.
{{ pd.n }}
{{ pd.label }}
Where parts wait — average dwell between ops, by receiving station
{{ perfBufSet }}
Nothing measured yet — dwell is timed from the moment an op is closed to the moment the next one is started, so this fills in as the floor works through jobs.
{{ pb.name }}
{{ pb.avg }} {{ pb.sub }}
{{ perfBufOver }}
Buffer utilisation by week — 100% means parts wait exactly as long as planned
{{ bw.val }}
{{ bw.label }}
Over 100% and the shop is slower between stations than the plan assumes — raise the buffer or fix the handoff. Well under, and dates are being padded.
{{ dt.label }} {{ dt.val }} {{ dt.sub }}
Department performance — points this week
running total this week · dashed = 2-day pace
{{ dgChart }}
{{ dbd.boardLabel }}

Late-risk alerts

Every active job is projected to finish on time.
{{ dr.id }}
{{ dr.number }}
{{ dr.name }} · {{ dr.customer }}
{{ dr.due }} {{ dr.finish }} {{ dr.miss }} {{ dr.matMsg }}

Schedule

{{ schedSummary }}

A plan rebuilt from the floor as things change: remaining op time is dispatched to each work center — hot jobs first, then your drag order, then earliest due — on the shop calendar. Drag cards to re-prioritize; edit due dates and hot flags right here.

{{ drTitle }}
{{ dr.customer }} — {{ dr.so }} · {{ dr.part }} {{ dr.was }} → {{ dr.want }} {{ dr.movedNote }} “{{ dr.note }}” {{ dr.headline }} {{ dr.cost }}
What-if mode — due dates, hot flags and drag order below are staged ({{ wifCount }} changed). Nothing is saved until you apply.
{{ wifBufMsg }}
Change anything on this page — drag jobs to re-prioritize, edit a due date, toggle Hot. Every edit is held here instead of hitting the live plan.
The schedule, projected finishes, Gantt and overtime advisor all recalculate against your staged version, so you see the knock-on effects immediately.
The floor keeps running the real plan. Staged jobs are marked staged; nobody else sees these numbers.
Apply changes commits every staged edit at once; Discard throws them away and snaps back to the live schedule.
WIP buffer between operations

Parts do not arrive at the next station the moment an op ends — they are moved, counted and queued. The scheduler leaves this gap after every operation, and every promised date, quote lead time and pull-in answer is built on it.

{{ bufHotNote }}
{{ bufPrevHead }} {{ bufPrevLate }}
{{ bufPrevAvg }} {{ bufPrevWait }}
{{ bufNewLateMsg }}
{{ bl.id }} {{ bl.who }} {{ bl.miss }}
Changing this is written to the audit log.
Read-only — admin or a role with scheduling permission sets the buffer.
Shop calendar
Smart-schedule re-plan times

The run order re-plans and re-freezes at each time below. No times = shift end. It always also re-plans at first open of the day, on HOT arrivals and material receipts, or by hand with Recompute.

{{ rp.label }} none set — re-plans at shift end
Holidays {{ ch.h }}
Lunch & breaks {{ calBrkNote }}
{{ cb.range }}
No breaks — the shift is treated as producing straight through.
{{ otHeadline }}
{{ ot.label }}
{{ ganttTitle }} {{ ganttPlanNote }}
Running Ready Pending Paused / behind plan Past due date In flow state Flagged item
{{ gd.label }}
{{ gh.label }}
{{ gl.idleNote }}
{{ gb.job }}
{{ gb.op }}
{{ gr.job }} op {{ gr.seq }} · {{ gr.op }} {{ gr.number }} {{ gr.itemName }} {{ gr.whenTxt }} {{ gr.dur }} {{ gr.stTxt }}
Click a bar for full op detail, or a work-center name to list its ops with times. A hatched band before a bar is time the machine is free but the material is not in yet.
Nothing to schedule — approve or release a job and it appears here with planned times.
{{ sj.id }} {{ sj.number }} {{ sj.name }} staged Not released
{{ sj.customer }} · {{ sj.qty }}
{{ sj.finish }} {{ sj.slackLabel }} material, not capacity {{ sj.remain }}
{{ sj.matMsg }} {{ sj.matOrderBy }}
{{ so.seq }} {{ so.name }} {{ so.wc }} {{ so.dur }} {{ so.when }} {{ so.state }}
{{ schedRestLabel }}
{{ goJob }} · op {{ goSeq }} {{ goWc }} {{ goState }}
{{ goNumber }}
{{ goItemName }}
{{ goName }}
{{ goQty }} {{ goCustomer }}{{ goDue }}
{{ goWhen }}
{{ goRemain }}
{{ goSetup }}
{{ goThru }}
In flow state! — parts moving to the next op
{{ goLateNote }}
{{ goMatMsg }} {{ goMatOrder }}
Cut file — {{ goDxf }}
{{ goNote }}
Open flags on this item
{{ gf.text }}
{{ gf.by }} · {{ gf.date }}

Work-center queues

{{ sw.name }}
{{ sw.load }}
{{ sq.label }} {{ sq.when }}
Several people are clocked in here — tap your name above so your work and your messages go out under the right name.
Floor Ops
{{ fThreadTitle }} Signed in on this terminal as {{ fMsgWho }}
{{ fMsgNoWhoMsg }}
{{ tm.text }}
{{ tm.by }} blocker
{{ r.head }}
{{ fMsgNoneMsg }}
{{ fDeptName }} {{ fDeptPts }}
{{ fDeptNext }}
cumulative · this week
{{ dgChart }}
{{ fb.label }}
cumulative · this week
{{ dgChart }}
{{ engHead }} Don't run these — engineering is working on them. The ops come back on their own when it's cleared.
{{ en.number }} {{ en.job }} {{ en.frozen }}
{{ en.noteShown }}
{{ en.who }}

{{ fEmptyMsg }}

Every timer on the clock right now, grouped by job. {{ fLiveEditNote }}.

Who can see the Live floor

Tick the roles allowed to open this board. Everyone else loses the Live floor button. Changes are logged.

{{ lr.name }} {{ lr.note }} {{ lr.who }}

Nothing on the clock — start an op from the Ready tab and it appears here.
hot {{ lg.number }} {{ lg.name }} · {{ lg.customer }} due {{ lg.due }}
{{ lo.stateChip }}
{{ lo.name }}
{{ lo.wc }} · op {{ lo.seq }}
{{ lo.byAv }} {{ lo.by }}
{{ lo.timer }}
{{ lo.overNote }}
Op audit
{{ audSubtitle }}
days
{{ as2.k }}
{{ as2.v }}

{{ audEmptyMsg }}
{{ ar.number }} suspect
op {{ ar.seq }} {{ ar.opName }} · {{ ar.wc }}
{{ ar.by }}
{{ ar.doneAt }}
{{ ar.est }} {{ ar.act }}
total on the clock
{{ ar.perPc }}
{{ ar.qtyNote }}
{{ ar.miss }}
{{ ar.dollar }}
{{ ar.rateNote }}
Clocked time was {{ ar.act }} — correct it to

Open laser operations grouped by material and thickness. Tick the parts to run together, then download the batch — one set of cut files, ready to nest on a single sheet program.


No open laser operations to nest — release a job with a laser op.
{{ nb.mat }} {{ nb.thick }} {{ nb.nOps }} · batch locked, new jobs stay out {{ nb.bubbleLabel }} {{ nb.bubbleLabel }}
{{ nb.waitLabel }}
Nested in CAM — {{ nb.camLine }}
Material consumed — full sheets only
Estimated: {{ er.label }}
{{ sh.name }} {{ sh.onHand }} {{ sh.estHint }}
{{ sh.name }} {{ sh.onHand }} {{ sh.estHint }} sheets
Used remnant
{{ bo.number }}{{ bo.job }} · op {{ bo.seq }}
{{ bo.name }}
{{ bo.qty }} {{ bo.stLabel }}
{{ g.mat }} {{ g.thick }} {{ g.nOps }} · {{ g.totalQty }} {{ g.bubbleLabel }} {{ g.missingNote }}
{{ no.number }}{{ no.job }} · op {{ no.seq }}Running
{{ no.name }}
{{ no.qty }} {{ no.dlName }} no cut file
Ordered by the smart schedule — run top to bottom to hit due dates
{{ c.job }} · op {{ c.seq }} {{ c.opName }} Hot {{ c.waitTxt }}
{{ c.wc }}
{{ c.job }} · op {{ c.seq }} Hot Late On hold Engineering Material late Sub-ASM Waiting on {{ c.blockedBy }} {{ c.askText }} {{ c.msgN }}
{{ c.ptsTxt }} {{ c.wc }}
{{ c.number }}
{{ c.opName }}
{{ c.qty }} {{ c.est }} {{ c.customer }} {{ c.loc }}
{{ c.schedTileTop }}
{{ c.schedTileDay }}
{{ c.schedTileMon }}
{{ c.schedTimes }}
{{ c.schedNote }}
{{ c.schedRisk }}
In flow state! — parts moving to the next op
{{ c.trackTxt }}
{{ c.recNote }}
{{ c.blocked }}
{{ c.advWarn }}
Parts collected from op {{ c.prevOp }}
{{ c.advHint }}
{{ c.elapsed }} {{ c.remain }}
{{ c.eta }}
Paused at {{ c.elapsed }} — time is kept
Done in {{ c.doneIn }}
{{ cf.mini }}
{{ fRestLabel }}
{{ foJob }} · op {{ foSeq }} {{ foWc }} In flow state!
{{ foNumber }}
{{ foItemName }}
{{ foName }}
{{ foQty }} {{ foEst }} {{ foCustomer }}{{ foDue }}
{{ foSetup }}
Points at stake {{ foPtsStake }} {{ foPtsDrop }}
Ahead {{ foPtsV1 }} On time {{ foPtsV2 }} Behind {{ foPtsV3 }}
{{ foNeedBy }}
{{ foThru }}
CAD model — tap to enlarge
{{ foNumber }} drag to orbit
Op image
Cut file — {{ foDxfName }}
{{ foDxfMeta }}
Build documents
{{ foDocCount }}
Open flags on this item
{{ ff.text }}
{{ ff.by }} · {{ ff.date }}
Complete this operation
{{ foRecLine }}
Sheets used — pick by hand, full sheets only
Laser ops never auto-consume material. Only what you enter here is deducted.
No matching sheets in stock — use the remnant option or receive material.
{{ fsh.name }} {{ fsh.onHand }} {{ fsh.estHint }}
{{ fsh.name }} {{ fsh.onHand }} sheets
Used remnant
Completing consumes — check the counts
{{ fc.number }}
{{ fc.name }} · {{ fc.per }} · {{ fc.have }}
{{ fc.uom }}
{{ foDeliveredLine }}
{{ foFinalNote }}
{{ foShortWarn }}
Counts logged so far
{{ fp.line }}
{{ fp.meta }}
{{ foElapsed }} {{ foRemain }}
{{ foEta }}
Paused at {{ foElapsed }}
Complete — {{ foElapsed }}
{{ foNote }}
Operation notes
{{ foOpNotes }}
Materials at this step
No materials tied to this operation.
{{ fm.number }}
{{ fm.name }}
{{ fm.need }}
{{ fm.used }}
{{ fm.have }} — short
Op flow {{ ff.mini }}
{{ ff.seq }} {{ ff.name }}
{{ ff.statTxt }} {{ ff.wc }}
First article required on this job — run one piece, get it inspected and signed off before the rest of the lot.
QC checkpoints
{{ qs.i }}. {{ qs.text }} critical
{{ qs.meta }}
{{ qs.stampTxt }} {{ qs.ncrRef }}
Job conversation {{ foJtCount }}
{{ foJtBlockMsg }}
No one has posted on this job yet. Anything written here is shared by every station on {{ foJob }} and visible to the office.
{{ jm.text }}
{{ jm.by }} {{ jm.toName }} blocker {{ jm.seen }}
{{ pw.text }}
{{ r.head }}
In flow state!
{{ foSeqWhy }}

Quality

{{ qStd }}
{{ qt.label }}
{{ qt.val }}
{{ qt.sub }}

Every nonconformance, from checkpoint failures on the floor to customer returns and bad vendor material. Records carry containment, root cause, corrective and preventive action, disposition and the cost of the failure.

NCR Source Part Nonconformance Qty Disposition Cost State
No nonconformances on record. Failures raised from the floor, receiving or a customer return land here.
{{ nr.id }}{{ nr.date }} {{ nr.src }} {{ nr.part }}{{ nr.partName }} {{ nr.desc }} {{ nr.qty }} {{ nr.dispo }} {{ nr.cost }} {{ nr.state }}
{{ nd.id }}
{{ nd.date }} · raised by {{ nd.by }} · {{ nd.srcLabel }}
State
{{ nd.closedNote }}
{{ nd.dispoNote }}
Cost of failure
{{ nd.costTotal }}
Photograph the nonconformance — it travels with this record and prints on the NCR. Objective evidence like this is what an AS9100 audit asks for.
{{ drBusy }}
Drop the drawing PDF to review it Reads dimensions & tolerances, GD&T, material, finish, hardware, welds and notes — then suggests ops and inspection checkpoints
{{ drFile }} reviewed {{ drWhen }}
Drawing disagrees with the item record
{{ mm.field }}drawing says {{ mm.drawing }} · item says {{ mm.item }}
Print header
{{ dh.k }}{{ dh.v }}
GD&T callouts
{{ g2 }}
Hardware callouts
{{ hw2.callout }} {{ hw2.qty }}
Welding callouts
{{ wd.label }} {{ wd.note }}
General notes
{{ n3 }}
Toleranced dimensions
No toleranced dimensions found in the text layer.
{{ dd2.i }} {{ dd2.feature }} {{ dd2.nominal }} {{ dd2.tol }} critical
Suggested operations
{{ do3.name }} · {{ do3.wc }} {{ do3.haveNote }} {{ do3.why }}
Suggested QC checkpoints
{{ dq.text }} critical {{ dq.opName }} · {{ dq.method }} · {{ dq.spec }}
Manufacturability concerns
{{ c3 }}
Inspector sign-off on critical checkpoints Operators self-check every checkpoint at op completion; checkpoints marked critical additionally need a QC-role signature.
First article by default Pre-checks "First article required" when a job is approved for a part with no FAI on record, or whose rev changed. Always overridable per job.

Locations

{{ locTotal }}

Every place stock can sit, nested as deep as your building needs. Zones are drawn on the shop plan; everything below them is racks, shelves, carts and bins. Receiving, job completion and shipping all write to these locations.

Shop plan
{{ p.tip }} Drag to resize {{ locPlanText }}
{{ locPlanNote }}
{{ lg.label }}
{{ locResultN }}
Bulk tools for {{ locSelCode }}
{{ locBulkPreview }}
{{ locSelCode }} {{ locSelKind }} {{ locSelName }} {{ st.v }}{{ st.k }}
Inside here
Stock at {{ locSelCode }}
{{ h.when }} {{ h.dir }} {{ h.at }} {{ h.detail }} {{ h.who }}
Nothing has moved in or out of here yet.
Class Part Description Reference Qty
{{ r.cls }} {{ r.desc }} {{ r.ref }} {{ r.qty }}
{{ locStockEmptyMsg }}

Messages

{{ msgUnreadN }} unread

Channels and direct messages for talk, tickets for issues. Anything the floor flags, engineering freezes, quality raises or purchasing shorts lands here as a ticket you can pass to a person and walk through open, acknowledged, in progress and resolved.

{{ msgSupHint }} — every private thread you open is written to the audit log.
To
{{ r.head }}
Nobody matches that.
With a title this becomes a tracked issue — it gets a reference, a state and an owner.
{{ msgEmptyMsg }}
{{ msgRef }} Urgent {{ msgSrcLabel }}

{{ msgTitle }}

{{ msgSub }}
{{ msgJobBlockMsg }}
{{ msgPrivMsg }}
{{ msgMakeUpNote }}
{{ msgFreezeMsg }} unfreezes on resolve
{{ msgOwnerInit }}
{{ mm.init }}
{{ mm.name }} {{ mm.station }} {{ mm.dept }} {{ mm.toName }} blocker
{{ mm.t }}
{{ mm.b }}
{{ mm.drWas }} → {{ mm.drWant }} {{ mm.drHead }}
{{ mm.drCost }}
answering closes this issue and replies to them
{{ mm.drWait }}
{{ mm.seen }}
{{ mm.photoName }}
{{ mp.text }}
{{ r.head }}

Backup & restore

A complete copy of the system in one file. Take one before every update, and keep it somewhere other than this computer — a backup that lives on the machine it is protecting is not a backup.

Parts, orders, jobs, purchasing, quotes, messages, customers, users, settings and the photographs.

{{ bkLastNote }}

{{ stStorage }} {{ stWarn }}
{{ bkBusy }}
{{ bkErr }}
{{ bkPrev.file }}
{{ bkPrev.when }} · {{ bkPrev.by }} · {{ bkPrev.size }}
What changes Now After {{ bl.label }} {{ bl.from }} {{ bl.to }}
Restore points

Kept inside the system, without being asked: one before the app changes under you, one at the start of each working day. The last six are held; older ones drop off. They carry everything except CAD files — the download above is still what protects you against losing this computer.

None yet — the first is taken once there is real data to keep.
{{ sn.when }} {{ sn.why }}
{{ sn.what }} · {{ sn.size }}

Users & roles

{{ uCount }}

You can add and manage floor operators. Full user & role administration needs the "Manage users & roles" permission.

{{ u.init }}
Machine certifications:

Preset roles ship with sensible permissions — adjust any of them, or duplicate one as a custom role. The Admin role is locked so you can't lock yourself out.

{{ rc.count }} locked
Filter: latest 200 entries
Nothing logged yet — sign-ins, floor activity and admin changes land here.
{{ ar.t }} {{ ar.by }} {{ ar.action }} {{ ar.detail }}
Kiosk auto clock-out

Clock the floor crew out after this many minutes without activity on the kiosk — walk-away protection. Office and admin sessions are never signed out; you sign in once. 0 turns it off.

minutes
Sample data

{{ sampleMsg }}

{{ stubName }}

This module is scoped but not built yet — we started with Items, the core the rest hangs off. Quoting, jobs, the floor kiosk and user roles come next.

This invitation is no longer valid

It may have been revoked, or replaced by a newer one. Ask your contact at the shop to send a fresh link.

You're all set

From now on, open the same link and enter your 4-digit PIN. You can see your parts and orders, track where they are on the floor, ask us to move a date, and send us a purchase order.

You're already set up

This is your personal link for the {{ setupCust }} portal — keep it. Sign in with your usual 4-digit PIN.

No rush

Your link stays good — open it again whenever suits and pick up where you left off.

{{ setupShop }} — customer portal

Set up your access

{{ setupGreeting }} — you've been invited to the portal for {{ setupCust }}. Check we have you right, then pick a PIN. It takes a minute.

Your details
Addresses
Choose a PIN

Four digits. This is how you sign in from now on — keep it to yourself.

{{ setupPinNote }}
Laminar
{{ signinTitle }}
{{ signinSub }}
{{ pinInit }} {{ pinName }}
{{ pinErrMsg }}
{{ opPickTitle }}
{{ opPickSub }}