Costing and Pricing Craft Jobs per Piece
Craft Price is a single-file, offline job costing calculator for vinyl and craft work. It accounts the true per-piece cost — blank, vinyl actually consumed, other materials, labor, overhead — then prices it at a target margin or markup, and totals a whole job into a copyable quote block [1].
The problem
Craft pricing usually goes wrong twice. First, the cost side omits things: the vinyl gets counted as "about a dollar," the two hours of weeding get counted as zero, and the press's wear gets counted never. Second, the pricing side confuses margin with markup — a crafter aiming for "40% profit" applies 40% markup and unknowingly ends up with a 28.6% margin, underpricing every piece. The tool separates the two failure modes: an honest cost accounting, then an explicit choice of pricing convention.
How it works
The per-piece panel takes materials (blank cost; vinyl roll cost and length, plus inches used per piece; other materials) and labor & overhead (minutes per piece, hourly rate, overhead per piece). It renders an itemized cost breakdown with a per-piece total. The vinyl inches-used figure pairs directly with the HTV Placement calculator's cut list [2] — read the piece height off the cut list and enter it here by hand. The pricing panel applies the chosen margin or markup, and the whole-job panel multiplies by quantity, reporting total price and total profit with a Copy quote button. Material presets (blank, roll, other) persist by name; labor deliberately does not persist, since it varies by design.
The math
per_piece = blank
+ (roll_cost / roll_length) × inches_used
+ other_materials
+ (minutes / 60) × hourly_rate
+ overhead
Margin vs. markup — not the same number
Margin is profit as a share of price (the convention retail uses). Markup is profit as a share of cost:
margin: price = cost / (1 − margin) (guarded: margin must be < 100%)
markup: price = cost × (1 + markup)
The same 40% produces different prices. On a $6.00 piece: 40% markup gives $8.40 (profit $2.40 — which is only a 28.6% margin), while 40% margin gives $10.00 (profit $4.00). If the goal is "40% of what the customer pays is profit," margin is the number to use — and it is the common crafter error to reach for markup instead. The tool labels the toggle explicitly and guards the margin path against ≥ 100%, where the formula would go infinite.
Editing the config
There is no config table — every number is an input. The only constant at the top of the <script> block is LS_KEY (craftprice.v1), which stores the pricing basis, the target percentage, and the named material presets. The cost formula is the perPiece() function; the pricing conventions are in price().
Limitations
- Vinyl cost is linear inches of roll. It does not model weeding waste, failed presses, or nesting efficiency — pad
inches_usedor the overhead line to taste. - Overhead is a flat per-piece figure the user supplies, not a derived machine-amortization model.
- It prices one piece design at a time. A job mixing several designs is several calculations.
- No tax, fees, or platform-cut handling — the quote is pre-fee revenue.
References
- Craft Job Pricing Calculator
- HTV Placement Calculator — its batch cut list produces the per-piece vinyl dimensions entered here.