// Sawmills

AI built around how a sawmill runs.

Logs in, dimensional and kiln-dried lumber out. Recovery, throughput and dwell live across every line and shift, and the real bottleneck named rather than assumed.

BuyIntakeSawKilnGradeShip
// Built for
01Independent and family sawmills
02Multi-line and multi-site mills
03Mills with a remanufacturing arm
04Integrated groups milling their own logs
// From live deployments

Real numbers from real operations.

+32M
Board feet reconciled through the mill
78%
Of downtime that identified trim, not the saw, as the bottleneck
+15M BF
Finished inventory fully attributed after a join fix
~1 sec
To re-solve the order book against real capacity

Every figure traces to a working paper. Where a number is unproven, we say so.

// Your operating cycle

Four phases, from log yard to shipped order.

A sawmill is divergent yield from a variable raw material, not a factory with clean bills of material. Here is where the information breaks down at each stage, and what changes when it does not.

01

Supply & Intake

Buy · receive · scale · log yard

Your raw material is variable before you own it and variable after. What arrived, what was scaled and what was invoiced are three different records held in three different places, and the gaps between them are usually absorbed into a variance account rather than explained. Meanwhile the log yard is either short or carrying cash you did not mean to carry.

// Automated reconciliation

Quarri matches what arrived to what was scaled and what was invoiced, so log cost is right before a single board is cut.

  • Paper log receipts and tallies read several times daily
  • Arrived, scaled and invoiced matched per lot
  • Differences surfaced, not absorbed into variance
  • Yard cover by species, weeks ahead
Log receipt captureScale to ledger matchSupplier reliability
Debarked logs loaded on a trailer arriving at a mill log yard
// Log receipts · structuredpaper in

Daily tallies and log receipts read off the page and validated against the mill's own sheet, to the dollar.

02

Breakdown & Recovery

Saw · trim · resaw · tally

Recovery is the number the whole mill turns on, and it moves with species, diameter, season and operator. Overrun is real: more tally out than log scale in is a fact of the saw rather than an error. The trouble is that the station capping your week is rarely the one everybody watches, and nobody can prove which it is while each line keeps its own sheet.

// Bottleneck detection

Quarri reads utilisation and downtime across every station, so the step actually capping your week is named rather than argued about.

  • Recovery tracked by shift, line and log supplier
  • Overrun reconciled rather than hidden
  • Downtime attributed to the station causing it
  • The real constraint named, not assumed
Recovery by line and shiftBottleneck by stationDowntime attribution
Freshly sawn lumber stickered in layers, the output of the saw before drying
// Logs in to ship · utilisationtrim, not the saw

At one mill 78% of downtime sat on the trim line, not the saw everybody was watching.

03

Drying & Grading

Kiln · dry · plane · grade

A kiln is measured in dwell days, not hours, and it runs whether or not anyone is watching. Between green, on sticks, kiln-dried, rough and dressed, the same pack changes identity four times, and most mills can tell you what they own in total but not what state it is in or how long it has been sitting there.

// Grade recovery analytics

Quarri tracks every pack through green, kiln-dried and dressed, so inventory is a position you can act on rather than a total you can only report.

  • Every pack tracked through green, dried and dressed
  • Kiln dwell measured in days, per charge
  • Grade recovery and percentage to premium, by run
  • Ageing stock visible before it becomes dead
Kiln dwellInventory by stateGrade recovery
Open sided drying shed with timber packs stacked under a long roof
// Inventory by statefully attributed

Finished inventory fully attributed at one mill after a join fix recovered roughly half of it.

04

Cost & Margin

Cost · price · reconcile · ship

Log cost goes in at one end and a lumber price comes out of the other, and in between sit drying, planing, grade and the orders you chose to run. Mills know their margin in aggregate. Very few can say which products, which species and which customers actually earned it, so the two decisions that matter most, what to cut next and what to charge for it, both get made on instinct.

// Margin intelligence

Quarri joins log cost to finished tally and to the price you achieved, so what to run next and what to sell it for stop being two separate guesses.

  • Log cost carried through to finished tally
  • Margin by product, species and customer
  • Lumber priced against where the market is
  • Purchase price variance caught in the cycle
Log cost to lumber priceMargin per productPrice against market
Wall of banded sawn lumber packs stacked to the roof of a warehouse
// Margin by product+32M BF reconciled

Margin per product against the mill average, computed from log cost through to the finished tally.

+

Purchase orders & inventory

Order · route · pick · promise

An order for kiln-dried dressed stock can be met from finished inventory, by planing rough stock you already hold, by drying green stock first, or by cutting it from logs. Each route carries a different lead time, a different cost, and a different consequence for the next order. Most mills choose by habit, because working it out properly takes longer than the answer is worth.

// Smart Scheduler

Quarri prices every available route against real inventory and real capacity, so the promise you make is the cheapest one that still hits the date.

  • Every available route costed and timed per order
  • Inventory checked by state, not as one total
  • Lead time taken from the route, not a flat rule
  • What the next order needs is weighed too
PO routingLead time by pathInventory by state
A roadside deck of cut logs, the longest of the routes an order can be filled from
// One order, routed3 days, not 21

Split across finished stock and rough stock, the order ships in three days instead of the twenty-one a drying route would have taken.

// Why it can do this at all

AI at the foundation. Not retrofitted.

Most software for this chain was built as a form. Quarri was built as a model of your operation.

A fixed platform
  • Their fields, your words mapped in
  • Exceptions become change requests
  • Paper is a keying job
  • Every run costs a model call
  • New questions join the queue
  • Reports you wait to receive
  • Scale by hiring around the gaps
Quarri
  • Your words, from day one
  • Exceptions become rules you edit
  • Paper read at volume, deterministically
  • 100x cheaper per execution
  • Questions asked in plain English
  • Dashboards and scripts you build yourself
  • Scale by pointing it wider
// Across the whole cycle

Ask it in plain English. Across all four phases.

Because log receipt, shift report, kiln charge and finished tally all land in one governed layer, a question can cross the whole mill instead of stopping at a system boundary. That is a margin lever, not just a tidier way to operate.

  • Any question across the cycle, in plain English
  • Numbers computed, so the answer matches the ledger
  • Dashboards and scripts your team builds and shares
  • Alerts when recovery slips or dwell runs long
Natural language queriesShared dashboardsAlerts on exception
// Recovery by speciesone question

Recovery against plan by species and diameter. The question crosses four systems; the answer does not care.

// In practice

A sawmill and remanufacturing operation

// Before

Production tallies, shift reports and maintenance notes were written on paper and keyed once a month, so the mill was managed on numbers that were already several weeks old.

// With Quarri

Quarri reads the daily tallies and shift reports as they are written, reconciles log scale to sawn tally, and tracks every pack through drying and dressing. Reading downtime properly showed 78% of it sitting on the trim line rather than the saw, and a join fix recovered roughly half of a finished inventory of over 15M board feet that had not been fully attributed.

Coming soon

Agents that order and reschedule.

Everything above works out the answer and hands it to you. The next step is letting it act. An agent that drafts the purchase order when yard cover runs short, and re-cuts the week when a kiln charge overruns or a late load changes the picture. You approve a decision instead of assembling one.

  • Purchase orders drafted when yard cover runs short
  • The week re-cut when a kiln charge overruns
  • Every action proposed for approval, never taken quietly
// In designshaping it now

A kiln charge overruns and the week is re-cut around it. A design sketch rather than a screenshot: not in the product today, and every action would come to you for approval.

// The rest of the chain

Most operators sit on more than one link.

See it on your own data.

Live in two weeks, on the systems you already run.