How to set your labor rate, structure the labor library so it scales, and name labor tasks so the table stays scannable past the first twenty entries.
5 min read · Updated May 13 2026
The labor library is where you keep every reusable task (soldering, setting, polishing, casting) with its rate and cost basis. Each piece picks from the library: the line itself just records "this much of this task." When you raise your hourly rate, every piece that uses an hourly library entry reprices automatically.
This guide covers the rate itself, how granular to make the library, and a naming convention so the library stays usable past the first twenty entries.
The hourly rate for in-house production work — bench work, stone setting, carving, polishing, or any other shop labor. This is what gets billed when a piece's labor line is "in-house," meaning you (or your shop) did the work, not an external service vendor.
Two things to know:
If you don't know what to set, $50–$75/hour is a defensible starting range for production work done by a jeweler with 5+ years of experience. Below $40/hour, you're subsidizing your customers. Above $100/hour, you should have a clear reason: niche skill, signature technique, repair specialty.
The labor library can hold one entry per piece-type ("Production - pendant, 90 min") or twenty entries that break out every step (sawing, filing, soldering, setting, polishing, finishing). Both work. The right level of detail depends on what you want to learn from your own data.
Start broad. Migrate to granular when you care. There's no cost to changing your approach later. The engine doesn't care whether labor is one line or eight.
A separate axis from "how many steps." Should each labor entry be reusable across pieces, or specific to one item?
The recommendation: default to generic, go specific when the labor meaningfully changes the price. If swapping a generic entry for a specific one wouldn't shift the retail by more than a few dollars, generic is fine. The labor library is designed for reuse, so use it.
A library that grows past about 20 entries gets hard to scan if names are inconsistent. A naming convention you can stick to is worth more than any specific format.
The labor table and the picker on a piece both show only the name and the vendor sub-label. Cost basis, hourly rate, and time aren't separate columns. If you want to tell a hand polish from a tumble polish at a glance, that has to live in the name.
Schema: [Operation] [Modifier when variants exist]
Lead with the operation. Add a modifier, separated by a dash, only when you have more than one variant of that operation. Single-variant operations get a bare name.
Operation-first because that's how you think at the bench: "I need to do the setting work" gets you to every setting variant in one cluster. The modifier exists to disambiguate; skip it when there's only one kind of polish, soldering, etc.
A few patterns that look fine on entry three and break by entry thirty.
Vague operations. "Bench work" or "Misc" tells you nothing in six months. The point of a library entry is to remember what the work was.
Time baked into the name. Time is a separate field. When a piece uses 45 min instead of the library default, the engine handles it without renaming anything.
Inconsistent separators. Pick one and use it everywhere. Mixing dashes, commas, and parentheses produces three different orderings in the table.
Vendor name in the entry name. Vendor is a structured field and shows in the picker as a sub-label. Repeating it in the name clutters the list without disambiguating.
The labor table is searchable, but a consistent name turns scanning into reading.