GBGrommetbook

How a sign shop should mark up materials

Published · Updated

Mark up your total cost (materials with waste, ink, and labor at your hourly rates), not material alone, then set a minimum for small jobs. It depends on your overhead and market, but know the difference: a 100% markup is only a 50% margin. Rules of thumb on sign forums range from doubling material cost to multiplying it by three to five. Those rules work when material is most of the cost and fail on small, labor-heavy signs, which is where most underquoting happens.

Markup vs margin

Markup = (price − cost) ÷ cost. Margin = (price − cost) ÷ price. Margin = markup ÷ (1 + markup).

Markup on costPrice on $100 costMargin
50%$15033.3%
100%$20050.0%
150%$25060.0%
175%$27563.6%
200%$30066.7%
300%$40075.0%

If someone says "I want 50%", ask whether they mean markup or margin. The prices are very different.

Rules of thumb shops use

The last one is the method on this page. The multipliers are shortcuts for it.

Why marking up material alone fails on small signs

Example: one 24×36 in coroplast sign, using example costs from the coroplast pricing guide.

LineWorkingAmount
Material with 15% waste6 sq ft × $0.5625 × 1.15$3.88
Ink6 × $0.25$1.50
LaborPrint 0.1 h × $40 + cut 4 min × $50/h$7.33
Total cost$12.71
"Double the material"$3.88 × 2$7.76: below cost
"Material × 3"$3.88 × 3$11.64: still below cost
100% markup on total cost$12.71 × 2$25.43: 50% margin

On a large banner or a sheet of printed vinyl, material may be most of the cost, and a material multiplier can be close. On small signs it is not.

Waste belongs in the cost

Waste is part of what the material costs you: offcuts, misprints, test prints and sizes that don't nest on the sheet or roll. Add it as a percentage on each material, not as extra markup. Example: vinyl at $0.85/sq ft with 20% waste costs $0.85 × 1.20 = $1.02 per sq ft used.

Set a minimum

A minimum covers the file check, setup and customer time that every job has. Shops on Signs101 describe minimums such as "Minimum of $75-$125. Installed would be minimum of $175." (2022), and smaller figures of $25 to $80 in older threads. Pick yours from your shop rate: if a small job takes 30 minutes of handling at $60/h, your minimum is at least $30 plus material.

Keep costs current

Markup only works if the cost under it is current. Suppliers raise prices: a Signs101 member reported an Oracal 751 roll going from $210.50 to $243.50 in 2018, about 15%. When that happens, update the material and every price that uses it.

Doing it in Grommetbook

Each Material carries its own waste %, each Product its own markup and minimum, and labor is entered as Rates with hours per unit. The read-only viewer shows each Product's sample price, cost and margin, and marks margins under 40% in red. Ask your AI assistant "show me Products with margin under 40%" to find them. When a supplier raises prices, "Oracal raised 751 by 6%" reprices every Product that uses it, and Quotes already sent stay as they were.

Try it

Connect your AI assistant to https://grommetbook.smallwright.com/mcp and ask it to set up your Materials, Rates and markups. Steps are on Connect your AI.

Questions

What is the difference between markup and margin?
Markup is profit as a share of cost. Margin is profit as a share of price. A 100% markup gives a 50% margin.
Is doubling material cost enough?
Often not. On small signs, labor can be more than half the cost, so doubling material alone can leave you below cost. Mark up the total cost of materials, ink and labor.
How do I include waste?
Add a waste percentage to each material's cost: cost × (1 + waste %). A sheet with 15% waste costs you 1.15 times its per-square-foot price.
Can Grommetbook show my margin?
Yes. The read-only viewer shows each Product's sample price, cost and margin, and flags margins under 40% in red.