Enter your access token to continue.
That token didn't work — try again.
Your token is stored on this device only. Sign out from the sidebar to clear it.
Customer-aware pricing · Auto-index YoY · Copy quotes to email
Pick the customer — their default pricing will load automatically.
Interpolates between the default tier bands (edit in Data & Settings).
Each space is priced separately using the rate method above, then combined into one quote total.
Multiple areas works with “Per SQM” or “Default tiers” — switch the rate method to use it.
Any date in the week — output says "Week starting Monday [date]".
Copy pastes a clean quote block into your email. Save adds it to Open Quotes. Pencil in holds your likely dates on the calendar as tentative — pulls in the availability dates you entered.
| Customer | Default rate method | Rate | Minimum | GST | Notes |
|---|
| Date | Customer | Site | Method | Ex GST | Inc GST | Status |
|---|
Your data lives in this browser only. Export a JSON backup regularly, especially before switching devices or clearing browser data.
Reset customer list to defaults, or wipe everything and start fresh.
Applied when a quote uses "Default tiers" method. Linear interpolation between bands.
| SQM | Price |
|---|
Referenced when a quote uses "Schedule / band" method. Prices are indexed forward from the base year using the escalator you enter on the quote.
| Band name | SQM range | Base price (inc GST) |
|---|
Add contractors/staff who can be assigned to jobs. Each operator gets a colour on the calendar.
Actual time on site vs area captured, collated from jobs (set the "Actual time on site" and "Actual sqm" on a job, or fill them when you mark a job Captured). As this grows we can use it to estimate on-site time for new quotes.
Automatic snapshots of all your data (quotes, jobs, to-dos, customers) taken as you work and before the app refreshes from the cloud. Stored on this device. If something ever goes missing, restore the point from just before it happened.
Saved on the server every time your data changes, from any device. This is the safety net that works even if the device where something went wrong isn't the one you're on now.
Used when you click "Copy for email" on a quote.
Single HTML file · all data in browser localStorage · no server needed. Save the file anywhere and double-click to open. Works offline.
To host in Replit: create a new "HTML, CSS, JS" repl, paste this file's contents into index.html, hit Run. To sync data across devices, you'd need to add a backend — see the notes at the bottom of the source file.
Set back to Pending/Quoted to un-book — this removes the job from the board.
The first date is the main date and carries the amount. Extra dates are held as tentative markers on the calendar so you don't double-book. Hit Book on the date you lock in — the amount moves there and the others clear.
Pick a template from the list, or click "+ New template" to create one.
Changes save automatically to your browser.
"Copy for email" places both HTML (with clickable links) and plain text on the clipboard. Paste into Outlook, Gmail, or anywhere else — it picks the right format.