What's New on the Platform: September 18 – October 25, 2026

Over the past five-plus weeks, we continued connecting daily work into one process: handle an inquiry, prepare a proposal, agree on it with the customer, assign the work, and collect payment.

This update covers estimates, pricing, payments, scheduling, customer communication, imports, and working from a phone. We also cover the new Price Book and mobile Inbox, which are being rolled out separately for each company.

The Big Stuff

  1. Several options in one estimate. The customer compares alternatives through one link, chooses the right one, and signs that specific option.
  2. A more consistent path from estimate to invoice. Agreed prices, discounts, and taxes carry through when documents are converted.
  3. More control over AI. Price confirmation, action approvals, and handing a question to a teammate are part of the workflow.
  4. Scheduling accounts for more real-world constraints. Booking notice, employee absences, daily workloads, and rescheduled reminders are connected to the visit.
  5. Payments, refunds, and reports work from consistent records. A partial payment is not called a full payment; refunds affect balances and collected revenue; missing data does not become an invented metric.
  6. Imports handle existing records more carefully. Re-importing or rolling back should preserve the work your team has already done in Exoserva.
  7. A new Price Book and mobile Inbox. Major interface updates are prepared for a gradual rollout.

:receipt: Estimates: Customer Choice and Less Repeated Work

Several Options Through One Link

An estimate can offer options A, B, C, and more. For example: a repair, a basic replacement, and a more complete upgrade.

Each option has its own scope, materials, taxes, total, and payment terms. The customer reviews the selected option before signing. The original estimate keeps its number, and the subsequent invoice receives the agreed terms.

  • Options are included in downloaded and emailed PDFs.
  • Preparation variants stay out of the regular estimate list and proposal statistics.
  • Clicking twice does not create a second approval.
  • Changed or expired offers cannot be signed as if they were the original version.

Signing Right on the Estimate Page

  • Customers can sign an estimate through the link your company sends them.
  • For signing in person, the action is called Sign on this screen.
  • Estimate approval requires the customer’s signature. A separate signature request in the Documents tab does not, by itself, approve the estimate; the interface explains this.
  • A later staff save should not undo a signature already received.

Templates and Draft Preparation

  • Save an existing estimate as a template and reuse it.
  • When a new estimate is created, Price Book-linked lines get current prices for the selected customer.
  • If a current price cannot be read, a warning identifies the lines that need review.
  • Add photos to the description for an AI estimate, including from a phone. Thumbnails are visible, unwanted photos can be removed, and a file error does not erase the text.
  • The AI estimate preview shows a source for each line. A teammate reviews the draft before creating the document.
  • Creating, sending, approving, and changing prices respect separate employee permissions. A technician’s estimate access is tied to the jobs available to them.

:money_bag: Pricing: Clearer Calculations and Confirmation

  • Before an estimate, customers are told an exact price, from $X, or that the price needs confirmation, depending on the available data.
  • Until the owner confirms the pricing parameters, AI does not tell customers unconfirmed prices from the calculation book. Automatic use of those prices on estimates is also restricted.
  • A price your company enters by hand is treated separately from a calculated book price.
  • When a price needs internal approval, the request is linked to the specific estimate. Sending is held until the required prices are approved.
  • Labor-only work carries an explanation, including on customer documents.
  • Free work must be explicitly identified. An empty price does not mean free.
  • Fractional values and decimal commas are handled correctly: entering 2,5% should not turn into 25%.
  • Product part numbers are kept, including through Price Book export and re-import.

:page_facing_up: Invoices and Customer Documents

  • Send estimates and invoices to several recipients: choose saved email addresses and phone numbers or add others.
  • Results are shown separately for each destination. After a partial failure, retry only the failed sends.
  • Materials and Services appear as separate groups with subtotals in the document, public links, and emailed PDFs.
  • Agreed prices, discounts, arrival charges, and tax terms carry from a signed estimate into the job and invoice.
  • An ordinary text edit should not silently change stored tax terms.
  • Estimate-to-invoice conversion completes as one operation, without a partly created result after a failure.
  • Invoices use your company’s payment terms instead of forcing Net 30.
  • Cancelling an invoice keeps the reason.
  • Part-paid and overdue invoices retain the supported line-editing actions. If an edit brings the total down to the amount already paid, the status reflects that.
  • Estimate lines keep their chosen order and Price Book links.

:credit_card: Payments, Refunds, and Disputes

  • Staff can take a partial card payment by entering the amount before the payment is created.
  • Payment confirmation is tied to the specific Stripe payment and invoice, rather than a matching amount.
  • Processing the same payment again should not repeat notifications or accounting actions.
  • A partial payment is reported as a payment received, not as full settlement of the invoice.
  • A refund made in Stripe Dashboard is reflected on its related invoice.
  • A partial refund is recorded at its own amount; it should not subtract the whole original payment from collected revenue.
  • A repeated partial refund should no longer report success without returning money.
  • Opening a dispute notifies the owner. Opening a dispute alone is not treated as a final loss; a lost dispute updates the payment and outstanding balance.
  • Refunds above the available amount are refused before reaching the payment provider.
  • Tips are shown separately in payment history and payment-received notifications.

:robot: AI and the Voice Assistant

Help with Specific Office Actions

The internal Operator Agent has expanded workflows to:

  • find a customer by name or phone;
  • read and search a customer conversation;
  • draft an invoice for a job without creating a second one;
  • turn an estimate into a job;
  • reply in an existing conversation through that conversation’s channel.

Tools respect the employee’s permissions. Actions that require approval go through the approval queue; availability depends on the company’s mode and settings.

Continuing Tasks and Controlling Actions

  • After an action is approved, the assistant can continue the task instead of ending at the approval step.
  • A failed task can be retried within its existing run, continuing the work.
  • Approval requests retain the exact customer-facing message and the person who triggered the action.
  • Repeated requests across channels are accounted for when creating a job, to avoid another job for the same request.
  • The assistant uses the current date in the company’s time zone.
  • A message that could not be sent should be recorded as a failure or handoff, rather than completed communication.
  • Unsupported promises about callbacks, arrival times, and warranties were removed from the affected workflows.

Voice and Settings

  • AI Hub makes it clearer whether the assistant is answering calls and what is blocking it.
  • A provider’s connection status is distinguished from the setting that allows AI to answer customers.
  • A caller’s refusal of SMS is respected by confirmations and reminders after voice booking.
  • A call recording should not restart when its access link is renewed.

:speech_balloon: Inbox, Messages, and Notifications

  • Prepare a message now and schedule it for a chosen time. Cancel it before sending begins.
  • Messages identify their channel more clearly: SMS, email, call, portal, or marketplace relay.
  • A new customer message reopens a closed conversation.
  • Conversations archived by an integration or merge leave the active Inbox correctly.
  • An inquiry arriving through both Thumbtack and SMS is handled with the possibility that it is one conversation, rather than two independent messages.
  • A failed send leaves a clear record in the thread.
  • Loading the latest messages in long conversations has been fixed.
  • A new number a customer gives in a conversation can be saved to their profile.
  • Incoming notifications reach their intended recipients and update in the interface without requiring a reload.
  • Delivery status accounts for the sequence of provider events: a temporary email delay is not treated as a final failure.
  • Marketing emails have an unsubscribe link; a recorded opt-out, complaint, or bounce is checked before another send.

:date: Booking, Scheduling, and Dispatch

  • Your company can set a minimum notice period between booking and the visit. Online booking and the relevant AI workflows respect it.
  • Business Hours settings support closed dates.
  • Employees on leave, suspended, terminated, or deactivated should not be offered for booking.
  • A technician’s daily workload is calculated from their jobs, and their individual daily limit is considered during assignment.
  • A midday break follows your company’s settings, rather than a hidden assumption that everyone stops for lunch.
  • Moving a visit updates its reminders and the customer message about the new time.
  • Choose reminders 24 hours, one hour, and 30 minutes before the visit, and separately control notifications for visits scheduled manually by staff.
  • The 24-hour and one-hour reminders use your company’s configured templates.
  • Time-zone scenarios and the repeated hour when daylight saving time ends have been fixed.
  • Booking protection accounts for simultaneous attempts to take the same slot.
  • Auto-Assign proposes assignments; only the pairs confirmed by the dispatcher are saved.
  • In the affected assignment workflows, availability, working hours, and technician constraints are considered. Missing information should not look like confirmed availability.
  • Map coordinates, position updates, and the Call and Text actions on technician cards have been fixed.

:hammer_and_wrench: Jobs, Technicians, and Work Orders

  • Within their permissions, technicians can arrive at, start, and complete their own jobs, and add notes and photos.
  • The Schedule Board offers a separate way to complete a job without requiring a customer notification.
  • A customer’s C reply confirming a visit is reflected correctly for the team.
  • Invoiced and Paid follow the invoice and payment; they cannot simply be set as ordinary manual status changes.
  • Changes to visits, lines, and amounts are restricted on invoiced or paid jobs where they would disrupt the completed workflow.
  • Duplicating a job copies its actual work lines.
  • A second estimate does not silently replace a job’s original estimate.
  • Work Order SLA targets can be set by priority. Priority changes affect the deadline, and missed deadlines are recorded.
  • A Work Order that has started cannot be permanently deleted just by moving it back to an earlier status.

:busts_in_silhouette: Customers and Relationship History

  • Merging duplicates moves related jobs, estimates, invoices, payments, addresses, and conversations.
  • Customer merges account for the contact phone book, with expanded support for several numbers belonging to one person.
  • Scenarios where a post-call record could be attached to the wrong contact have been fixed.
  • New inquiries from calls, SMS, marketplaces, and online booking can begin as prospects; the first completed job or settled payment makes them active.
  • A new booking address for an existing customer is saved as an additional location.
  • A note entered for one customer should not be saved to the next profile opened.
  • Customer data deletion and export cover more related messages, attachments, phone numbers, and address details.
  • A customer with an active estimate workflow cannot be deleted in a way that leaves that process inconsistent.

:bar_chart: Dashboards and Reports

  • Collected revenue is based on money received in the selected period, accounting for refunds.
  • Average ticket, completed jobs, and estimate conversion use explicitly defined sets of records.
  • Period comparisons and reports follow the selected window and the company’s calendar.
  • Missing measurements are shown as missing data, rather than zero response time, zero retention, or an invented business health score.
  • The built-in $50,000 goal is no longer substituted when the owner has not set one.
  • A job with no recorded start is not given an invented start time.
  • Report preview applies the selected date range.
  • The Report Builder shortcut that could reload the page and lose the report has been fixed.
  • Financial metrics, cost, and margin respect viewing permissions, including in AI narratives and exports.

:package: Importing from Other Systems

  • Re-importing should not move a job or estimate status backwards, change an invoice already sent, or overwrite the current schedule.
  • Imported payments are reflected in payment history; another upload should not erase payments recorded in Exoserva.
  • Rollback removes records created by the import while keeping records it only updated, and accounts for the team’s subsequent work.
  • Rollback does not delete an employee who became an owner or administrator after the import.
  • Employees with payroll history are retained; office staff do not automatically become available for field booking.
  • HouseCall Pro memberships import as paused service plans. Activate them deliberately, for one customer or in bulk.
  • Importing historical invoices does not, by itself, start daily overdue emails to customers.
  • Reading uploaded files, matching records, and converting monetary values to cents have been fixed.
  • The HouseCall Pro key is encrypted at rest and is not passed in plain text into the import task.

:handshake: Contractors, Vendors, and Purchasing

  • A contractor’s bill is recorded as your company’s payable and is available in the corresponding Vendors section.
  • A contractor completing a job does not replace the customer-facing price with their own cost.
  • A purchase order can be linked to a supplier from the Price Book.
  • An approved purchase order can be marked ordered directly from its detail view.
  • Contractor and vendor portal access is tied to the corresponding account and permissions.
  • The company’s address in purchasing documents and several vendor accounting workflows have been fixed.

:electric_plug: Integrations and API

  • Thumbtack’s Sync button retrieves inquiries again, and AI replies within the marketplace channel have been improved.
  • Hired / not hired statuses close the related lead more consistently.
  • A repeated inquiry delivery should not create another lead, and real customer names are not replaced by placeholders.
  • Disconnecting Thumbtack accounts for its registered webhook; an expired connection offers a way to reconnect.
  • An automatic-reply notification in Yelp or Thumbtack is tied to the service accepting the send.
  • Google Calendar change handling has been fixed, including cancellation of an event linked to a job.
  • QuickBooks payment imports account for the amounts applied to specific invoices. Settings do not promise automatic sync where the corresponding control saves nothing.
  • In-account API documentation covers permitted operations, including customers, properties, accounts, and invoices. Access depends on permissions and the applicable connection terms.
  • An API key’s scopes are limited by its issuer’s permissions. Key revocation and the displayed key prefix are clearer in Settings.

:locked_with_key: Roles, Sign-In, and Data Protection

  • Permission checks cover specific actions more fully: create, send, approve, refund, assign a technician, and change settings.
  • An employee cannot grant a role with more authority than they are allowed to assign.
  • Role and permission changes revoke affected active sessions; changing a password revokes other sessions.
  • Reusing a refresh token that has already been replaced ends the corresponding device session.
  • Corporate sign-in settings have improved domain verification, separation of company connections, and error handling.
  • Search, customer profiles, estimates, reports, the Price Book, and exports consistently withhold financial data from users without the required access.
  • Technicians receive their own and their crew’s jobs in the supported workflows; portal roles do not get access to internal staff sections.
  • EXIF/GPS data is removed from stored full-size job photos.
  • Checks on provider callbacks, external URLs, and company data isolation have been strengthened.

:mobile_phone: Working from a Phone and Everyday Settings

  • Continued improvements to fields, button sizes, the keyboard, scrolling, panels, and contrast on phones.
  • Light theme improvements across affected lists, documents, settings, portals, and information pages.
  • The interface now uses the Inter typeface.
  • Favorites can be reordered, including by dragging in Settings.
  • GPS setting saves, recovery of Business Goals after a failed load, and the display of actual integration states have been fixed.
  • Mobile sync accounts for technicians joining or leaving a crew, reports deletions, and limits data by the employee’s permissions.
  • Sign-in and session renewal in the mobile app have been improved.
  • Continued translation fixes, keyboard accessibility improvements, and clearer labels for screen readers.

:new_button: Gradual Rollout: The New Price Book

Much of the work on the new Price Book is now brought together in one interface:

  • a work tree organized by section, with book search;
  • work details with size options, composition, and calculation sources;
  • your own work, priced by hours or at a fixed amount;
  • a separate Materials section;
  • work packages and Good / Better / Best options;
  • adding work to a job or estimate at the server-calculated price;
  • settings for hourly rates, arrival charges, materials, and minimums;
  • change history, price approvals, and a review before switching.

The switch happens separately for each company. Until then, the team continues to see its current Price Book. The owner can preview the new version and review the changes.

:new_button: Gradual Rollout: The New Mobile Inbox

The new mobile Inbox brings together SMS, call, and email lists, conversations, internal discussions, and related tasks.

It includes filters and counts, conversation search, archiving, call details with a recording player, attachments, and AI settings within a conversation.

The interface is enabled separately for selected companies. Its inclusion in this update does not mean every account is switched automatically.


Thank you to everyone who sends specific examples from daily work: what you were doing, what you expected, and where the process went differently.

Tell us in this thread which change has been most useful to you and what still gets in the way of your everyday work. Those messages help us choose the next priority.