July 17th, 2026

A unified per-user notification system across three channels (email, in-app popup, notification center), with a Settings page to toggle each.
Real-time in-app toast + live bell refresh via a dedicated notifications socket.
Wired into: new leads, invoice paid, estimate signed, contract signed, timelog approval requests, chat, @mentions, form submissions, change-order approvals, and when a client first opens a contract to sign. (Chat is popup/center only — no email per message.)
Vendor on from-scratch line items — a type-ahead vendor field (add-new supported) so Purchase Orders can be generated from typed vendors (match-or-create).
Discount-before-tax reconciliation — the Fees panel (GST/PST rows) and section rollups now reconcile with the summary.
PDF tax-calculation basis fix — estimate and invoice PDFs now honor the studio's live "tax after discount" setting instead of a stale stored value (was taxing the pre-discount subtotal).
PDF export polish — embed fresh product images before capture, responsive terms font (fits one page), signatures move beside totals when the payment schedule is hidden.
Selecting a contact auto-adds them as a signer; new Signers column on the list showing who's asked to sign, their status, and whether they opened the email.
Email deliverability fix — signer invites now send with a verified Reply-To instead of the designer's unauthenticated domain, so they reach external customers (matching how team invites land).
Sub-items now stay grouped under their parent item (group-by-room was scattering them), with a nesting accent.