Most construction management software either does one thing well or tries to do everything and does nothing well. Cubitworks takes a different approach: every module is designed to hand off directly to the next stage of the job lifecycle. Lead captures become accounts. Accounts become jobs. Job budgets become estimates. Estimates become contracts. Contracts become schedules, purchase orders, and invoices.
This walkthrough follows a single job from the first contact through the final payment. Every module you see is live in Cubitworks — no demos, no mockups.
Stage 1: Lead Capture and CRM
A new homeowner fills out a form on your website. Cubitworks embeds a web-to-lead form that you place on any page — no third-party form tool required. When the homeowner hits submit, Cubitworks automatically creates:
- An Account (the homeowner's record with name, email, phone, and billing address)
- A Contact linked to that account
- A Lead in your pipeline, placed in the first stage (e.g., "New Inquiry")
Your pipeline is a Kanban board. You move the lead through stages — New Inquiry → Qualified → Estimate Sent → Negotiating → Won — and the system tracks time in each stage, conversion rates, and total pipeline value by source.
When you're ready to move forward, one click converts the lead to a job. The account and contact data carry over automatically. No re-entry.
Stage 2: Building the Budget
The budget engine is where Cubitworks spends most of its complexity, because job costing is where contractors win or lose money.
Budgets are organized as hierarchical cost groups — think of them as the outline of your estimate. Under each group, you add line items with quantity, unit cost, and unit price. Cubitworks calculates markup and margin automatically.
What makes Cubitworks's budget engine different from a spreadsheet:
- Formula-driven quantities. Define a parameter like "master bath square footage" and write formulas that reference it. Change the parameter and every item that references it recalculates. This is how you price a room addition without rebuilding the estimate from scratch every time the scope changes.
- Catalog (price book). Your company maintains a catalog of materials, labor rates, and assemblies with standard unit costs. Pull catalog items directly into any job budget — no copying from last year's estimate.
- Real-time budget vs. actual tracking. As bills come in and time is logged, Cubitworks shows you budget vs. actual by cost code in real time. You see margin erosion before it becomes a loss — not after.
- Cost-plus support. For T&M and cost-plus contracts, Cubitworks tracks actual costs as they accrue and generates invoices against actuals with your markup applied.
Stage 3: Estimate, Proposal, and Contract
The documents module generates customer-facing documents directly from the job budget. You don't re-enter numbers — you configure which line items and groups are visible to the customer, add a cover page and footer, and Cubitworks generates the estimate.
From estimate, you create a contract. Cubitworks supports native eSignature — the homeowner draws their signature on any device, and the signed PDF is stored in R2 with a timestamp and IP address. No DocuSign account required.
If scope changes mid-job, you issue a change order. The change order goes through a formal approval workflow: draft → sent to customer → approved or denied. On approval, the budget updates automatically. Every change is recorded in the job's audit trail.
Stage 4: Scheduling
The schedule module is a visual Gantt chart. Tasks have start dates, end dates, and durations. You define finish-to-start dependencies — when framing is done, rough electrical can start. Shift framing and electrical shifts with it.
You assign tasks to team members and subcontractors. When you publish the schedule, subs see only their tasks — no internal cost data is exposed. The schedule generates an iCal feed that anyone can subscribe to in Google Calendar, Outlook, or Apple Calendar.
Alongside the main schedule, each job has a to-do list — smaller action items that don't belong on the Gantt but still need to be tracked and assigned.
Stage 5: Purchasing and Subcontractors
The purchasing module connects the budget to what you actually order and owe.
Purchase orders are sent to vendors with line items pulled from the job budget. When materials arrive, you log receipts against the PO. The system tracks committed costs (POs issued but not yet billed) separately from actual costs (bills received and approved), giving you a three-way budget view: budgeted, committed, and actual.
Bid requests let you send a scoped bid to multiple vendors simultaneously. Each vendor gets a token-authenticated link — no login required. They submit their pricing, and you compare bids side by side before awarding.
COI gating checks the subcontractor's certificate of insurance before you can process payment on a work order. If the COI is expired, the system surfaces an alert and blocks the payment workflow until the sub provides a current certificate.
Stage 6: Field Operations
The field ops module runs from the job site on iPhone. Every feature in this module is accessible at 375px — not just "mobile-friendly," actually usable with one hand in a hard hat.
Daily logs capture weather, crew on site, work performed, visitors, and issues. Logs can be published to the customer portal — homeowners see what happened on their job each day without you having to send a separate email.
The photo library lets you upload from your camera roll, add folder tags, and annotate photos with markup layers. Photos are stored in R2 and accessible from anywhere — not stuck in your phone's camera roll or a Dropbox folder that nobody remembers the password to.
Punch lists are vendor-facing to-do items attached to tasks. Subs see only their assigned punch items in the vendor portal — a scoped list of what they need to do before sign-off.
Stage 7: Invoicing and Payments
The invoicing module closes the loop. Cubitworks supports several invoicing patterns:
- Progress invoicing by milestone, percent complete, or fixed schedule. You define a payment schedule and Cubitworks generates invoices automatically on each trigger.
- Draw requests for GC billing workflows using AIA G702 / G703 format.
- Cost-plus invoicing against actual costs with markup applied.
Homeowners pay through the customer portal via Stripe — card, ACH bank transfer, Apple Pay, or Google Pay. Payment confirmation is sent by email. The payment reconciles back to the invoice automatically, and the job's receivables balance updates in real time.
Retainage is tracked per invoice and per vendor bill. When the job closes, you release retainage from customers and pay it out to subs — Cubitworks tracks held, released, and remaining retainage balances at the job level.
Lien waivers are generated per payment — conditional at the time of invoice, unconditional after funds clear. Missouri's statutory requirements for waiver language are baked in. The lien window timer tracks the statutory deadline from the last day you furnished labor or materials — alerts fire 14 and 7 days before the window closes.
The Customer Portal
Throughout the job, your homeowner has access to the customer portal. They get a magic-link email — no password to create, no app to download. In the portal they can:
- Review and sign estimates, contracts, and change orders
- Choose product selections with allowance tracking
- Pay invoices via Stripe
- View daily logs you've published
- See project photos you've shared
- Read project updates you post
- Access their warranty documents after job close
The portal is branded to your company — homeowners see your name and logo, not Cubitworks's.
Everything Connects
The point of this walkthrough is to show that Cubitworks isn't a collection of separate tools. Every module shares the same data. The budget informs the estimate. The estimate becomes the contract. The contract drives the schedule. The schedule drives purchase orders and punch lists. The purchase orders drive bills and job costing. Job costing informs invoicing. The invoice drives the lien waiver and retainage ledger.
When you change something in one module, the downstream modules reflect it immediately. That's what "connected" means — not just that the data lives in the same database, but that the workflows actually flow from one to the next without re-entry.
See the full features list for all 37 modules. Or start your free trial and see it in your own account.