June 26th, 2026

A complete end-to-end estimate-payments lifecycle. Clients can now pay directly from the estimate (no waiting for an invoice), and the held amount automatically applies to the invoice when the estimate converts.
New "Allow estimate payments" setting per studio
Stripe + WorkPay both wired, and ready to go.
Client view shows the deposit / pay-now CTA when enabled
Refund flow with optional convert-to-credit, plus a banner on the related invoice if the client has credit available
Conversion handling: held deposits stay tagged as deposits when an estimate becomes an invoice, then flip to revenue the moment the invoice is fully paid
Invoice PDF auto-flips header to "PAID · RECEIPT" when fully paid
Pulled out of the general reports and given a dedicated page with KPI cards, filters, and a per-estimate list.
Status filters: All / Held / Applied / Refunded
New Aged Deposits view (highlights stale unapplied money)
Project + Invoice columns linked through to the source documents
Send Report by email + Export to CSV (same workflow as the other reports)
New 4-character project code on every project (auto-suggested, editable)
Optional document numbering toggle: turn it on and your invoices, estimates, and POs become INV-FL24-001, EST-FL24-007, PO-FL24-014 instead of plain sequential numbers
Project code appears on the project tile and in the new project switcher
Click the project name in the left sidebar from any sub-page (Documents, Tasks, Timelogs, anywhere)
Search box + alphabetical list of every active project
Pick one — page jumps directly there. No bouncing back to the projects list
New Group by Room / Category dropdown above the line items
Drag items between sections AND within sections to reorder
Groupings move with the items so reorder doesn't reshuffle the structure
Pay CTA lifted above the page fold on estimates
Auto-create invoice when an estimate becomes fully paid (interlock unlocked)
New Payments tab on the estimate view panel (replaces the buried action)
Paid status pill on the Estimates list
Amount column no longer wraps — readable at a glance
No more white space below the sticky totals footer on Create Estimate / Invoice / PO
Invoice client view: line discounts now correctly multiply by quantity
Same-as-billing checkbox can now be unchecked across 3 more surfaces
Canadian client addresses render in correct order (postal code last)
Spec sheet PDF: multi-page slicing + multi-image fix
Sticky footer with Cancel + Create Project buttons (no longer floats in odd spots)
2-column tax layout + USD tax inputs visible by default
Default project tax now propagates to catalog products added to the project
Team-member chip avatars no longer break for users without a photo
Backdrop blur removed → cursor + scrolling no longer lag
First catalog row no longer hides behind the sticky chrome
Product panel widened
Profit calculation now correctly excludes client tax
Profit displayed in two more places where it was missing
Press ESC to close the PDF preview cleanly
Product changelog tab no longer white-screens on open
Finance Settings condensed into 5 collapsible groups
Canadian Sales Tax section now CAD-gated (hidden on non-CAD studios)
Projects list now auto-refreshes after adding or editing a project (no F5)
Account-owner bypass extended to hasAnyPermission so studio owners never see "no access" flicker on modules they own
Timelogs with status Closed lock out edit / split / billable changes
@-mentions in Comms are scoped to the project's roster (no more pinging team members on unrelated projects)
Add Project modal: backdrop blur removed (snappier), modal portal'd properly so it sits above everything
Add Client modal: now centers correctly (was slipping behind the Add Project panel)
Clipper / extension upload limit raised to 25 MB (no more 413 errors)
Send-time client-required guard dropped for non-retainer contracts (the contracts you don't need a signature on actually send now)
Urbanist font added to the contract font picker
PDF download from action menu no longer white-screens — was caused by attachment filenames with % characters in their URL. Fixed across Estimate, Invoice, and Purchase Order PDF exports.
Manual record-payment on estimate now routes correctly (was misfiring into the PO branch)
Estimate payment double-signature prevented
Allow Estimate Payments toggle now actually persists when saved
Refresh-resets-tab fixed across Settings / Projects / Contacts / FF&E / QuickBooks (your active tab survives a hard refresh)
Project save no longer fails on the projectNumber field
Stripe estimate-checkout now correctly reads deposits from additionalDetails
Room placeholders silently dropping items on save → fixed
Orphaned room placeholders repaired automatically + a banner surfaces if any exist on your account
Product title save moved out of the transaction (fixes a save failure under heavy edit loads)
A complete rebuild of the Design Fee Schedule inside the Budget module is in progress — 5 phases shipped over the past two days. The new schedule introduces:
4 clean billing-type cards (Flat / Hourly / Cost plus % / Per sqft) replacing the prior 6
Estimated Rate + Estimated Hours on every group as a planning ceiling
Cap hours toggle with amber / red warning flags at 80% and 100% of cap
Multi-room per-sqft with per-room rates
Designer cost-plus basis selector (cost only vs cost + freight + tax)
3-level accordion — group → phases → service types — with margin and hour rollups at every level
Real Invoiced / Paid / Outstanding joined from actual invoices via a per-line tag
Margin $ / Margin % columns (gated by permission)
Misc section that auto-surfaces any manual invoice line items not tagged to a billing group
Internal-only columns now permission-gated via the new viewInternalFees toggle in Permission Sets
The Budget page and Budget Defaults setting are currently password protected. If you are interested in piloting this component, please reach out to the team!