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.

Craft Price showing the itemized per-piece cost breakdown and the margin-based price
The itemized per-piece breakdown and the priced result. Placeholder pending a real screenshot.

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

References

  1. Craft Job Pricing Calculator
  2. HTV Placement Calculator — its batch cut list produces the per-piece vinyl dimensions entered here.