> ## Documentation Index
> Fetch the complete documentation index at: https://usepike.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# CSV

> Import and export workspace data with CSV for setup, migrations, backups, and reporting—aligned with Pike relationships.

The **CSV** integration lets you **import** data into Pike and **export** it back out using comma-separated files. It is ideal when you are **setting up a new workspace**, **moving from another tool**, need a **one-off bulk update**, or want **snapshots** for finance or analytics outside Pike.

Use it alongside live integrations ([Open API](/integrations/open-api), [HubSpot](/integrations/hubspot), accounting tools) when file-based exchange fits your process better than a permanent sync.

## 1. Connecting and using CSV

1. Go to **Workspace settings** → **Integrations** → **CSV**
2. Choose **Import** or **Export** and download the **template** for the entity you need (templates include the expected columns and optional relationship fields)
3. Fill or edit the file, then upload for import—or run an export to download current data

Workspace **admins** (or roles your workspace configures for integrations) can run imports and exports; exports may be restricted so sensitive data stays with people who need it.

<Tip>
  For recurring automation, prefer the [Open API](/integrations/open-api). CSV
  is best for **batch** work and **human-in-the-loop** migrations.
</Tip>

## 2. Entities you can import and export

These are the entities teams use most often via CSV. Exact columns follow the templates Pike provides for each type.

| Entity                                | Typical import use                                                                  | Typical export use                                       |
| ------------------------------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------- |
| **Customers**                         | Seed accounts before go-live; merge lists from a CRM export                         | Backup; handoff to finance; segmentation in spreadsheets |
| **Projects**                          | Create delivery shells from a sales or ERP extract                                  | Reporting; archive; migrate phases to another system     |
| **Tasks**                             | Bulk create work from Jira, Asana, or a spreadsheet                                 | Audit trail; migration to another PSA; offline review    |
| **Members**                           | Rare for full user creation—often paired with invites; role or team updates in bulk | Roster for HR or access reviews                          |
| **Teams**                             | Align team names with your org chart during setup                                   | Documentation of structure                               |
| **Time entries**                      | Historical timesheets from another system (with validation)                         | Payroll extracts; client audits                          |
| **Deals**                             | Pipeline from another CRM or spreadsheet                                            | Forecast packs; leadership dashboards in Excel           |
| **Products**                          | Catalog from finance or ERP for invoicing alignment                                 | Price book reviews                                       |
| **Labels / phases** (where supported) | Standardise taxonomy before tasks arrive                                            | Consistency checks                                       |

Smaller or workspace-specific objects may appear in the integration UI as your Pike plan allows. Always use the **latest template** from **Integrations** → **CSV** so column names match the current release.

## 3. When CSV shines

### Workspace setup

* Load **customers** and **projects** before inviting the wider team so [tasks](/tasks/overview) land on the right workstreams from day one.
* Pre-create **teams** and **labels** so [task properties](/tasks/properties) stay consistent.

### Migrations and tool switches

* **Jira → Pike:** Export issues from Jira as CSV (or use Jira’s export), map columns to Pike’s task template (`title`, `description`, `status`, `projectId` or `projectNumber`, assignee email, dates). Import **projects** (or customers) first, then **tasks** so relationships resolve—see [Relationships](#5-relationships-best-practices) below.
* **Asana / Monday / Linear → Pike:** Same pattern: export boards or tables, align to Pike templates, import in **dependency order**.
* **Spreadsheet-only teams:** If you ran projects in Excel or Google Sheets, structured CSV import replaces manual re-keying while preserving **customer** and **project** links.

### Operations

* **Month-end:** Export **time entries** or **projects** for finance systems that still expect files.
* **Clean-up:** Export, fix in Excel, re-import selected rows (with care and backups).

## 4. Import and export behaviour

* **Import:** Pike validates rows (required fields, formats, referential checks). Invalid rows are reported with line numbers so you can fix the file and retry. Large files may process **asynchronously**; you will see status in the integration UI.
* **Export:** You choose the entity and filters (for example date range for time). Exports respect your **permissions**—you only receive data you are allowed to see in the app.
* **Encoding:** Use **UTF-8** so names and addresses with accents stay correct. Excel: “Save as CSV UTF-8” where applicable.

## 5. Relationships (best practices)

Bulk data only works if **links between records** stay honest. Pike follows these practices:

### Import order

1. **Foundation first:** **Customers** (and any **teams** or **products** the template requires) before projects that reference them.
2. **Structure before work:** **Projects** (and **phases** if in separate files or columns) before **tasks** that belong to those projects.
3. **People last where needed:** **Tasks** with **assignees** after **members** exist—or use **email** columns that Pike can match on invite status, depending on your template.
4. **Time and money after the fact:** **Time entries** and **deals** usually reference **projects**, **tasks**, or **customers** that must already exist.

### How we match relationships

* **Stable identifiers:** Prefer **Pike IDs** from an export when round-tripping. For first-time imports, templates usually accept **business keys** such as **customer number**, **project number**, or **email** so you do not need internal UUIDs from day one.
* **One row, one record:** Avoid merged cells and multi-value chaos; use one row per task (or follow the template’s repeat rules if documented).
* **No orphan rows:** If a task references `projectNumber` `2026-0142`, that project must exist in the same import batch (earlier in the file order if multi-entity upload is supported) or already in the workspace.
* **Idempotent runs:** Re-importing the same logical customer with the same key **updates** the existing record where Pike supports upsert—check the template notes for **create-only** vs **upsert** per entity.

### Deduplication

* Match keys (customer number, project number, external id column) prevent duplicate shells when you re-import after fixing errors.
* If you merge two sources (for example CRM + ERP), **normalise names and numbers** in the sheet before import.

## 6. Related documentation

* [Core concepts](/concepts) — workspace, projects, tasks
* [Customers](/customers/overview) and [Deals](/customers/deals)
* [Projects](/project/overview) and [Tasks](/tasks/properties)
* [Members](/members/overview) and [Time](/time/overview)
* [Open API](/integrations/open-api) — programmatic alternative to CSV
