> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.moyoinnovations.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.moyoinnovations.com/_mcp/server.

# Data Import & Export

> Move data in and out of Moyo Suite in bulk, safely.

The Data Import & Export wizard (**Settings → Data → Import / Export**) is
how you move records in or out in bulk, instead of one at a time.

## What you can import or export

| Entity     | Key                 |
| ---------- | ------------------- |
| Leads      | `crm.lead`          |
| Contacts   | `crm.contact`       |
| Accounts   | `crm.account`       |
| Deals      | `crm.deal`          |
| Activities | `crm.activity`      |
| Products   | `inventory.product` |
| Stock      | `inventory.stock`   |
| Invoices   | `billing.invoice`   |
| Expenses   | `expense.expense`   |

Only entities belonging to modules your organization has enabled are
available — see [Core Concepts](/getting-started/concepts).

## Importing

#### Upload

Choose an entity and upload a CSV or XLSX file. Files must contain data
(empty files are rejected) and stay under the per-format size limit —
256MB for CSV, 50MB for XLSX. Only one import can be in progress at a
time; start a new one once the current job finishes.

#### Map columns

Match your file's columns to Moyo Suite's fields. If your file came from Zoho,
HubSpot, or Salesforce, a matching vendor preset pre-fills this mapping
for you. Fields marked read-only (server-derived, like an invoice's
total) can't be mapped to.

If you import the same kind of file regularly, save the mapping as a
**template** ("Save as template") so you can load it on a future import
instead of remapping columns every time. Saved templates are managed at
**Settings → Data → Import → Manage templates**, where you can rename,
set a default per entity, or delete one. One template per entity can be
marked default.

#### Choose a mode

* **Create only** — every row becomes a new record; existing matches are left alone
* **Update only** — only updates existing records; new-looking rows are skipped
* **Upsert** — creates or updates based on a match key you choose (e.g. email for leads)

#### Review before committing

Before anything is written, the job enters **awaiting approval** and
shows you a preview with any row-level errors called out. Nothing
commits until you approve it.

#### Commit

Approved rows are written. The job finishes as **succeeded**,
**partially succeeded** (some rows failed), or **failed**.

```text
pending → queued → running → awaiting_approval → committing → succeeded
                                                              → partially_succeeded
                                                              → failed
                                                              → cancelled
```

## Import history

Every import job — successful or not — is listed at **Settings → Data →
Import → View import history**, with the date, file name, row counts
(created / updated / skipped / errors), and status. Jobs with row-level
errors have a one-click download for the error report.

## Undoing an import

A completed import (succeeded, partially succeeded, or failed) can be
undone — this removes only the records the import *created*, never
records it updated or records that already existed:

```text
succeeded / partially_succeeded / failed → undoing → undone
```

## Exporting

Pick an entity and export it to CSV. Export jobs move through
`running → succeeded` (or `failed`) and produce a downloadable file when
done.

Past exports are listed below the export form with their date, entity,
format, and row count. Succeeded exports can be re-downloaded from this
list without re-running the export, as long as the result file hasn't
expired.

## Related

* [CRM](/guides/crm), [Billing & Invoicing](/guides/billing),
  [Inventory](/guides/inventory), [Expense Management](/guides/expense) —
  for what each importable entity actually looks like once it's in Moyo Suite