Overview
Not every project cost comes through a subcontract or a vendor invoice. Materials picked up at the supply house, fuel for equipment, tools purchased for a specific job, a permit fee paid at the counter, these are the kinds of direct purchases and out-of-pocket costs that can quietly erode your margin if they aren't tracked consistently.
Structur's Expenses feature gives you a dedicated place to record these costs, tie them to the correct cost codes, attach receipts and documentation, and see immediately how each expense affects your available budget. Every saved expense flows directly into the project budget, keeping your financial picture accurate without any manual reconciliation. And if you use QuickBooks Online, expenses can sync automatically so your accounting stays aligned without double entry.
Understanding Expenses
What It Does
Structur's Expenses feature allows you to:
Record paid project costs tied directly to a specific project
Assign expenses to cost codes to keep budget tracking accurate by category
See the available budget per cost code before entering an amount, so you can spot overruns before they happen
Attach receipts, invoices, and supporting documentation to each expense record
Add internal notes for your team with context about what was purchased and why
Sync expenses with QuickBooks Online (if connected) using your existing payment methods and accounts
Edit or delete expenses even after they've been saved and marked as paid
Access a direct Go to Budget shortcut to immediately see how an expense affects your project totals
When to Use It
Expenses are most valuable when you need to:
Log a direct company purchase, materials, supplies, tools, equipment rentals, permits
Record costs that don't come through a formal subcontract or vendor bill process
Use Expenses as a workaround for Purchase Orders (while Structur's dedicated PO module is in development)
Keep receipts and documentation centralized inside the project rather than scattered across email and paper files
Ensure every project cost is captured in the budget, regardless of how it was paid
Step-by-Step Instructions
1. Open the Expenses Page
Open an active project in Structur
Click the Financial Management dropdown
Select Expenses
You'll see the full Expenses list for that project, with all existing expense records and their statuses.
2. Create a New Expense
Click New Expense
Fill in the required fields:
Title - a clear, descriptive name for what was purchased
Vendor - the supplier or store the purchase was made from
Payment Date - the date the cost was incurred or paid
If QuickBooks Online is connected:
You'll see a toggle for Sync with QuickBooks
When enabled, select:
Payment Method - pulled from your QuickBooks account
Payment Account - pulled from your QuickBooks account
3. Review the Expense Details Page
After creating the expense, you'll land on the full expense details page. The top bar gives you quick access to:
Go to Budget - jump directly to the project budget to see the expense's impact
Copy Link - share the expense URL with a team member
Download - download the expense record
Preview - preview the expense document
Settings - update the title, vendor, or payment date
Save Changes - saves the expense and automatically marks it as Paid
Important: Clicking Save Changes confirms the expense and updates its status to Paid. Budget values update immediately at that point.
4. Update Expense Details
Within the expense document, you can update the following before saving:
Expense Number - editable if you use your own numbering system
Title and Vendor
Payment Date, Payment Method, and Payment Account
Sync with QuickBooks toggle (if connected)
If QuickBooks is connected, you'll also see a Sync button to manually trigger a sync for this expense if needed.
5. Add an Expense Description
Use the rich text description field to add any relevant context about the expense, what was purchased, which part of the project it relates to, or any other detail your team needs to understand the cost.
6. Add Cost Codes
This is the most important step for keeping your budget accurate. Every expense should be assigned to at least one cost code.
In the cost code table, click + Cost Code
Choose how to find cost codes:
From Budget - filters the selection to cost codes already in your approved estimate
From Catalog - pulls from your company's full item catalog
Select one or more cost codes
Click Add Items
For each cost code row, enter:
Description - optional detail for this specific expense line
Quantity - the amount of units purchased
Unit Amount - the cost per unit
Total Amount - calculated automatically as Quantity Γ Unit Amount
Before entering amounts, check the Available Budget column. This shows how much budget remains for each cost code, calculated as the sum of all approved proposals and change orders minus all subcontracts, bills, expenses, and labor hours already recorded. If the available budget is tight or negative, you'll want to know before committing the expense.
7. Upload Files and Add Notes
Below the cost code table, you can:
Upload files - attach receipts, invoices, photos of materials, or any other supporting documentation directly to the expense record
Internal Notes - add notes visible to your team with context that doesn't need to appear on the formal expense document
Keeping receipts attached to expenses is one of the most practical habits for staying audit-ready and resolving any cost disputes quickly.
8. Save and Mark as Paid
Review all fields, cost codes, and amounts
Click Save Changes
Once saved:
The expense status updates to Paid
Budget values update automatically, the cost appears in the Expenses column of the project budget and reduces the available budget for the assigned cost codes
If QuickBooks sync is enabled, the expense syncs to your QuickBooks account
9. Edit or Delete an Expense
Editing: Even after an expense has been saved and marked as Paid, you can still update it. Open the expense, make your changes to any fields or cost code amounts, and click Save Changes again to apply the updates.
Deleting:
Go to the list view or grid view on the Expenses page
Click the three-dot menu on the expense you want to remove
Select Delete Expense
Best Practices
Always assign cost codes before saving - An expense without a cost code won't appear in the correct budget line and will distort your variance tracking. Make it a habit to add at least one cost code to every expense before clicking Save.
Check available budget before entering amounts - The Available Budget column is there to help you spot overruns before they happen. Review it whenever you're entering a significant expense.
Upload receipts at the time of entry - Attaching the receipt immediately while you're creating the expense is far more reliable than trying to find and match it later. Keep your documentation complete and current.
Use descriptive titles - "HD lumber run - framing Phase 2" is more useful to your team and your budget review than "Materials." Clear titles make expense logs easier to audit and understand.
Sync with QuickBooks promptly - If QuickBooks Online is connected, ensure syncing is enabled and use the manual Sync button if needed to keep your accounting records aligned with Structur.
Use Expenses for direct company purchases - When a purchase doesn't go through a formal subcontract or vendor invoice process, Expenses is the right tool. It's also the current best practice for managing purchase order-type commitments while a dedicated PO module is in development.
Remember that paid expenses are still editable - Don't hesitate to correct an expense if you realize the amount, vendor, or cost code was entered incorrectly. Structur allows edits even after an expense is marked Paid.
Common Questions
Q: When does an expense appear in the project budget?
A: As soon as you click Save Changes and the expense is marked Paid, it appears in the Expenses column of the project budget and reduces the available budget for the assigned cost codes. There is no separate Open status for expenses, saving the expense is what confirms it.
Q: Can I edit an expense after it's been saved and marked as Paid?
A: Yes. Expenses remain fully editable after being saved. Open the expense, make your changes, and click Save Changes again to update the record. The budget adjusts automatically to reflect the corrected amounts.
Q: What is the Available Budget column telling me?
A: The Available Budget shows how much budget remains for a given cost code, calculated as the total of all approved proposals and change orders minus every committed or spent cost already recorded (subcontracts, bills, other expenses, and labor hours). If the available budget for a cost code is near zero or negative, adding more expenses against it will put that cost code over budget.
Q: Can I add multiple cost codes to a single expense?
A: Yes. If a single purchase covers multiple cost categories, for example, a supply run that includes both framing lumber and hardware, you can add multiple cost code rows to the same expense and split the amounts accordingly.
Q: Do I need QuickBooks Online to use Expenses?
A: No. Expenses work fully within Structur regardless of whether QuickBooks is connected. The QuickBooks sync is an optional enhancement for teams that want their project expenses to flow automatically into their accounting system.
Q: What's the best way to handle purchase orders in Structur?
A: A dedicated Purchase Order module is actively in development. In the meantime, use Expenses for direct company purchases (materials, supplies, tools) and Subcontracts for vendor or subcontractor commitments. Expenses can be entered ahead of the actual payment date to document the planned cost.
Q: Can I upload multiple files to a single expense?
A: Yes. The file upload section of the expense record accepts multiple attachments, you can add as many receipts, invoices, or photos as you need to document the cost.
Common Mistakes to Avoid
β Don't | β Do |
Save an expense without adding cost codes | Always assign at least one cost code before clicking Save Changes |
Enter amounts without checking available budget | Review the Available Budget column to spot potential overruns before committing |
Skip attaching receipts at the time of entry | Upload the receipt when creating the expense so documentation stays complete |
Use vague titles like "Materials" or "Purchase" | Write descriptive titles that identify what was bought and which project phase it relates to |
Assume paid expenses can't be corrected | Open and edit the expense any time a correction is needed, Save Changes updates everything |
Ignore QuickBooks sync when it's enabled | Use the Sync button to ensure expenses are reflected in your accounting records |
