Files
boundhq/inbound/TRADIFY_IMPORTER_READINESS.md

119 lines
3.7 KiB
Markdown

# Tradify Importer Readiness
This assessment reviews the Tradify Importer for first-customer onboarding. It is based on `routes/tradifyImport.js`, route documentation, migrations, and current project state.
## Current Capability
The importer is mapped under `/settings/tradify-import` with backend routes under `/api/tradify-import`.
Current documented routes:
- `POST /api/tradify-import/upload` - upload CSV, parse, preview
- `GET /api/tradify-import/sessions` - list recent sessions
- `GET /api/tradify-import/sessions/:id` - session detail
- `GET /api/tradify-import/sessions/:id/logs` - import logs
- `POST /api/tradify-import/sessions/:id/confirm` - execute import
- `POST /api/tradify-import/sessions/:id/rollback` - rollback import
Migrations:
- `20260604_tradify_import.sql`
- `20260605_tradify_project_links.sql`
- `20260605_tradify_import_progress.sql`
## Imports Currently Expected
Based on project state, the importer handles Tradify CSV import into:
- customers
- jobs
- quotes
- invoices
- projects / project links
- import session logs and rollback metadata
## Safety Features
| Feature | Status |
|---|---|
| Upload and parse before writing | Present |
| Preview before confirm | Present |
| Session history | Present |
| Logs per session | Present |
| Confirm step | Present |
| Rollback route | Present |
| Project linking migration | Present |
| Tenant write isolation proof | Needs test |
| Customer-facing instructions | Missing |
| Sample CSV templates | Missing |
## What Would Confuse a Non-Technical Customer
- Which Tradify export screens to use.
- Whether to export customers, jobs, quotes, and invoices separately.
- Whether closed/archived jobs should be imported.
- How duplicate customer emails are handled.
- What happens if an import is wrong.
- Whether quote/invoice numbers will change.
- Whether attachments come across.
- Whether imported data immediately syncs to Xero.
## Recommended Stage 1 Approach
Use the importer as a BoundHQ-assisted onboarding tool, not self-serve.
1. Customer exports files.
2. BoundHQ reviews column headings.
3. BoundHQ imports into a throwaway/test tenant first.
4. Customer approves preview.
5. BoundHQ imports into real tenant.
6. BoundHQ validates customer/job/quote/invoice counts.
7. BoundHQ keeps rollback available until customer signs off.
## Draft Customer-Facing Guide
### Before You Start
Do this when you have 20-30 minutes and no one is actively editing Tradify records. The import will not change Tradify. BoundHQ will preview the data before anything is committed.
### Export From Tradify
1. Open Tradify.
2. Export your Customers list to CSV.
3. Export your Jobs list to CSV.
4. Export your Quotes list to CSV.
5. Export your Invoices list to CSV.
6. Do not edit the column names.
7. Send the CSV files to BoundHQ or upload them during onboarding.
### What BoundHQ Will Check
- Number of customers, jobs, quotes, and invoices.
- Duplicate customer names or emails.
- Closed/archived jobs.
- Missing customer names.
- Imported quote and invoice numbers.
- Whether jobs can be linked to projects.
### What Does Not Come Across Automatically
- Tradify attachments unless specifically exported and supplied.
- Live Xero connection history.
- Tradify automations or reminders.
- Any custom fields that are not in the exported CSV.
### After Import
BoundHQ will show you:
- Customer count.
- Job count.
- Quote count.
- Invoice count.
- Any rows skipped or needing review.
- Whether rollback is still available.
## Readiness Verdict
The importer is promising for Stage 1.5 and first-customer DIFM onboarding. It is not ready as a non-technical self-serve flow until export instructions, supported CSV formats, duplicate handling explanation, and tenant isolation tests are documented and verified.