Skip to content

Configuration: Cut-from-Stock Quoting

Cut from stock is a quote type for shops that cut their pieces from purchased stock lengths, so a quote centres on a cut list: which sticks to buy, where each cut comes from, and what is left over. It is switched on by one declared setting, on top of the tenant’s archetype. This article lists that setting, the settings its screens read, and where each one is read. How the layers fit together is in How Quote Generator Is Configured.

The tenant layer declares capabilities.archetype: cut_from_stock, and NXTC applies it. Quote Generator reads it once when a page loads. Until that read lands, and whenever it fails, every cut-from-stock screen stays hidden, and its addresses answer as though they did not exist. Nothing is ever shown on a guess.

These screens exist only on a tenant that declares the quote type, so they are described here rather than shown:

  • On a quote’s overview, a Cut list button. The cut list groups the quote’s steel by the stock it is cut from and shows the pieces, the sticks to buy, and the drop left over, with a total.
  • On the Admin page, a Drop rack button: the offcuts the shop keeps, each marked as won, on the rack, held, pending or used.
  • On a quote: a labor workup that turns pieces into shop hours, a price breakdown, the letter’s own fields, and a labor quote sheet in the Proposal menu.
  • When sending: marking a quote as sent, and downloading the PDF from a sent quote.

Each of these is an ordinary configuration key that any tenant could declare; a cut-from-stock tenant is the one that declares them today. All of them are applied by NXTC, except the price rounding (below).

Configuration key What it decides Where it is read
nesting: stock_lengths_in, kerf_in, usable_drop_min_in, family_stock_lengths_in The stock lengths cuts are nested into, per shape family where they differ; the saw’s kerf; and the shortest drop worth keeping. The cut list. Without it, the cut list uses the shipped defaults. An estimator can still change a group’s stock length or stick count on the quote.
steel.grade_equivalents Which grades count as the same for a shape family when a line is matched to a catalog part. The grade the drawing wrote is kept in the line’s history. Every match of a steel line to the catalog. With none declared, a match on a different grade is refused.
labor_rules, with lookup_tables How pieces become hours: which table sizes each shape family, how that size is measured, and for each operation how many there are and the hours each. The tables hold the hours by size class. The labor workup. Each hour on screen can say which table row and size class produced it. With no rules, every hour needs the estimator.
pricing_policy.tier_default: false No margin tier is the default; the estimator picks one on every quote. A new quote’s total, which stays blank with “Pick a markup tier to price this quote.”, and Send, which refuses with “Pick a markup before sending this quote.” until a tier is picked.
pricing_policy.tier_basis: markup A tier is a markup on cost, cost × (1 + markup), instead of a margin of price. The quote’s price, and the label beside it, which states the rule.
pricing_policy.price_each_round_up_to Each unit’s price each is rounded up to the next multiple of this amount. The quote’s price and the quotes list. The rounding shows as its own figure, never folded in. An administrator changes it under Admin → Pricing → Price rounding, Round the price each up to the next; the configuration’s value stays the default a reset returns to.
quote_defaults: bid_validity_days, delivery_weeks_aro, payment_terms What a new quote starts with when its creator does not say. Each new quote, where the values can then be changed. A copy of a quote keeps its source’s values.
reconcile_policy.draft_max_lines: 0 The model drafts no lines of its own: the documents’ bill is the bill. The document intake. A quote with no drafted lines says why: the policy, not chance.
capabilities.model_imports Which model and drawing files an upload accepts. The upload’s file picker and the intake.
extraction_schemas How a drawing’s bill-of-materials table is read. The document intake.

The archetype underneath decides the Admin boxes, as for any tenant. The quote type adds the Drop rack button and, under Pricing, the Price rounding card; it changes no box. Where the pricing policy turns contingency off, the Contingency page says it does not apply.

Send is refused with “Pick a markup before sending this quote.”

Section titled “Send is refused with “Pick a markup before sending this quote.””

No margin tier is picked on the quote, and on this tenant none is picked for you. Pick one; the total appears and Send is allowed.

The page could not read the tenant’s quote type, so it hid them rather than guess. Reload the page. If they stay missing, contact support.