{
  "slug": "construction-change-order-pricing",
  "title": "Change Order Pricing Calculator",
  "heading": "Construction Change Order Pricing Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/construction-change-order-pricing",
  "summary": "Price added scope with labor, material, equipment, markup, and bond adder.",
  "description": "Change orders get disputed more than any other line item on a job because owners see them as pure profit and contractors see them as compensation for disruption, remobilization, and risk on work that wasn't in the original estimate. A defensible change order price stacks direct costs (labor at burdened rate, material, equipment) then applies markup tiers most contracts allow: overhead and profit on self-performed work, and a reduced markup on subcontracted or already-marked-up cost to avoid markup-on-markup. Many AIA and public contracts cap change order markup at 10-15% overhead/profit combined and often limit subcontractor tier markup to 5-10% on top of the sub's own markup. This calculator separates self-perform cost from sub cost, applies your markup rates to each, adds a bond premium adjustment if the change order increases contract value, and returns the total change order price plus the effective blended markup rate you're carrying.",
  "formula": "CO price = (Self-perform cost × (1 + OH%) × (1 + Profit%)) + (Sub cost × (1 + Tier markup%)) + Bond adder.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=construction-change-order-pricing",
  "inputs": [
    {
      "id": "selfCost",
      "label": "Self-perform direct cost",
      "kind": "number",
      "hint": null,
      "default": 8500,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "subCost",
      "label": "Subcontractor quoted cost",
      "kind": "number",
      "hint": null,
      "default": 6000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "ohPct",
      "label": "Overhead on self-perform",
      "kind": "number",
      "hint": null,
      "default": 10,
      "unit": "%",
      "min": 0,
      "max": 30
    },
    {
      "id": "profitPct",
      "label": "Profit on self-perform",
      "kind": "number",
      "hint": null,
      "default": 10,
      "unit": "%",
      "min": 0,
      "max": 30
    },
    {
      "id": "tierPct",
      "label": "Markup on sub cost",
      "kind": "number",
      "hint": null,
      "default": 7,
      "unit": "%",
      "min": 0,
      "max": 20
    },
    {
      "id": "bondRate",
      "label": "Bond rate adjustment",
      "kind": "number",
      "hint": null,
      "default": 1,
      "unit": "%",
      "min": 0,
      "max": 3
    }
  ],
  "outputs": [
    {
      "id": "total",
      "label": "Total change order price",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "self",
      "label": "Self-perform portion (marked up)",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "sub",
      "label": "Sub portion (marked up)",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "bond",
      "label": "Bond premium adder",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "effMarkupPct",
      "label": "Effective blended markup",
      "format": "percent",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Self-perform direct cost: 8500 $",
      "Subcontractor quoted cost: 6000 $",
      "Overhead on self-perform: 10 %",
      "Profit on self-perform: 10 %",
      "Markup on sub cost: 7 %",
      "Bond rate adjustment: 1 %"
    ],
    "outputs": [
      "Total change order price: $16,872.05",
      "Self-perform portion (marked up): $10,285.00",
      "Sub portion (marked up): $6,420.00",
      "Bond premium adder: $167.05",
      "Effective blended markup: 16.4%"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter self-perform direct cost ($).",
      "Enter subcontractor quoted cost ($).",
      "Enter overhead on self-perform (%).",
      "Enter profit on self-perform (%).",
      "Enter markup on sub cost (%).",
      "Enter bond rate adjustment (%).",
      "Read your total change order price on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "selfCost": 5100,
        "subCost": 3600,
        "ohPct": 6,
        "profitPct": 6,
        "tierPct": 4.2,
        "bondRate": 0.6
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "selfCost": 8500,
        "subCost": 6000,
        "ohPct": 10,
        "profitPct": 10,
        "tierPct": 7,
        "bondRate": 1
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "selfCost": 13600,
        "subCost": 9600,
        "ohPct": 16,
        "profitPct": 16,
        "tierPct": 11.200000000000001,
        "bondRate": 1.6
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "Why apply different markup rates to self-perform versus sub cost?",
      "a": "The sub already built their own overhead and profit into their quote, so stacking your full OH+P rate on top double-charges the owner for overhead. Most contracts and industry norms cap markup on subcontracted change order work at 5-10%, versus 15-20% combined OH+P on cost you self-perform, because you're carrying the labor risk and supervision burden directly on that portion."
    },
    {
      "q": "Should overtime premium be included in change order labor cost?",
      "a": "Only if the change genuinely requires acceleration to hold the schedule; routine changes priced at straight-time rates even if the crew happens to be on overtime elsewhere. Document the schedule impact separately with a time impact analysis if you're claiming overtime, because owners routinely reject overtime premiums on changes they view as sequencing-neutral."
    },
    {
      "q": "How does a bond premium adjustment work on a change order?",
      "a": "Performance and payment bonds are priced as a percentage of total contract value, so every dollar of added scope technically increases your bond exposure. Many contractors add 0.5-1.5% of the change order value to true up the bond premium, especially on public work where the bonding company recalculates annually based on total bonded volume."
    },
    {
      "q": "What's a common negotiation mistake with change order markup?",
      "a": "Quoting a single blended markup percentage across the whole change order invites the owner to negotiate that one number down, taking your self-perform margin with it. Break out labor, material, equipment, and sub cost separately with markup shown on each so the negotiation happens on defensible categories instead of one round number."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/general-conditions-percentage",
    "https://www.revenuelab.fyi/toolbox/change-order-markup-stacking",
    "https://www.revenuelab.fyi/toolbox/overhead-and-profit-allocation"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Change Order Pricing Calculator (https://www.revenuelab.fyi/toolbox/construction-change-order-pricing)"
}