This article covers Cost Plus invoicing, also known as Time and Materials or Do and Charge. You'll learn how to set up a Cost Plus job, record costs, create invoices, choose how they look, and record payments.
A note on terms: Variations and change orders are the same thing. Australia, New Zealand and the UK usually say variations, and North America usually says change orders. This article uses "variations", but everything applies to change orders too.
Types of invoicing in Buildxact
Buildxact supports three ways to invoice your clients. You choose one when you create a job from an estimate.
Type | Also called | Best for | How the invoice amount is worked out |
Fixed Price (North America) | Fixed-price contracts billed in agreed stages | A set % of the contract at each milestone (e.g. deposit, base, frame) | |
— | Fixed-price contracts billed on a regular cycle (e.g. monthly) | The % of each cost category completed since the last invoice | |
Cost Plus (this article) | Time and Materials, Do and Charge | Jobs with a budget rather than a fixed contract price | What you've actually spent (purchase orders and work orders), plus your markup |
How it works
Cost Plus invoicing, also known as Time and Materials or Do and Charge, bills the client for what you actually spend, plus your markup. Instead of a fixed contract price, you work to a budget.
💡 Watch the video below to see this in action, or keep reading for step-by-step details.
Set up a Cost Plus job
Go to Estimates in the left-hand menu and open the estimate.
Click Create job.
Choose Cost Plus from the invoice type drop-down.
Enter your default markup.
Click Create job.
The markup you enter is only a default. You can change the markup on individual lines when you create each invoice, for example if you're charging something at cost as a goodwill gesture.
Once the job is created, we recommend accepting the estimate. This locks it as a record of the original budget you gave the client. If the client signs digitally, the estimate may be accepted automatically.
Record your costs with purchase orders and work orders
You tell Buildxact what you've spent using purchase orders and work orders. Buildxact then adds your markup and sends these costs through to invoicing.
Purchase orders are for supplier and contractor invoices. Rule of thumb: anything that needs to sync to your accounting software should be a purchase order.
Work orders are for timesheets and internal labour, which you need to track and bill but not necessarily send to your accounting software. You can create them manually, from the Buildxact timesheet app, or from integrations like Deputy.
To record a purchase
In the job, select the items you bought and click Order > Purchase order.
Enter a description (e.g. "Roofing material") and choose the supplier or contractor contact.
If you're not sending the order to the supplier, change the status straight to Received or Part Received.
Enter the reference number, invoice date and the actual amount you spent.
Add any notes for the client in the Instructions box.
Click Save.
To record labour
Select the items and click Order > Work order, or bring the work order in from a timesheet.
Choose the contact and change the status to Completed.
Enter the actual hours worked.
Add a note about the work in the Instructions box.
Click Save.
A cost only becomes available to invoice once it reaches the right status:
Purchase orders: Received or Part Received
Work orders: Completed
Costs that haven't reached these statuses won't show up to bill on the Outgoing Invoices screen.
A few tips
Mark a purchase order as Received or Part Received and enter the actual amount spent. You can bill the client either way. Part Received is useful when a trade bills in stages, like a plumber's rough-in and fit-off.
You can use Scan from receipt to fill in a purchase order quickly.
Anything you enter in the order's Instructions box can appear on the client's invoice. For timesheets, this is a good place for notes like "Standing frame and installing trusses".
The order's Description and Instructions may be visible to your client, depending on your invoice settings. Write them in a client-friendly way, even if your current settings hide them.
Variations on Cost Plus jobs
Variations (change orders) work differently on Cost Plus jobs, and this affects your invoicing. A Cost Plus variation sets the client's expectation of what a change will cost, but it doesn't become an invoice itself. The client is invoiced for the actual costs, recorded on your purchase orders and work orders, plus your markup.
⚠️ Note: The markup on a variation doesn't carry through to the invoice. If you used a different markup on the variation, adjust the markup when you create the invoice.
Create an invoice
Go to Outgoing Invoices. We recommend the All view, which separates items not yet invoiced from invoices already sent.
Select the orders you want to bill. Use the multi-select checkbox to select them all at once.
Click Invoice and give it a name that makes sense to your client, such as a billing period ("August 2026") or "Progress Claim 3".
Adjust the markup on any line if needed.
Add customer-visible comments to explain what the invoice covers, e.g. materials bought or work completed this period.
Change the status to Invoiced and check the due date. You can set your default due days in the panel on the right, and they'll apply to all invoices.
Click Save & Close to review it, or Save & Send to go straight to sending.
Missed an order? You can add it to an existing invoice as long as that invoice is still Pending.
Zero tax alert: If an invoice has no tax, you'll see a warning. This is there to stop you sending an invoice that's missing tax by mistake. Review the item and fix the tax before marking the invoice as Invoiced. If the work really is tax exempt (for example, some government or disability work), you can go ahead.
Choose how the invoice looks
Clients often want to see Cost Plus invoices in different levels of detail, so there are several display options.
Open the invoice.
In the invoice settings, turn on the display options you want (listed below). You can use them on their own or together.
Click Print to preview how the invoice will look to your client.
Default: shows each order's description, the contact it's from and the reference number.
Show cost plus breakdown: lists every line on each order with its price, including markup. Good for clients who want lots of detail.
Show order instructions: adds the notes from each order's Instructions box. Great for giving clients context on labour.
Group work orders by contact / Group purchase orders by contact: combines lines by supplier or company, e.g. all Home Depot orders on one line. Each grouped line still shows the date range it covers. Ideal for large jobs where hundreds of lines would overwhelm the client. Timesheets usually group under your own company name unless you've set them up differently.
Note: The Including/Excluding tax toggle only changes what you see on screen. It doesn't change the invoice.
Send invoices and record payments
Invoice statuses
Pending: a draft. It prints as a Progress Claim with a DRAFT watermark, and has no invoice date or due date.
Invoiced: issued. It prints as a Tax Invoice with an amount due and due date.
Part Received / Received: payment recorded. The balance updates, and fully paid invoices show a PAID watermark.
If you share a Pending invoice, Buildxact will ask if you want to change it to Invoiced. You can choose to keep it as Pending if you want to discuss the claim with your client first.
Check your payment terms
Payment terms print at the bottom of every invoice. Check them before you send your first invoice:
On the job's Invoicing tab, click the cog icon.
Click Manage Payment Terms.
Read through the default terms and edit them to suit your business. The most common change is adding your payment methods, such as bank details, cheque instructions, or "Call our office to pay by credit card".
Click Save.
These terms apply to all jobs, so you only need to set them up once. Update them if your bank details or payment methods change.
Share invoices and statements
Open the invoice and click Share.
Choose what to send: the invoice, the statement, or both.
Choose the recipients, and whether to publish to the client portal.
Edit the email text if needed. You can save it as a preset to reuse. Add any extra attachments.
Click Send.
We recommend sending the invoice and statement together. The invoice shows what's due now, and the statement gives the client the big picture of the job. On a Cost Plus job, the statement shows a running tally of invoices to date.
To print the statement at any time, click the cog icon on the job's Invoicing tab and choose the statement.
Record payments
Open the invoice and change the status to Received.
Enter the amount received. Anything less than the total is recorded as a part payment, which is useful if a client pays in instalments or underpays.
Add a reference, such as a transaction or cheque number.
Click Save.
Reprint or reshare the invoice and it updates automatically. A part-paid invoice shows the remaining balance, so you can resend it as a reminder. A fully paid invoice shows a PAID watermark, so you can use it as a receipt.
You can also record a payment with the Add Payment Receipt button.
Connected to Xero or QuickBooks? When a payment is received in your accounting software, the invoice status can update to Received automatically, with the payment details added. This only works if the invoice was created in Buildxact and then synced to your accounting software.
Need help? Reach out to our support team — we're here to help!
