Tech Pack Workflow
A Tech Pack doesn't move from blank to Production Ready in one step, and it shouldn't. The workflow exists for a specific reason: costing comes first, design comes after. No factory wants to invest pattern-making, sample sewing, and fabric trials into a style only to find out at the end that the numbers don't work. The workflow forces a costing conversation up front, then a creative one, then a final commercial check before the spec is locked.
The state isn't decoration: it decides who can edit the document, what reports it appears on, and whether downstream documents like Production Orders can be created against it.
seven states
A Tech Pack lives in one of these states at any time:
- Commercial — the starting state, and a costing exercise, not a design one. The commercial team picks the fabric, the raw materials, the services, and works out the cost rollup and ideal selling rate. The point is to validate the numbers before the design team invests time in samples and patterns. There's no need to enter full design mode if the costs don't add up. Editable by Sales Manager.
- Design — the design team takes over. Sample production, fit adjustments, fabric trials, and tweaks to materials and services. It's normal and expected for things to shift here: a fabric swap, a different trim, a service added or removed, costs nudging up or down. The goal of this stage is a product the customer or commercial team is happy with. Editable by Sample User (the role name is historical — Sample User and "designer" are interchangeable in conversation).
- Approval — the second commercial checkpoint. The commercial team revisits the cost rollup, because design teams (as they sometimes do) get enthused and add cost in pursuit of the perfect product. This is the moment to reconcile the selling rate against the new cost — adjust either side, or push back to design if something is off. Editable by Sales Master Manager.
- Production Ready — green-lit and submitted. Production can create Orders and Batches against it. The Tech Pack can stay in this state indefinitely — through repeat orders, seasons, and reorders. Editable by Sales Master Manager.
- On Hold — paused. Brand undecided, fabric pricing pending, anything that's likely to resume. Editable by Sales Manager.
- Archived — retired but reversible. Use this when the materials have shifted enough that the spec is no longer accurate, or the season has wrapped and the style isn't worth keeping active. Submitted, editable by Sales Master Manager.
- Rejected — permanently dead. Cancelled. Stays in GarmentFlow for history; no outgoing transitions.
transitions
The standard path is Commercial → Design → Approval → Production Ready, with branches for pause, rework, and end-of-life. Grouped by source state:
From Commercial. Approve moves to Design — used when the costing exercise is complete and the customer or commercial team is happy with the numbers. Reject sends to On Hold when the project needs to be paused before investing design time.
From Design. Review moves to Approval — used when the design team believes the spec (and the cost) is ready for a final commercial check. Reject sends to On Hold.
From Approval. Approve moves to Production Ready — the commercial team has signed off on the final cost and selling rate. Reject sends back to Design for rework when the numbers or the spec need another pass.
From On Hold. Approve moves back to Commercial — always, no matter where the Tech Pack was paused from. This is intentional: every unheld spec gets re-evaluated commercially before re-entering the pipeline.
From Production Ready. Reject sends to Rejected (the cancel-mid-flight path); Archive sends to Archived — the retirement path, used when materials have changed enough to invalidate the spec, or the season has ended.
From Archived. Approve sends back to Production Ready — the revival path. Use it for reorders of an archived style, or when an old spec turns out to be the basis for a new one.
From Rejected. Nothing. Once Rejected, the Tech Pack is terminal — kept for history but it can't move again.
Workflow buttons appear at the top of the Tech Pack form, filtered by your role. A designer won't see Approve on an Approval-state document; a Sales Manager won't see Review on a Design-state document.
Image: The top of a Design-state Tech Pack with only the Review and Reject buttons visible to a designer.
Who acts at each stage
The workflow uses three Frappe roles. Map them to your factory's structure:
- Sales Manager — the commercial/merchandising person who builds the cost rollup and decides whether the style enters design. Owns Commercial and On Hold.
- Sample User — the designer, or anyone in the design and sample room who needs edit access while the spec is being built and sampled. Owns Design.
- Sales Master Manager — the senior approver: brand-side contact, factory head, or whoever has final sign-off on the cost and selling rate. Owns Approval onwards, including the end-of-life states.
You can retune which roles are allowed on which transitions in the Workflow doctype itself, not on the Tech Pack.
What "Production Ready" actually gates
This is the rule everyone needs to know, with one nuance:
- Submitting a Production Order against a Tech Pack requires the Tech Pack's docstatus to be 1 (submitted). Both Production Ready and Archived are submitted states, so either counts for submission.
- Releasing a Production Order requires the Tech Pack's workflow state to be exactly
Production Ready. Archived doesn't count for release.
In practice: an Archived Tech Pack lets old Production Orders continue to be worked on, but no new Production Orders can be released against it until you revive the spec to Production Ready.
If you find yourself wanting to release production against a Tech Pack that's still in Design or Approval, the right answer is almost always to push the workflow forward, not to bypass it.
On Hold vs Archived vs Rejected
Three off-path states, three different meanings — picking the right one matters because they're not interchangeable:
- On Hold is temporary. Use it when the spec is paused but expected to resume — the brand hasn't decided on the wash, fabric pricing is pending, the customer wants to wait until next quarter. When you unhold, the Tech Pack returns to Commercial, ready for a fresh commercial review before re-entering design.
- Archived is retired and reversible. Use it when the raw materials have changed enough that the cost rollup is no longer trustworthy, when the season has ended, or for any spec that has run its course but might come back — reorders, sister styles, a base block for next season. Revive via Approve back to Production Ready.
- Rejected is permanent. Use it when the style is genuinely dead — a green-lit production that got cancelled mid-flight, a brief that's no longer happening, a spec killed by supplier failure or brand pullout. The Tech Pack stays in GarmentFlow for history but can't be moved again.
When in doubt between Rejected and On Hold: if there's any reasonable chance the style comes back, use On Hold. Rejected is for "we are definitely not making this."
Rejected is final. A Rejected Tech Pack stays in GarmentFlow for history but can never be moved to another state again. If there's any chance the style returns, use On Hold instead.
One gate to know about
Before any state transition fires, GarmentFlow checks that the Tech Pack has at least one row in the Sizes table on the Logistics tab. If Sizes is empty, the transition fails with a message telling you to add a size before changing the workflow state.
This applies to every transition, not only the move to Design. So if you're trying to Archive a Tech Pack and the Sizes table somehow got cleared, the Archive will also fail. Check Sizes first whenever a state change is blocked.
What to do next
Workflows make the most sense once you've walked one through. Create a test Tech Pack, fill in the minimum required fields including at least one row in Sizes, and step it through Commercial → Design → Approval → Production Ready. Watch which buttons appear and disappear at each state. Then return to the Tech Pack hub and start a real one.