Skip to content

Customers

Free Web App

Customers are the people and businesses you bid for. Every bid, project, quote request, and shared document threads through a customer record, so keeping this list clean pays off everywhere else in the app.

Owner, Admin, and Manager roles can add, edit, and deactivate customers. Other roles have read-only access.

  1. Go to Resources → Customers in the web app.
  2. Click Add Customer.
  3. Fill in the fields:
    • Display name — required. The primary contact’s name or the business name, whichever you use day-to-day.
    • Company name — required. Shown on bids and invoices.
    • Email — required (needed for Customer Portal invites).
    • Phone — optional.
    • Address — required (line 1, city, state, postal code). Used on bids and for project site defaults.
  4. Save. The new customer is tagged with source: 'manual'.
  • isActive (soft-delete flag). Deactivating a customer hides them from dropdowns but keeps their bids and history intact. Reactivate from the customer row at any time — nothing is ever permanently deleted.
  • invitationStatus (Customer Portal, Business or higher). Three states: noneinvitedaccepted. See the Customer Portal guide for the invite flow.
Business Plus only Web App

On Business Plus with QuickBooks connected, customers sync both directions automatically:

  • From QuickBooks → Excavation Expert: every customer in your QB company file appears in the list, tagged with a small QB badge.
  • From Excavation Expert → QuickBooks: new customers you add manually are pushed to QB on the next sync (or use the Send to QuickBooks button on an individual record).

QB customers are read-only in Excavation Expert — their fields are disabled in the edit dialog because QB is the source of truth. Edit them in QuickBooks and the change flows back on the next sync.

Trigger a full sync at any time via the Sync with QuickBooks button at the top of the page.

See QuickBooks Integration for initial setup.

Business or higher Web App

Click Invite on a customer row (Business and Business Plus only) to give them access to the Customer Portal where they can:

  • Review and sign bids.
  • Approve change orders.
  • Download signed contracts.
  • Follow project progress.

The invite button hides once invitationStatus is 'invited' or 'accepted'. Status badges in the table show where each customer is in the flow.

A clean customer list flows into every other surface:

  • Bids — the customer dropdown on manual and AI bids pulls from this list (active only).
  • Projects — each project captures customerId along with a snapshot of clientName and clientEmail.
  • Quote requests — converting a quote creates a new customer automatically from the submitter’s details.
  • Sharing — only customers with invitationStatus === 'accepted' can have bids/projects shared with them.
  • Reports — the customers CSV dump at Reports → Customers is the export path for accounting or data migration.
  • From QuickBooks: automatic on first sync (Business Plus).
  • Manual entry: one at a time via the Add Customer dialog.
  • From quote requests: each converted quote creates a customer in one click (every plan).

There’s no CSV import for customers in the UI — if you have a large list to onboard and aren’t on QuickBooks, the fastest path is to set up QB sync once, add your customers there, and let them flow in.

Hit the eye-off icon on a row to deactivate (soft-delete). The customer disappears from the default table view but is still linked to their historical bids and projects.

Toggle Show inactive at the top of the page to see deactivated records, and click the rotate icon to reactivate.