DocMake
The PDF DocMake makes from the Change Order template

The first page of the document DocMake makes from the sample values on this page.

Operations

Change Order

A change order turns an instruction into a number. Somebody decides the work should be different from the contract documents, and this is the document that says what changed, what it costs, how long it adds, and who agreed to it. Its whole purpose is to be signed before the work happens, because a change order signed afterwards is a claim wearing a change order's clothes.

The origin line does more work than it looks. Most changes trace back to something already on file, an RFI answer, a design revision, a client request, a site condition found on excavation, and naming that origin is what lets a project manager see at the end of a job that eleven of the twenty variations came from one late structural revision. A change order with no traceable origin is the one that gets disputed.

Cost belongs in a build-up rather than a single figure. Labour hours at a rate, materials, plant, subcontracted elements and any acceleration each sit on their own line, with overheads and profit applied at the contract percentage rather than buried. It also makes honest reporting possible when the priced change lands above the estimate given in the RFI response, since the difference shows as a line rather than as an argument.

Time and money are separate answers. A change can add cost with no extension of time, add time with no cost, or add both, and the document has to say which, along with the revised completion date where one applies. Rendering the change order from JSON lets the project system produce the numbered PDF for signature, post the same values into the cost report, and keep the running contract sum on every later document without anyone retyping the build-up.

Blanks to fill

change_order_number Change order number
issue_date Issued
project_name Project
project_number Project number
site_address Site address
location_of_work Location
contract_title Contract
contract_date Contract date
issued_by Issued by
issued_by_contact Contact
issued_to Issued to
issued_to_contact Attention
originating_document Origin
instruction_reference Instruction reference
change_category Category
work_package Work package
reason_for_change Reason
revised_documents Documents that define the change
description_of_change Description of the change
work_omitted Work omitted
subtotal Subtotal
overhead_and_profit_rate Overheads and profit rate
overhead_and_profit Overheads and profit
change_order_total Change order total
pricing_basis Pricing basis
estimate_reference Estimate given at RFI stage
variance_explanation Difference against the estimate
original_contract_sum Original contract sum
previously_approved_changes Previously approved changes
this_change This change
revised_contract_sum Revised contract sum
programme_effect Effect on the programme
extension_of_time Extension of time
revised_completion_date Completion date
acceleration_note Acceleration
conditions Conditions
attachments Attachments
company_name Company
cost_lines[] One per item, so a row is added for every item in the list
approvals[] One per item, so a row is added for every item in the list

The data behind the preview

This is the exact JSON that produced the document above. Change the values, POST them to the API, and you get your version back as DOCX or PDF. Lists grow and shrink with your data; the layout adapts.

  1. 01 Sign up free and duplicate this template into your workspace.
  2. 02 Adjust the wording and branding in the visual editor.
  3. 03 Fill it in the app, share it as a form link, or call the API.
sample-data.json
{
  "company_name": "Harbor Build Group",
  "change_order_number": "CO-018",
  "issue_date": "September 21, 2026",
  "project_name": "Cascade Street mixed use development",
  "project_number": "PRJ-2026-114",
  "site_address": "Cascade Street, Bristol BS1 6TR, United Kingdom",
  "contract_title": "Mechanical and electrical services subcontract, Cascade Street",
  "contract_date": "February 9, 2026",
  "issued_by": "Harbor Build Group",
  "issued_by_contact": "Owen Marsh, Site Manager, with Marchmont QS for the valuation",
  "issued_to": "Kestrel M&E Ltd",
  "issued_to_contact": "Priya Raman, Project Engineer",
  "originating_document": "RFI-2026-0142, answered by Prentice Ward Architects on September 17, 2026, option A adopted",
  "instruction_reference": "Architect's instruction AI-0071 dated September 18, 2026",
  "change_category": "Design coordination, arising from a structural revision after the mechanical layout was issued",
  "work_package": "M&E package, riser 2 distribution, level 4",
  "location_of_work": "Level 4, grid D3 to D5, riser 2",
  "description_of_change": "Lower the riser 2 chilled water flow and return at grid D4 from 2,750 mm to 2,050 mm above finished floor level to pass beneath transfer beam TB-04, form the associated offsets and additional supports, and construct a plasterboard bulkhead from grid D3 to D5 with a minimum clear head height of 2,400 mm below it. Provide one hinged access panel at grid D4 to maintain valve access required by specification section 23 21 13 clause 3.4.",
  "reason_for_change": "Structural drawing S-1140 was revised from E to F on September 4, 2026, moving transfer beam TB-04 from grid D5 to grid D4. The mechanical layout M-2204 revision C predates that revision and was correct when issued, so the alteration is a change to the contract requirement rather than remedial work.",
  "work_omitted": "The straight horizontal run at 2,750 mm across grid D3 to D5, valued at $1,860.00, is omitted and has been netted off line 1 rather than shown as a separate credit.",
  "revised_documents": "A-3012 revision E, level 4 reflected ceiling plan, issued September 17, 2026. M-2204 revision D, level 4 mechanical services layout, issued September 18, 2026. Coordination sketch SK-ME-114.",
  "pricing_basis": "Subcontract schedule of rates for labour and the contract percentage for overheads and profit. Materials at cost plus the contract handling percentage, supported by supplier quotations attached.",
  "cost_lines": [
    {
      "line": "1",
      "description": "Pipefitting labour, flow and return to the new level, net of the omitted straight run",
      "quantity": "96 hours",
      "rate": "$58.00",
      "amount": "$5,568.00"
    },
    {
      "line": "2",
      "description": "Labour, additional supports and bracketry at the new level",
      "quantity": "24 hours",
      "rate": "$58.00",
      "amount": "$1,392.00"
    },
    {
      "line": "3",
      "description": "Materials, offsets, fittings, insulation and sleeves",
      "quantity": "1 lot",
      "rate": "At cost plus handling",
      "amount": "$2,240.00"
    },
    {
      "line": "4",
      "description": "Bulkhead framing and boarding, grid D3 to D5, quotation Q-4471",
      "quantity": "1 lot",
      "rate": "Quoted",
      "amount": "$6,480.00"
    },
    {
      "line": "5",
      "description": "Hinged access panel at grid D4, supply and fit",
      "quantity": "1",
      "rate": "$360.00",
      "amount": "$360.00"
    },
    {
      "line": "6",
      "description": "Acceleration, two Saturday shifts to hold the completion date",
      "quantity": "2 shifts",
      "rate": "$1,090.00",
      "amount": "$2,180.00"
    }
  ],
  "subtotal": "$18,220.00",
  "overhead_and_profit_rate": "12 percent, per the subcontract",
  "overhead_and_profit": "$2,186.40",
  "change_order_total": "$20,406.40",
  "estimate_reference": "$18,600.00, given as option A in the response to RFI-2026-0142",
  "variance_explanation": "The RFI estimate priced the physical alteration only. Line 6 and the overheads and profit on it, $2,441.60 in total, cover the two Saturday shifts agreed on September 19 so that the sectional completion date is not moved. Excluding acceleration the priced change is $17,964.80, which is below the estimate given.",
  "original_contract_sum": "$1,842,000.00",
  "previously_approved_changes": "$43,008.60 across CO-001 to CO-017",
  "this_change": "$20,406.40",
  "revised_contract_sum": "$1,905,415.00",
  "programme_effect": "Six working days of additional duration on the level 4 riser and the ceiling that follows it. Four days were absorbed by the float remaining on that work face and two by the Saturday shifts priced at line 6.",
  "extension_of_time": "None. No extension of time is granted or claimed for this change.",
  "revised_completion_date": "Sectional completion for levels 3 and 4 remains October 2, 2026. Overall completion remains January 22, 2027.",
  "acceleration_note": "The Saturday shifts on September 26 and October 3 were agreed in writing on September 19 before the work started. Acceleration is priced once in this change order and will not be claimed again as disruption.",
  "conditions": "The access panel position at grid D4 is to be agreed on site with the architect before the ceiling is boarded. This change order is full and final settlement of the cost and time consequences of RFI-2026-0142 and architect's instruction AI-0071.",
  "approvals": [
    {
      "role": "Prepared by",
      "name": "Priya Raman, Project Engineer",
      "company": "Kestrel M&E Ltd",
      "date": "September 19, 2026"
    },
    {
      "role": "Valued by",
      "name": "Ceri Hopkins, Quantity Surveyor",
      "company": "Marchmont QS",
      "date": "September 20, 2026"
    },
    {
      "role": "Instructed by",
      "name": "Owen Marsh, Site Manager",
      "company": "Harbor Build Group",
      "date": "September 21, 2026"
    },
    {
      "role": "Accepted by",
      "name": "Ian Ferris, Contracts Manager",
      "company": "Kestrel M&E Ltd",
      "date": "September 21, 2026"
    }
  ],
  "attachments": "Coordination sketch SK-ME-114, drylining quotation Q-4471 dated September 18, 2026, supplier invoice for the offsets and sleeves, and the email of September 19, 2026 agreeing the two Saturday shifts."
}

Generate this document via the API

One template plus changing data is the whole point. The list of blanks above is the contract, and every new set of values comes back in the same layout: fill it in the app, hand someone a form link, or POST the JSON and get the file straight back.

The request below carries this page's own values, so it runs as soon as the template exists in your workspace. Swap the values for yours and the response is your document.

make-change-order.sh
curl -X POST https://app.docmake.io/api/v1/render \
  -H "Authorization: Bearer $DOCMAKE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  --output change-order.pdf \
  --data-binary @- <<'JSON'
{
  "template_id": "tmpl_your_template_id",
  "format": "pdf",
  "data": {
    "company_name": "Harbor Build Group",
    "change_order_number": "CO-018",
    "issue_date": "September 21, 2026",
    "project_name": "Cascade Street mixed use development",
    "project_number": "PRJ-2026-114",
    "site_address": "Cascade Street, Bristol BS1 6TR, United Kingdom",
    "contract_title": "Mechanical and electrical services subcontract, Cascade Street",
    "contract_date": "February 9, 2026",
    "issued_by": "Harbor Build Group",
    "issued_by_contact": "Owen Marsh, Site Manager, with Marchmont QS for the valuation",
    "issued_to": "Kestrel M&E Ltd",
    "issued_to_contact": "Priya Raman, Project Engineer",
    "originating_document": "RFI-2026-0142, answered by Prentice Ward Architects on September 17, 2026, option A adopted",
    "instruction_reference": "Architect's instruction AI-0071 dated September 18, 2026",
    "change_category": "Design coordination, arising from a structural revision after the mechanical layout was issued",
    "work_package": "M&E package, riser 2 distribution, level 4",
    "location_of_work": "Level 4, grid D3 to D5, riser 2",
    "description_of_change": "Lower the riser 2 chilled water flow and return at grid D4 from 2,750 mm to 2,050 mm above finished floor level to pass beneath transfer beam TB-04, form the associated offsets and additional supports, and construct a plasterboard bulkhead from grid D3 to D5 with a minimum clear head height of 2,400 mm below it. Provide one hinged access panel at grid D4 to maintain valve access required by specification section 23 21 13 clause 3.4.",
    "reason_for_change": "Structural drawing S-1140 was revised from E to F on September 4, 2026, moving transfer beam TB-04 from grid D5 to grid D4. The mechanical layout M-2204 revision C predates that revision and was correct when issued, so the alteration is a change to the contract requirement rather than remedial work.",
    "work_omitted": "The straight horizontal run at 2,750 mm across grid D3 to D5, valued at $1,860.00, is omitted and has been netted off line 1 rather than shown as a separate credit.",
    "revised_documents": "A-3012 revision E, level 4 reflected ceiling plan, issued September 17, 2026. M-2204 revision D, level 4 mechanical services layout, issued September 18, 2026. Coordination sketch SK-ME-114.",
    "pricing_basis": "Subcontract schedule of rates for labour and the contract percentage for overheads and profit. Materials at cost plus the contract handling percentage, supported by supplier quotations attached.",
    "cost_lines": [
      {
        "line": "1",
        "description": "Pipefitting labour, flow and return to the new level, net of the omitted straight run",
        "quantity": "96 hours",
        "rate": "$58.00",
        "amount": "$5,568.00"
      },
      {
        "line": "2",
        "description": "Labour, additional supports and bracketry at the new level",
        "quantity": "24 hours",
        "rate": "$58.00",
        "amount": "$1,392.00"
      },
      {
        "line": "3",
        "description": "Materials, offsets, fittings, insulation and sleeves",
        "quantity": "1 lot",
        "rate": "At cost plus handling",
        "amount": "$2,240.00"
      },
      {
        "line": "4",
        "description": "Bulkhead framing and boarding, grid D3 to D5, quotation Q-4471",
        "quantity": "1 lot",
        "rate": "Quoted",
        "amount": "$6,480.00"
      },
      {
        "line": "5",
        "description": "Hinged access panel at grid D4, supply and fit",
        "quantity": "1",
        "rate": "$360.00",
        "amount": "$360.00"
      },
      {
        "line": "6",
        "description": "Acceleration, two Saturday shifts to hold the completion date",
        "quantity": "2 shifts",
        "rate": "$1,090.00",
        "amount": "$2,180.00"
      }
    ],
    "subtotal": "$18,220.00",
    "overhead_and_profit_rate": "12 percent, per the subcontract",
    "overhead_and_profit": "$2,186.40",
    "change_order_total": "$20,406.40",
    "estimate_reference": "$18,600.00, given as option A in the response to RFI-2026-0142",
    "variance_explanation": "The RFI estimate priced the physical alteration only. Line 6 and the overheads and profit on it, $2,441.60 in total, cover the two Saturday shifts agreed on September 19 so that the sectional completion date is not moved. Excluding acceleration the priced change is $17,964.80, which is below the estimate given.",
    "original_contract_sum": "$1,842,000.00",
    "previously_approved_changes": "$43,008.60 across CO-001 to CO-017",
    "this_change": "$20,406.40",
    "revised_contract_sum": "$1,905,415.00",
    "programme_effect": "Six working days of additional duration on the level 4 riser and the ceiling that follows it. Four days were absorbed by the float remaining on that work face and two by the Saturday shifts priced at line 6.",
    "extension_of_time": "None. No extension of time is granted or claimed for this change.",
    "revised_completion_date": "Sectional completion for levels 3 and 4 remains October 2, 2026. Overall completion remains January 22, 2027.",
    "acceleration_note": "The Saturday shifts on September 26 and October 3 were agreed in writing on September 19 before the work started. Acceleration is priced once in this change order and will not be claimed again as disruption.",
    "conditions": "The access panel position at grid D4 is to be agreed on site with the architect before the ceiling is boarded. This change order is full and final settlement of the cost and time consequences of RFI-2026-0142 and architect's instruction AI-0071.",
    "approvals": [
      {
        "role": "Prepared by",
        "name": "Priya Raman, Project Engineer",
        "company": "Kestrel M&E Ltd",
        "date": "September 19, 2026"
      },
      {
        "role": "Valued by",
        "name": "Ceri Hopkins, Quantity Surveyor",
        "company": "Marchmont QS",
        "date": "September 20, 2026"
      },
      {
        "role": "Instructed by",
        "name": "Owen Marsh, Site Manager",
        "company": "Harbor Build Group",
        "date": "September 21, 2026"
      },
      {
        "role": "Accepted by",
        "name": "Ian Ferris, Contracts Manager",
        "company": "Kestrel M&E Ltd",
        "date": "September 21, 2026"
      }
    ],
    "attachments": "Coordination sketch SK-ME-114, drylining quotation Q-4471 dated September 18, 2026, supplier invoice for the offsets and sleeves, and the email of September 19, 2026 agreeing the two Saturday shifts."
  }
}
JSON

tmpl_your_template_id is a stand-in: build this template in the visual editor and copy the id it shows, or create one with POST /api/v1/templates. Keys, formats, strict mode and batches are in the API reference.

Or let an AI assistant do it

The DocMake MCP server lets Claude and other assistants make this document the same way. Install it once:

claude mcp add docmake \
  --env DOCMAKE_API_KEY=dm_your_api_key \
  -- npx -y @docmake/mcp@latest

Then ask for the document in plain words:

Make a PDF from my Change Order template with change order number "CO-018" and issued "September 21, 2026".

How the MCP server works →

More operations templates