JobSwitch between jobs and see each contract total. Manage, combine & delete jobs on the Clients tab.
Client & Project
A client’s address & contact details live on the Clients tab and flow to every proposal & invoice automatically. Tax, region and your logo are set on the Business tab.
Rooms / Areas — add as many as the job needs
Timber posts (outdoor) — # × height auto-fills the post lines
ft
ea
ea
ea
Leave height blank to use the room's ceiling height. For horizontal members (pergola tops), just type the total lf into that post line — it overrides the auto value.
Standard opening sizes (override for unusual openings)
in
in
1/2
in
in
1/2
Totals across all rooms — type in any box to override
sqft
sqft
lf
lf
lf
lf
lf
🔮 Historical Forecast — what similar completed jobs actually cost (review-only)
Pricing & crew
$/hr
%
%
%
%
% mat'l
% mat'l
% base
% lab
people
hr
%
days
Summary
Materials & supplies
Labour & installation
Subcontracted trades
Rentals / equipment
Direct cost
Project management
Contingency
Subtotal
Sales tax
Labour hrs · plan
Client timeline (padded)
GRAND TOTAL
Saves this quote and opens the Documents tab.
Subcontractors
Trade
Scope
Quote $
Miscellaneous / custom items
Description
Unit
Qty
Mat $/u
Lab $/u
For anything not in the lists above. Pricing is fully manual. For a simple one-off lump sum, set Qty = 1 and type the amount under Mat $/u (leave Lab blank). These appear on the proposal under "Additional Work".
📐 Takeoff from plan — measure off a drawing or photo
Load a plan or a photo, set the scale from one known dimension, then measure lengths, areas, or counts. Each measurement drops onto this estimate as a line with its quantity — you set the unit price.
Select tasks — tick to include; quantities auto-fill
Working on
Proposal
Letter of Intent
Change Order
Invoice
Receipt
Client Update
Organize clients. Launch estimates. Win more jobs.
Every client, job, and proposal in one place. Start here — then send it straight to an estimate.
Jobs — assign to a client, combine, open
Enter a client once, then “Start estimate” to launch a pre-filled job. Combine a client’s jobs into one proposal from their card below.
Quick Paste Client Info — paste a blob, it sorts into the right fields
Reads labels like Client / Name, Address / Site, Mobile / Phone / Cell, Email, Notes. Nothing saves until you review below and pick an action.
⚠ Jobs not linked to a client — connect each so nothing floats free
Unfiled imported projects — expenses/travel from your file, not yet a job
These are completed projects from your import. Tick one — or several typo'd names like “dan's bathroom” + “dan bathroom” — give the job a name, optionally pick a client, then Create job from selected. That files all their expenses & travel into one job. Until filed they only affect your year-end totals, not your active job list.
All jobs — set status, combine, open or delete
Project
Client
Status
Revenue
Balance
Tick two or more jobs from the same client, then “Combine selected” to roll them into one combined proposal — the originals are kept and stay editable, and the proposal updates whenever you change them. Combined proposals carry a purple badge and can be deleted here too.
Clients & leads
Name
Phone
Email
Status
Jobs
Working on:
The per-job cards below (payments, costs, P&L) follow this job. Switch it here or from the Job selector in the top bar — every tab follows it.
Business P&L — all jobs combined
Totals across every job in your library. Profit uses actual costs where you've entered them, otherwise the estimate.
Period summary — cash in / out by month, quarter or fiscal year
Collected = payments received in the period · Expenses = receipts dated in it · cash basis. This complements the contract-based profit above.
All jobs — view the money & open a job. Set status, combine & delete on the Clients tab.
Project
Status
Revenue
Proj. profit
Actual profit
Margin
Balance
View loads a job's P&L and payments below; Open jumps to its estimate. The selected job is highlighted.
Quotes to follow up
Project
Client
Quoted
Amount
Age
Jobs marked Quoted that haven’t been accepted yet. The ✉ button opens a ready-to-send follow-up in your own email or messages — nothing is sent automatically. Mark a job Accepted (Estimate tab) to clear it.
Accounts receivable — who owes you
Project
Client
Invoice date
Balance
Status
Accepted, in-progress and invoiced jobs with a balance owing. “Overdue” flags once an invoice date is past Net 30. Quotes and leads don't appear here.
Payments received
Date
Amount
Method
Note
Actual costs (as the job runs)
$
$
Actual materials & subcontractors total automatically from receipts you tag to this job on the Expenses tab — enter only labour and any other manual cost here.
$
$
$
Optional. Recording what you originally quoted/estimated for a past job (e.g. imported history) turns it into a real estimate-vs-actual data point for Pricing Intelligence. Leave blank and nothing changes.
Profit & Loss
Contract revenue (ex tax)
— incl. approved change orders
Estimated direct cost
Actual cost to date
Cost variance (est − act)
Projected profit (est)
Margin (actual)
PROFIT (actual)
Billing position
Contract total (incl tax)
Paid to date
Balance due
Year-End & Accountant export — pivot-ready CSVs
Fiscal year
The Transactions CSV has one row per expense — fiscal year, month, category, vendor, job, payment, subtotal, tax, total — ready to drop into Excel and use Insert → PivotTable for your accountant. Mileage CSV lists business km + the CRA allowance.
Recently deleted
Project
Client
Deleted
Deleted jobs land here so a misclick is never final — click Restore to bring one back. Holds your last 20 deletions (per browser).
Your business — fill this once, it flows to every document
These details appear on every proposal, invoice, receipt and footer. Your Home province sets the sales tax and regional pricing for your estimates.
Province tax & regional pricing — editable · click to expand
Province / Territory
Sales tax
Material ×
Labour ×
Your Home province (set above) sets the sales tax and regional pricing for every estimate. To change any rate, edit it here. Catalog prices are based on Ontario costs (×1.00); the Material and Labour factors scale them by region.
Quote rounding — cleaner totals
Rounds the pre-tax contract price to a clean number on every quote — tax is then applied on top, so the math always foots. Leave on exact for penny-accurate pricing.
Backups
Everything — company details, jobs, clients, receipts and mileage — saves and syncs to your account automatically. Signed in, it’s backed up and available on any device you log into. For an extra portable copy, use ⤓ Back up in the top bar to download a file any time.
Access password
Sets the password to open this app on this computer. The original master password still opens it as a recovery key. This deters casual copying — it cannot stop a programmer from editing the file's code.
Fiscal year & tax view — pick a year to review or export
Viewing fiscal year
Fiscal years roll on the Fiscal year-end date set above. If that field is blank, the engine falls back to Dec 31 (calendar year) — set your real year-end so every report buckets correctly.
Import past data — load prior-year expenses & travel (Excel .xlsx or .csv)
An .xlsx loads both its Expenses and Travel sheets at once. A .csv loads whichever it is. Rows are added (existing entries kept). Then pick the year above to review.
Matches by column name, so order, extra columns, and title/total rows don't matter. Expenses use: Date, Description, Total, Subtotal, Tax, Province, City, Card, Type, Job. Travel: Date, Km, Reason, Job, Location, Address. (.xlsx reading needs Chrome or Edge.)
Mileage summary — business KM for year-end taxFiscal year
⌄Saved destinations — suppliers, dump runs, showrooms · round-trip km set once, then logged in one click
Destination
Postal / address (receipt match)
Round-trip km
Log
Save the suppliers, dump sites and showrooms you visit often — set the round-trip km once, then log a run in one tap. The 🚗 box on a receipt matches its address to a saved destination automatically.
Trip log — every trip is one dated row
Date
Category
Type
Linked to
KM
Note
Expense summary — receipts & costs for your accountantFiscal year
Expenses — attach a receipt photo to each line
Date
Description
Address
Type
Job
Card
Prov
Amount
Tax
🚗
Receipt
Enter the receipt total — net and tax split out by province. 📎 attaches a photo (saved to the cloud).
📊 Pricing Intelligence — an at-a-glance review of what changed. Nothing touches your catalogue until you approve it.
Global inflation drift — passive catalogue-wide top-up · click to expand
%
Raises every catalogue price by this % each calendar year so quotes don’t silently fall behind inflation — no effort required.
⚠ This stacks on top of your saved rates. If you approve market or calibration updates below (which re-price items to today’s cost), set the baseline year to the current year so you don’t double-count inflation.
A · Market watchlist — add volatile / common materials you want to keep an eye on
One click seeds the materials that historically swing the most — lumber, plywood/OSB, copper wire, steel, drywall, insulation & foam, PEX, shingles, vinyl. Nothing changes a quote until you approve it.
How you get alerted (no watching required): the 📊 Intel button up top shows a badge count whenever a volatile item is overdue for a look or your own receipts run above your catalogue price. When one flags, open it, set the new price, and it flows into every future quote automatically. The local Pricing Helper refreshes these once a month; you can also enter a price by hand anytime. Nothing changes without your approval.
Item
Catalogue $
Reference $
Diff
Last checked
Source / conf.
Status
“Catalogue $” is the material rate this item uses (your override, or the built-in default). Reference prices are a guide — approving a change updates only the material rate, and is always logged.
B · Alerts — what needs attention right now
C · Suggested updates — pending your approval; nothing is applied automatically
Actual vs estimated calibration — what your own receipts & job costs suggest · click to expand
🔮 Historical forecasting / job learning — what completed jobs are teaching the engine · click to expand
Price history & changes — every recorded up/down move, per item · click to expand
Settings & change history — thresholds and the log of approved price changes · click to expand
Log site visits
Creates one dated trip per day in the range. Worked a weekend? Add that day after with “+ Add a trip”.
Multi-stop day route
Add every place you drove to that day, in order. The engine routes your shop → each stop → back to your shop and logs the whole day as one trip — the correct way to claim a day of mixed driving.
Stops (in order)
pulls that date’s located receipts + the job’s client into the loop, then finds the shortest route
Type a store + city (or a postal code), then click the exact location — that pins the right spot.
Needs internet to look up the route. Offline, it falls back to a road-factored straight-line estimate. Logs one dated trip with the full route in the note.
Capture receipt
reads the photo and suggests the total — always check it
Photo date is editable. Type the Total — subtotal & tax split automatically by province. All values stay editable. Enter saves, Esc cancels. Click the photo to zoom in.
Scroll or +/- to zoom · drag to pan · double-click to toggle · Esc to close
📐 Takeoff from plan
Load a plan or photo to begin.
Known lengthZoom
Measurements
Set the scale first: type a known real length, click Set scale, then click the two points that span it on the plan. Then measure lengths, areas, or counts and send each to the estimate. Measurements are estimates — always verify against the drawing.
CALLIDE
Account
Sign in to use Callide, or create a free account.
Terms & Privacy
Sign here
Draw your signature in the box below with your finger or mouse.
Tip: sign large — it scales down cleanly on the PDF.