How Markups Work in Contractor Estimate Pro: Profit, Overhead, Bond, and Separate Sub and Material Markups
Your cost is what the job costs you. Your bid is what the customer pays. Markups are the gap between the two: your overhead, your profit and, if the job needs one, your bond. In Contractor Estimate Pro you set them once on the estimate, and the app puts them on every pay item for you.
In this guide we follow the markups on our running example, City Parking Lot - Lot 89 Improvements. We take one pay item, 6 - Aggregate Base, 6", from its $61,501.56 cost to its $69,420.00 price. Then we look at the sub-priced asphalt line and the totals for the whole bid.
What you'll need
An estimate with pay items on it (Create an estimate, Add pay items)
Your overhead, profit and bond percentages
If you want them, separate overhead and profit percentages for subs and for materials
About the numbers in this guide: every rate, price and percent below is an example number from our sitework bid. The customer is made up. Use your own.
Changing markups is editing the estimate, so it needs the Pro subscription.
Where markups are set
Markups live on the estimate's General Information screen, the same screen where you set the customer, the due date and the Material Sales Tax (%). To open it on an existing estimate, tap the menu (≡) at the top right of the estimate screen, then tap General Info.
Markups are set for the whole estimate here, and only here. There are no separate markups for a single pay item. Every pay item on the estimate uses the same percentages.
There are up to three rows of markups:
Row — Boxes — Our example — What it covers
Bid Markup (%) — Overhead, Profit, Bond — 10, 10, 0 — Your crews, and trucking on materials. With the switch off, everything.
Subs/Misc Markup (%) — Overhead, Profit — 5, 0 — Subcontracted Tasks and Misc. Plugs/Fees/Permits
Materials Markup (%) — Overhead, Profit — 10, 0 — Materials, with their sales tax
The two lower rows only show when Apply Separate Markup to Subs and Materials is on. There's no Bond box on them. As the screen notes, "Bond uses the base Bond % above for all components."
Step 1: Set your Bid Markup
Under Bid Markup (%), enter your Overhead, Profit and Bond percentages. For our example: Overhead 10, Profit 10, Bond 0.
Overhead covers the costs of running your company that aren't on any one pay item, like the office, the shop and insurance.
Profit is what you want to make on the work.
Bond is for jobs that need a bid or performance bond. Our parking lot doesn't, so it's 0.
Each one is a percent of cost. Profit isn't figured on top of overhead, and bond isn't figured on top of overhead or profit. On our aggregate base, 10% overhead and 10% profit on the crew work are the same dollar amount, $1,740.56 each.
How bond works: bond is a percent of the same cost as overhead and profit. It uses the Bond box in the Bid Markup row for every part of the pay item: crews, trucking, materials, subs and misc. Example only, not part of Lot 89: a pay item that costs $10,000.00 with a 2% bond gets $200.00 of bond (2% × $10,000.00), and that shows as BOND on its card.
Step 2: Use separate markups for subs and materials (optional)
You may not want to put your full markup on a sub's price or on a load of material. A sub's number can be most of a bid, and a full markup on it can price you out of the job.
With Apply Separate Markup to Subs and Materials off, the Bid Markup applies to everything on the estimate, subs and materials included.
Turn the switch on and fill in the two new rows. For our example:
Subs/Misc Markup (%): Overhead 5, Profit 0
Materials Markup (%): Overhead 10, Profit 0
So on this bid, our own crews and trucks carry 10% overhead and 10% profit. Materials carry 10% overhead and no profit. Subs, permits and fees carry 5% overhead and no profit.
Where does trucking go? With the crews. As the Edit Material screen notes, "Trucking labor/equipment uses base OH/Profit (crew markup), not materials markup." Trucking is your own driver and trucks, so it gets the Bid Markup. See Add pay items, Step 5.
What about a Flat Delivery Fee? It depends on the switch. With separate markups on, a material's Flat Delivery Fee ($) gets no markup. With the switch off, it gets the Bid Markup like everything else. Our gravel has no delivery fee, so it doesn't change our numbers.
Tap Update Estimate (or Create Estimate on a new one) to save. Every pay item recalculates right away.
Step 3: Follow the markups on one pay item
Here's how the app gets from cost to price on 6 - Aggregate Base, 6", 8900 SY. The costs come from Add pay items.
First, the app sorts the cost by which markup it gets:
Cost — Math — Amount — Markup row
Aggregate Spreading crew — 28.89 hrs × $325.00/hr — $9,388.89 — Bid Markup
Gravel trucking — 86.67 trips × 0.5 hr × $185.00/hr — $8,016.67 — Bid Markup
Gravel, with 6% tax — $41,600.00 + $2,496.00 — $44,096.00 — Materials Markup
Subs and misc — none on this line — $0.00 — Subs/Misc Markup
Total Cost — $61,501.56
Then it adds the markups:
Markup — Math — Result
Overhead on crew and trucking — 10% × $17,405.56 — $1,740.56
Overhead on materials — 10% × $44,096.00 — $4,409.60
OH — $1,740.56 + $4,409.60 — $6,150.16
Profit on crew and trucking — 10% × $17,405.56 — $1,740.56
Profit on materials — 0% × $44,096.00 — $0.00
PROFIT — $1,740.56
BOND — 0% — $0.00
The materials markup goes on the gravel with its sales tax: 10% of $44,096.00, not of $41,600.00.
The pay item card on the estimate shows the same three numbers along its bottom: OH: $6,150.16, PROFIT: $1,740.56 and BOND: $0.00.
Step 4: How the unit price is rounded
Cost plus markups on our aggregate base is $61,501.56 + $6,150.16 + $1,740.56 = $69,392.28. The app turns that into a unit price, then a total:
Step — Math — On screen
Unit price — $69,392.28 ÷ 8900 SY = $7.7969…, rounded to the cent — Unit Price: $7.80
Total price — 8900 × $7.80 — Total Price: $69420.00
The unit price is rounded first, and the total is the quantity times that rounded unit price. That way the line on the customer's PDF always checks out: 8900 × $7.80 is exactly $69,420.00. Here the rounding adds $27.72 to the line. On a big quantity, a cent on the unit price can add up, so check the total price, not just the unit price.
You'll see the same numbers in the Pay Item Pricing box at the top of the pay item: Unit Cost $6.91, Total Cost $61501.56, Unit Price $7.80 and Total Price $69420.00.
Want to round the prices on the PDF you send, like to the nearest dime? That's done when you export, on the Customer PDF Pricing sheet, with Round unit prices or Manual pricing overrides. It changes that export only, not the estimate. See Set up your company header and PDF options, Step 7.
Step 5: See how a sub is marked up
Our bid's biggest line is 7 - 4" Asphalt, 2000 TON. A sub, A1 Asphalt, prices the fine grade and paving at $95.00/TON, so it's a Subcontracted Tasks line with a cost of $190,000.00. It gets the Subs/Misc Markup:
Markup — Math — Result
OH — 5% × $190,000.00 — $9,500.00
PROFIT — 0% × $190,000.00 — $0.00
BOND — 0% — $0.00
Unit price — ($190,000.00 + $9,500.00) ÷ 2000 TON — $99.75
Total price — 2000 × $99.75 — $199,500.00
Permits and fees in Misc. Plugs/Fees/Permits get the same Subs/Misc Markup. On 2 - SESC Silt Fence, the $250.00 SESC Permit adds 5% overhead, $12.50, to the line's OH.
Step 6: Check the totals for the whole estimate
The blue bar at the top of the estimate shows the bid total: $386,171.50. The Estimates screen shows the estimate with its Total Bid, Total Cost and Margin.
Here's how our seven pay items add up, by markup row:
Costs — Cost — OH — Profit
Crews and trucking (Bid Markup, 10% / 10%) — $87,983.89 — $8,798.39 — $8,798.39
Materials with tax (Materials Markup, 10% / 0%) — $73,378.50 — $7,337.85 — $0.00
Subs and misc (Subs/Misc Markup, 5% / 0%) — $190,300.00 — $9,515.00 — $0.00
Whole estimate — $351,662.39 — $25,651.24 — $8,798.39
Add up the OH and PROFIT on the seven pay item cards and you get the same $25,651.24 and $8,798.39.
Cost plus markups is $351,662.39 + $25,651.24 + $8,798.39 = $386,112.02. The bid total is $386,171.50 because it's the sum of the seven rounded line totals, and each line's rounding adds a little. Here, $59.48 in all.
Exporting the estimate's PDFs and reports is covered in a later guide (coming soon).
Markup vs. margin
Our markups say 10% and 10%, but the Estimates screen shows a Margin of 8.9%. Both are right. They measure different things:
Markup is a percent of your cost, added on top.
Margin is the share of the bid that's left after cost: (Total Bid − Total Cost) ÷ Total Bid.
For our bid: $386,171.50 − $351,662.39 = $34,509.11, and $34,509.11 ÷ $386,171.50 = 8.9%.
Why so much lower than 10% + 10%? Because over half our cost is the asphalt sub, $190,000.00 of $351,662.39, and it carries only 5% overhead and no profit. The aggregate base line, with mostly our own crews, materials and trucks, keeps more: ($69,420.00 − $61,501.56) ÷ $69,420.00 = 11.4%.
Use the margin to check the whole bid at a glance. If it's lower than you expected, look at which lines carry the low markups.
Change markups later
Tap the menu (≡) on the estimate, tap General Info, change the percentages and tap Update Estimate. Every pay item recalculates right away, and so do the bid total and the margin.
Markups are part of the estimate. If you save the estimate as a job template, its markups go with it. See Save time with pay item and job templates (guide coming soon).
Tips
Set markups before you build pay items. Then every unit price you see while you work is a real price.
Use separate markups when subs are a big part of the job. A full markup on a large sub number can cost you the bid.
Supplier charges a flat delivery fee? Know how it's marked up. With separate markups on, the Flat Delivery Fee gets no markup. With the switch off, it gets your Bid Markup.
Remember trucking gets the crew markup. If you haul your own material, that haul carries your Bid Markup, not your Materials Markup.
Watch the margin, not just the markups. The Estimates screen shows it for every bid.
Check big-quantity lines after rounding. One cent on the unit price of 8900 SY is $89.00 on the line.
FAQ
Can I set a different markup on one pay item? No. Markups are set only for the whole estimate, on General Information. Every pay item uses the same percentages.
Is profit figured on cost or on cost plus overhead? On cost. On our aggregate base, 10% profit on the $17,405.56 of crew and trucking is $1,740.56, the same as the 10% overhead on it.
Does the materials markup include the sales tax? Yes. It goes on the material with its tax. Our gravel's 10% overhead is figured on $44,096.00, the price with 6% tax.
How is bond figured? As a percent of cost, the same cost that overhead and profit are figured on. The Bond % from the Bid Markup row goes on every part of the estimate. Our Lot 89 bid uses 0%.
What markup goes on trucking? The Bid Markup, the same as your crews, because trucking is your own driver and trucks.
Does a Flat Delivery Fee get marked up? With Apply Separate Markup to Subs and Materials on, no. With it off, yes: the Bid Markup goes on it.
Why is my margin lower than my markup? Markup is a percent of cost. Margin is a percent of the bid. A 10% markup on cost is about a 9.1% margin, and lines with lower markups, like subs, pull the margin down further.
What happens if I turn off Apply Separate Markup to Subs and Materials? The Subs/Misc and Materials rows go away, and the Bid Markup applies to everything on the estimate, subs and materials included.
Why doesn't the bid total equal cost plus markups exactly? Each unit price is rounded to the cent first, then multiplied by the quantity, and the bid total is the sum of those line totals. On our bid, that adds $59.48.
Next guide: Save time with pay item and job templates (guide coming soon) · Back to all Contractor Estimate Pro guides →








