Import Order and Field Reference
Recommended Contacts → Properties → Quotes → Invoices order, required fields, and dedup rules for Settings → Import.
5 min read
Use this reference with the import wizard at Settings → Import. Import one entity type per run. Link-dependent rows work best when you import in order.
Recommended import order
- Contacts — email is the identity and link key for later rows.
- Properties — optional Contact Email links to an existing contact; address fields dedupe properties.
- Quotes — optional customer email and home address fields link to contacts and properties.
- Invoices — same linking pattern as quotes; import last.
There are no numbered tabs that force this order — pick the entity on the Import data screen each time.
Contacts
| Field | Required | Notes |
|---|---|---|
| Yes | Canonical identity and dedup key. Rows without email are skipped as invalid. | |
| First Name | No | Defaults empty if missing. A single Name column often auto-maps here. |
| Last Name | No | |
| Phone | No | |
| Notes | No |
Dedup: Matching email updates the existing contact (name, phone, notes). Duplicate emails later in the same file are skipped. New emails create contacts.
Properties
| Field | Required | Notes |
|---|---|---|
| Address | Yes | Street line (e.g. 123 Main St). |
| City | Yes | |
| State | Yes | |
| ZIP | Yes | |
| Property Type | No | |
| Square Footage | No | Number. |
| Year Built | No | Number. |
| Notes | No | |
| Contact Email | No | Links to an existing contact by email — import contacts first. |
Dedup: Same address + city + state + ZIP skips as duplicate (no update).
Quotes
| Field | Required | Notes |
|---|---|---|
| Title | Yes | |
| Line Items (JSON) | Yes | JSON array — see format below. |
| Description | No | |
| Customer Email | No | Matches an existing contact. |
| Home Address / Home City / Home State / Home ZIP | No | Matches an existing property. |
| Status | No | draft, sent, viewed, accepted, declined, expired (defaults draft). |
| Tax Rate | No | Number (e.g. 8.25). |
| Discount | No | Dollar amount. |
| Notes | No | |
| Valid Until | No | Date. |
Line items JSON format
Each object needs description, quantity, and unit_price:
[{"description": "Install water heater", "quantity": 1, "unit_price": 450}, {"description": "50-gal water heater", "quantity": 1, "unit_price": 800}]Invoices
Same fields as quotes, with these differences:
- Status options: draft, sent, viewed, paid, overdue, void (defaults draft).
- Due Date replaces Valid Until.
Line items use the same JSON format.
Column mapping
After upload, the Map step matches spreadsheet headers to QuoteBolt fields. Common names auto-map; use the dropdowns to fix anything else. Preview validates required fields and JSON before Import N rows.