Customers
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.
Adding a customer
Section titled “Adding a customer”- Go to Resources → Customers in the web app.
- Click Add Customer.
- 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.
- Save. The new customer is tagged with
source: 'manual'.
Customer statuses
Section titled “Customer statuses”- 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:
none→invited→accepted. See the Customer Portal guide for the invite flow.
QuickBooks sync
Section titled “QuickBooks sync”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
QBbadge. - 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.
Customer Portal invites
Section titled “Customer Portal invites”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.
Where customers show up
Section titled “Where customers show up”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
customerIdalong with a snapshot ofclientNameandclientEmail. - 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.
Importing customers
Section titled “Importing customers”- 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.
Deactivating and reactivating
Section titled “Deactivating and reactivating”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.