Print shop workflow software that fits the shop you already run.
Every other system hands you the vendor's idea of a process. ManagePrint hands you a table you own: name your statuses, color them, order them, and add the preproduction stages that gate work in your shop.
The real settings screen. This shop started from the same six seeded statuses everyone gets, renamed all of them, and added “Blanks In” in the middle.
Customizable job statuses for screen printing shops
A status isn't a label we hard-coded and let you re-skin. It's a row in your shop's own table, and everything that reads a status reads yours.
Call it what the floor calls it
Every status is a row in your shop's own table — orgId, type, position, color, name. Nobody else's shop sees it, and nothing about it is shared. If your crew says "Proof Out" and "On Press," that's what the board says.
Drag it where it belongs
Position is a number on the row, so dragging a status rewrites the column order on the invoice kanban board and every status dropdown at once. Color is a hex value you pick, and it's the color the board paints that column's header and its cards.
Insert the step that's missing
"Blanks In" isn't a stage we shipped — it's one a shop added because their bottleneck is the box on the dock, not the press. New statuses carry no system key, so they can be renamed or deleted freely later.
Rename anything. Nothing breaks.
This is the part most software gets wrong. If the code searches for a status called “Approved,” then the day you rename it to “Proof Signed” something stops working — usually quietly, usually weeks later.
ManagePrint's seeded statuses each carry a hidden system key. The code asks for the key and gets back whatever you named it. That lookup runs when a customer approves a quote, when a quote becomes an invoice, and when a storefront order is paid — three places a rename would otherwise have broken.
Statuses that other code branches on show a lock instead of a trash can. They're yours to rename, recolor, and reorder — just not to delete.
Prep Started
Part 1: Gildan 5000 — Black — Front
3/11/2026, 7:42:10 AM · Marisol Vega
Prep Ended
Part 1: Gildan 5000 — Black — Front
3/11/2026, 8:15:44 AM · Marisol Vega
Approval Requested
Part 1: Gildan 5000 — Black — Front
3/11/2026, 8:16:02 AM · Marisol Vega
Proof sent to Riverside HS athletics.
Approval Received
Part 1: Gildan 5000 — Black — Front
3/11/2026, 2:03:27 PM · Dee Okafor
Job Started
Part 1: Gildan 5000 — Black — Front
3/12/2026, 6:58:19 AM · Rosendo Cruz
Paused
Part 1: Gildan 5000 — Black — Front
3/12/2026, 9:21:05 AM · Rosendo Cruz
Out of white ink. Waiting on the afternoon delivery.
Resumed
Part 1: Gildan 5000 — Black — Front
3/12/2026, 1:47:33 PM · Rosendo Cruz
Job Completed
Part 1: Gildan 5000 — Black — Front
3/12/2026, 4:12:58 PM · Rosendo Cruz
The same job's event log. Every row is a button somebody pressed, not a dropdown somebody remembered to change.
Preproduction stages you define yourself
Most jobs don't stall in production. They stall waiting on art, waiting on screens, waiting on a box of blanks — and none of that fits in a single status.
3 of 6 categories
Three categories, each with its own ordered list of statuses. Art, screens, and blanks are this shop's choices, not ours.
One light per thing that can hold a job up
A preproduction workflow for a screen printing shop isn't the same as one for an embroidery shop, and neither matches a shop that outsources art. So ManagePrint doesn't ship one. You create the categories, name the statuses inside them, and put them in the order work actually happens.
The rule is one line long: the last status in a category is the done status. There's no “is complete” checkbox to get out of sync with the list — reorder the list and the finish line moves with it.
Filled means done, hollow means not — shape carries the signal as well as color, so the lights survive red/green color blindness. Art is finished, screens are still burning, blanks nobody has touched. Hover a chip and it tells you which category it belongs to.
Starting a job before the lights are all green isn't blocked — a missing checkbox at 4pm on a deadline shouldn't stop the floor. It warns, lists what's outstanding, and records the override, so an early start reads in the analytics as a decision someone made instead of an unexplained gap.
Status is derived from what happened
Configurable statuses are only worth something if they're telling the truth. In ManagePrint a status is computed, never typed.
Append-only
Prep started. Approval requested. Paused. Resumed. Job ended. Each is a row that carries who did it, when, which part, and which print location — and rows are added, never edited.
Rolled up, not entered
A line item's stage comes from its own events; the job's stage comes from its line items. A job reads "in production" because a press actually started, not because someone dragged a card.
Pauses count as events
Pause and resume are logged like anything else, per run. Two parts paused over the same ten minutes cost the job ten minutes of clock, not twenty — so phase durations stay honest.
That's also why the numbers work. Because the log is the source of truth, phase durations are measured rather than estimated — you can see how long the shop really spends waiting on approval, and it isn't an opinion.
Where ManagePrint is opinionated
Modular isn't the same as unlimited, and a page like this should say where the walls are.
Three invoice statuses can't be deleted
The ones keyed new, in_production, and completed stay. Rename them, recolor them, drag them anywhere — but other code branches on those keys, so deleting one would leave the app with nowhere to put a job. The screen shows a lock instead of a trash can, and the server refuses the call too. Quote statuses are stricter still: all four defaults are system statuses and none can be deleted.
A status in use can't be deleted
If any invoice is sitting in a status, removing it fails with "Cannot delete status that is in use by invoices. Reassign them first." That's deliberate. Silently dumping forty jobs into an unrelated column is worse than an error message.
The production phases themselves are fixed
Under your status names, a line item still moves prep → approval → production → complete, and the event types that drive it are a closed list. You're configuring the vocabulary and the pipeline your customers and your board see, plus everything that has to happen before a job starts — not inventing new phases for the analytics engine to time.
Preproduction caps at six categories
Six lights is the limit, enforced on the server and not just in the UI. Past six the stoplight stops being readable across a room, which is the only reason it exists. Preproduction is also per job rather than per line item, and it's behind a per-org beta flag — a shop that isn't enrolled doesn't see a teaser or a locked card, it just doesn't see the feature.
Common questions
What shops ask before they move a decade of habits into new software.
Set it up the way your shop already talks.
14 days free, no credit card. Renaming every status and building your preproduction lights takes about ten minutes — and then the software stops arguing with you.