On this page
CutSheet at a glance
CutSheet is a linear-programming-based production planner for protein and food processors. Given today's orders, today's prices, your yield matrix, and your capacity constraints, it solves for the production mix that maximizes contribution margin. A typical solve runs in under 100 milliseconds.
The same solver answers Check Availability queries from sales-order entry — answering “can we promise this line?” in real time before the quote goes out.
The yield matrix
The yield matrix is the heart of CutSheet. It tells the LP what percentage of each carcass type breaks down into each subprimal cut. For beef: roughly 25 rows per carcass grade for the cuts, plus a 20-row adjustment table for bone and fat losses.
Production Planning → Yield Matrix. Each row is a (carcass type × IMPS spec) combination with a yield percentage. Total should sum to ~100% (minus shrinkage).
Edits are versioned — every change is timestamped, attributed, and reversible. You can also CSV-import a yield matrix during onboarding; ask your contact for the template.
Carcass grades and adjustments
Each carcass grade (Choice, Select, Prime, Wagyu, etc.) gets its own yield-matrix slice. Configure under Production Planning → Carcass Types.
For each grade, you also configure an adjustment table — bone-out yields, fat-cap percentages, freezer shrink, and trim recovery. The LP applies adjustments after the yield matrix when computing how much of each cut is actually fabricated.
See the blog post on USDA grades for the standards your grading is tied to.
Capacity constraints
Capacity constraints are the bounds the LP can't violate. Common categories under Production Planning → Capacity:
- Shift labor — hours of available labor per shift per facility
- Grind capacity — lb/hour the grinder can produce
- Drop limits — minimum or maximum lb of specific products per day (often regulatory or contractual)
- Freezer/dock capacity — case-volume per period
- Misc production limits — anything else with a hard cap (specific equipment, certification windows)
Each constraint can be set per facility, per shift, per week. The LP honors all of them simultaneously and tells you which are binding via the dual values (see below).
The price file
The LP needs market prices for every sellable IMPS spec to compute margins. Maintain under Production Planning → Prices.
Two ways to keep prices fresh:
- Manual entry — your trader / pricing analyst updates the file daily or weekly.
- Price-maintenance two-person approval — for plants where pricing requires sign-off, CutSheet supports a propose/approve workflow. Configured at Production Planning → Settings → Price Approval.
If you have external market-data feeds (USDA AMS reports, broker subscriptions), we can wire them in during onboarding.
Running the LP solver
The LP solves automatically — usually overnight, before the next shift starts. Configure the schedule under Production Planning → Solver Schedule.
You can also trigger an on-demand solve from Production Planning → Solver → Run Now. Useful when conditions change mid-day (a big new order, a price update, a capacity outage).
A typical BLYTHE-sized LP: 6,902 columns, 588 rows, under 100 ms to OPTIMAL. The solver is HiGHS — open-source, no license fee.
The floor view
The floor view is what the plant manager sees in the morning. Production Planning → Floor View. It shows:
- Today's fab plan by IMPS spec and quantity
- Capacity utilization (which constraints are binding)
- Total margin estimate
- Yesterday's variance vs. plan
- Open orders awaiting commitment
This is intentionally a single scrollable screen — designed to be scannable in 90 seconds at 6 AM. See the blog post on the 6 AM walk-around for the design rationale.
ATP from sales orders
When a sales rep enters a new line item in Accounting → Sales Orders, they can click Check Availability. The button fires a Z-variable query into the next LP solve and returns one of three answers in under 200 ms:
- Feasible — the LP can produce the requested quantity by the requested date.
- Partial — some quantity is available but not all. The response includes the feasible amount.
- Infeasible — cannot be produced given current orders, capacity, and inventory.
Every ATP response is persisted on the sales-order line with timestamp, latency, and the marginal price the LP would charge. The audit trail is queryable from the Ops Console.
Reading dual values
Every binding constraint in the LP has a dual value — a number telling you exactly how much margin you'd gain by relaxing that constraint by one unit. Surfaced under Production Planning → Capacity Dashboard.
Use cases:
- Overtime ROI — if day-shift labor dual is $13.40 and overtime costs $22, don't run OT.
- Capacity expansion ROI — if grind dual sits at $45/hr month after month, that's a hard number for the second-grinder business case.
- Sourcing — if raw-material dual is high at one facility and low at another, transfer.
See the blog post on reading the dual.
Multi-facility setup
Each facility runs its own LP solve, with its own yield matrix, capacity constraints, and order book. Configure new facilities from the platform admin (accounts.cashsheets.com) on the tenant detail page.
Cross-facility transfers are first-class. When facility A ships inventory to facility B, the LP at B sees that inventory as available the same minute. The accounting side posts proper transfer journal entries automatically — no manual intercompany work.
See Your silo, explained for the architecture details on multi-facility tenants.