Overview
A Cost Plus contract, also called Time and Materials or T&M, is one of the most common pricing models in construction. Instead of billing a client a single fixed price, you charge them for the actual costs you incur - materials, labor, subcontractors, equipment, and other expenses - plus an agreed-upon markup or fee for your overhead and profit. This model works best when the full scope of work is uncertain, the project is likely to change, or the client wants full transparency into what they're paying for.
In a Cost Plus arrangement, the client reimburses you for every dollar spent on the project and pays an additional percentage or flat fee on top. This creates a trust-based relationship where the client can see exactly where their money goes, and you're protected from absorbing unexpected costs. It's especially common in remodeling, custom home building, and projects with complex or evolving scopes.
Structur's invoicing system is built around approved proposals and approved change orders. You can only invoice a client for amounts tied to an approved proposal or change order - you can't invoice directly from subcontracts, purchase orders, bills, or expenses. This means running a Cost Plus project in Structur requires a specific workflow to make sure all costs are captured, approved by the client, and invoiced correctly. This guide walks you through that workflow from start to finish.
Understanding Cost Plus Projects
What It Does
The Cost Plus workflow in Structur allows you and your team to:
Bill clients for actual costs including materials, labor, subcontracts, and expenses rather than a fixed lump sum
Add markup and overhead on top of costs to cover your overhead and profit
Maintain full transparency by showing the client exactly what was spent and what the markup is on every billing cycle
Adapt to scope changes without renegotiating the entire contract - new costs simply get added as they arise
Use change orders as the mechanism to capture, approve, and invoice every cost batch on the project
Track all costs internally using Bills, Expenses, Subcontracts, and Timesheets for budget management even before they're billed
Invoice using Pay Applications to bill against approved proposals and change orders with a full Schedule of Values
When to Use It
Cost Plus is most valuable when you want to:
Bill a client for actual costs on projects where the scope is uncertain or evolving
Build trust with clients who want full visibility into how their money is being spent
Avoid the risk of losing money on a fixed-price bid when the project scope is unclear
Handle remodeling, custom homes, or renovation projects where surprises are common
Run Time and Materials projects where you track real expenses and bill accordingly
How Cost Plus Contracts Work
Before diving into the Structur workflow, it helps to understand the common variations of Cost Plus contracts used in the construction industry.
Cost Plus Percentage Fee - You charge all actual costs plus a fixed percentage (for example, 15 to 20%) on top. The markup percentage is agreed upon before the project starts and applies to all costs equally.
Cost Plus Fixed Fee - You charge all actual costs plus a predetermined flat fee for profit and overhead. The fee doesn't change regardless of final project cost, which gives the client more cost predictability.
Cost Plus with a Guaranteed Maximum Price (GMP) - Similar to the above, but with a cap. The client pays actual costs plus the fee, but the total will never exceed an agreed-upon maximum. If costs come in under the GMP, savings may be shared.
Time and Materials (T&M) - The client pays for labor at agreed hourly or daily rates plus the actual cost of materials. Common for smaller or maintenance-type projects.
In all cases, the core principle is the same: the client reimburses you for actual costs and pays an additional amount for your overhead and profit. You're responsible for tracking and documenting every cost, and the client typically has the right to review those costs.
Step-by-Step Instructions
1. Create the Project and Initial Estimate
Every billable amount in Structur starts with an estimate. For a Cost Plus project, your first estimate covers your initial service fee, management fee, or any known fixed costs.
Open the project in Structur
Click Estimates in the module top bar
Click + New and select Start From Scratch or Choose A Template
Fill in the estimate details:
Estimate Title
Select A Lead/Project
Estimator Name
Square Feet
Overhead % and Profit % - set these to match your agreed markup
Toggle Compound The Profit Calculation On Top Of Markup And Overhead on or off based on your billing structure
Click Create New Estimate
Add your line items using + New Cost Code, + New Multiple Cost Codes, or + New Group
Click View Proposal to open the proposal linked to this estimate
Note: The initial proposal can include your agreed markup structure in the description or terms so the client understands the billing model from the start. For example: "15% management fee applied to all costs."
2. Send the Proposal and Get Client Approval
Inside the proposal, review all sections: Header, Proposal Details, Pricing, Scope Of Work, Terms and Conditions
Click Send Proposal to send it to the client for review
Once the client approves, the proposal status updates to Approved
You can now invoice against this proposal
Note: You can also click Approve Manually if the client has approved outside of Structur, such as via email or in person.
3. Track Your Actual Costs
As the project progresses, record every cost in Structur using the relevant modules in the top bar. This keeps your budget accurate and gives you the data you need to build each billing cycle's change order.
Subcontracts - create and manage subcontracts for your subs and vendors
Bills - enter bills from vendors and suppliers
Expenses - log project expenses like permits, rentals, and miscellaneous costs
Timesheets - track labor hours for T&M billing
Important: You cannot invoice directly from subcontracts, bills, or expenses in Structur. These entries are for internal cost tracking and budget management. To bill the client for these costs, you'll need to create a change order and get it approved first.
4. Create a Client Change Order for Each Billing Cycle
At your agreed billing interval (weekly, biweekly, or monthly), bundle your incurred costs into a Client Change Order and send it to the client for approval.
Click CO's in the module top bar
Click + New Change Order
Select the Client tab
Fill in the change order details:
Title - use a clear, descriptive name like "Cost Plus Billing - May 2026" or "Week 8 Costs"
Overhead % and Profit % - enter your agreed markup percentages
Toggle Compound the profit calculation on top of markup and overhead as needed
Click New Change Order
In the change order detail page, add your costs under Item Details:
Click + Cost Code to add line items
Select From Budget to pull costs already tracked in Structur, or From Catalog to add manually
Add your markup as a separate line item or build it into each cost line
Fill in Change Order Details, Scope of Work, and Terms and Conditions as needed
Attach supporting documentation (receipts, invoices, photos) under Files
Click Send Change Order to send it to the client for review
Note: The Subcontract tab in the New Change Order modal is for issuing change orders to your subcontractors, not for billing clients. Always use the Client tab for Cost Plus billing cycles.
5. Invoice Using a Pay Application
Once the client approves the change order, you're ready to invoice. For Cost Plus projects, use a Pay Application rather than a Simple Invoice — it includes a full Schedule of Values tied to your approved proposals and change orders.
Click Invoices in the module top bar
Click + New Invoice and select Pay Application
Fill in the Pay Application details:
Title - for example, "Pay App - May 2026"
Application Period - set the start and end date for this billing cycle
Previous Payments - auto-populated from prior applications; editable
Notes / Comments - optional
Click Create
In the Pay Application detail page, review the Schedule of Values:
The Proposals section shows all line items from your approved proposal
The Change Orders section shows all approved client change orders
Use the Actions menu to set % Amount Due, % Retainage, apply a bulk percentage, or reset the invoice
Set the Retainage % in the Payment Summary if applicable
Toggle Send ACH info with invoice on if you want to include payment instructions
Click Submit to send the Pay Application to the client
Note: Only approved proposals and approved change orders appear in the Schedule of Values. If a change order isn't showing up, confirm it has been approved before submitting the invoice.
6. Mark Payments and Repeat Each Billing Cycle
When the client pays, open the invoice and click Mark as Paid
Click + New Payment to record the payment details
Repeat the cycle each billing period: track costs, create a change order, get approval, submit a Pay Application
Each billing cycle creates a clear, approved record of what was spent and what the client owes. The Invoices dashboard tracks Total Invoices, Total Paid, Unpaid Invoices, and the remaining contract balance in real time.
Best Practices
Agree on billing frequency upfront - Set expectations with your client on how often you'll submit cost batches. Monthly is standard, but biweekly or weekly works well for fast-moving projects.
Keep detailed records of every cost - Attach receipts, invoices, and documentation to each bill, expense, and subcontract in Structur so you have backup if the client asks questions.
Name change orders clearly - Use descriptive titles like "Cost Plus — April 2026 Costs" so both you and the client can easily identify each billing period at a glance.
Show markup transparently - Add your management fee or overhead as a separate line item on the change order so the client sees actual costs and the fee separately. This builds trust.
Use Pay Applications, not Simple Invoices - Pay Applications include the full Schedule of Values tied to your proposals and change orders, which is the right format for Cost Plus billing.
Review your budget regularly - Use the Budget module to compare actual costs against your estimates. Even on Cost Plus projects, tracking budget health helps you manage the project effectively.
Communicate proactively about large costs - If a major expense is coming, give the client a heads-up before the change order arrives so there are no surprises when they see the invoice.
Common Questions
Q: Can I invoice directly from bills, expenses, or subcontracts?
A: Currently, no. Structur's invoicing system only allows you to invoice amounts tied to approved proposals or approved change orders. To bill for these costs, create a client change order that includes those amounts, get it approved, and then invoice against it via a Pay Application.
Q: What's the difference between a Simple Invoice and a Pay Application?
A: A Simple Invoice is a basic invoice for a flat amount. A Pay Application is the correct format for Cost Plus projects - it includes a full Schedule of Values that ties your invoice directly to line items from approved proposals and change orders, tracks previously invoiced amounts, and supports retainage.
Q: What's the difference between a Client change order and a Subcontract change order?
A: A Client change order is used to bill your client for additional costs. A Subcontract change order is issued to a subcontractor when their scope or cost changes. For Cost Plus billing, always use the Client tab when creating a new change order.
Q: How do I add my markup to the costs?
A: When you create a client change order for a billing period, enter your Overhead % and Profit % in the New Change Order modal. You can also add your markup as a separate line item in Item Details for full transparency with the client.
Q: How often should I create change orders for costs?
A: This depends on your agreement with the client. Monthly is most common. For fast-moving projects, biweekly or weekly may work better. The key is to agree on a cadence upfront and stick to it.
Q: Can the client see the actual costs I incurred?
A: The client sees whatever you include in the change order and Pay Application. For Cost Plus transparency, itemize every cost so the client can review exactly what was spent. You can also attach supporting documentation to the change order under Files.
Q: How do I handle a Guaranteed Maximum Price (GMP) project?
A: Set up your initial estimate and proposal with the GMP amount noted in the description or terms. Then follow the same Cost Plus workflow - track costs, create change orders, and submit Pay Applications. Use the Budget module to monitor total costs against the GMP cap to make sure you don't exceed it.
Q: Will Structur add direct invoicing from bills and expenses in the future?
A: The ability to invoice directly for subcontracts, bills, and expenses without requiring a change order is on the Structur roadmap. In the meantime, the change order and Pay Application workflow described in this article is the recommended approach.
Common Mistakes to Avoid
❌ Don't | ✅ Do |
Try to invoice directly from bills or expenses | Create a client change order to capture those costs, then invoice via a Pay Application |
Use a Simple Invoice for Cost Plus billing | Use a Pay Application to get the full Schedule of Values tied to your proposals and change orders |
Use the Subcontract tab when billing the client | Always select the Client tab when creating a change order for a billing cycle |
Wait until the end of the project to bill all costs | Bill in regular intervals with separate change orders for each period |
Lump all costs into one vague line item | Itemize each cost clearly so the client can see exactly what they're paying for |
Forget to include your markup on the change order | Enter your Overhead % and Profit % when creating each client change order |
Skip tracking costs in Structur because you'll bill them later | Enter all subcontracts, bills, and expenses to maintain an accurate budget and cost history |
