# Import Partners, Contacts and Deal Registrations

Moving to Fours from another PRM, or from a spreadsheet? Bring your partners, the people you work with at them, and your deal history across in one upload, instead of adding them one by one.

---

## Overview

**Import Data**, under **Partners → Settings**, takes a spreadsheet with up to three kinds of record:

| Sheet | What each row becomes |
| --- | --- |
| **Partnerships** | A partner, identified by its company domain. A new partner gets an `ACTIVE` partnership and a Fours organization with no members, so nobody at the partner is invited or emailed. |
| **Contacts** | A person at one of your partners, added to that partner's [contacts](/prm/work-a-partner-record/#contacts). Nobody is emailed. |
| **Deal registrations** | A deal with one of your partners, open or already closed, recorded at the stage and registration date you give it. No commission is created and no partner is notified. |

Fours checks every row before you submit, and approves each import before anything is added. Your partner list doesn't change until then.

:::info
You need an **Admin** or **Editor** role to upload and submit an import. Partner organizations don't have **Import Data**. To load only past deals with partners already in Fours, commissions included, use [Import Historical Co-Sell Referrals](/prm/commission-plans/#import-historical-co-sell-referrals) instead.
:::

## Step 1: Download Your Template

1. Go to **Fours Console**, then **Partners**.
2. Click **Settings** at the bottom of the rail, then **Import Data**.
3. Click **Download template**.

The template is an Excel workbook built for your organization. It has an **Instructions** sheet, one sheet each for **Partnerships**, **Contacts**, and **Deal registrations**, and an **Allowed Values** sheet that feeds the dropdowns in the picklist columns, so a wrong value is caught while you type. Your own tiers, your teammates, and your [deal registration form](/prm/register-a-deal/#choose-the-fields-of-your-deal-registration-form) shape it: a deal column your form hides from everyone is left out, and one it requires is marked required.

## Step 2: Fill In the Sheets

Fill in any of the three sheets, or any combination, and leave a sheet empty to skip it. Columns marked `*` are required. Dates are `YYYY-MM-DD`, and a cell that takes several values separates them with `;`. ID, phone, and postal-code columns are stored as text, so Excel keeps leading zeros.

- **Partnerships**: `partner_name` and `partner_domain`, such as `acmecloud.com`, are required. The optional columns are the partner type, engagement type, relationship, tier, `partner_manager_email` (a teammate in your Fours organization), the date you started partnering, channels, city, country, and the partner's CRM account, as `crm_provider` together with `crm_account_id`.
- **Contacts**: `partner_domain`, `email`, `first_name`, and `last_name` are required; title, phone, LinkedIn URL, and role are optional.
- **Deal registrations**: `partner_domain`, the deal name, stage, close date, opportunity type, deal value, and customer company are required, plus whatever else your deal registration form requires. `deal_role` is your role on the deal, and is **Seller** when left blank. `crm_opportunity_id` identifies a deal, so uploading the same ID again never creates a second one. `registration_date` records when the deal was registered, and `closed_lost_reason` applies only to a lost deal. The owner on your side comes from `isv_owner_name` and `isv_owner_email`; left blank, it's you.

Contacts and deals name their partner by `partner_domain`: one of your active partners, or a partner in the **Partnerships** sheet of the same upload. Each sheet takes up to 1,000 rows.

## Step 3: Upload and Check the Preview

1. Under **Upload your file**, choose the workbook (`.xlsx`), or a `.csv` holding one sheet with the template's headers.
2. Fours checks every row and saves nothing yet. The badges count each sheet's rows as **new**, **existing**, or **invalid**, and a table lists the rows to look at, by sheet, row number, and record, with the issue.
3. Fix each invalid row in your file and upload it again.

A row with a warning, such as a closed deal that leaves out a field your deal registration form requires, doesn't block the import; on an open deal, the same gap makes the row invalid. These rows are invalid too:

- **A domain that can't be a partner**: your own organization's domain, or a personal email provider such as Gmail.
- **A domain Fours can't place**: one that belongs to another customer's Fours organization, or matches more than one organization.
- **A partner you deactivated.** An upload doesn't undo that decision: reactivate the partner first.
- **A contact or deal for a partner that isn't active**, unless the same upload's **Partnerships** sheet has a row for it. A **Partnerships** row is the only way an import makes a suggested or pending partner `ACTIVE`.
- **A duplicate**: the same partner twice in **Partnerships**, the same email twice for one partner, or the same deal twice.

## Step 4: Submit It for Approval

When no row is invalid, click **Submit for approval**. The import appears under **History**, with who submitted it, its counts, and its status, and Fours reviews it. You can submit one import at a time: while one waits for approval, the upload is closed.

Fours approves the whole import, or leaves out rows, each with a reason you'll see. Leaving out a partner leaves out its contacts and deals too. Once approved, the import runs:

- **Partners.** Each one is linked to a Fours organization for its domain, or gets a new one with no members. A partner you already have keeps what it has: the import only fills in fields that are empty.
- **Contacts** are added to the partner's contacts, the same way as adding one by hand. Someone already there is left as they are.
- **Deals** are recorded silently, at their stage and registration date, with no commission and no notifications.

Click **Details** on an import in **History** to see what happened to each row: **Created**, **Existing**, **Excluded**, or **Failed**, with the reason. A rejected import shows why Fours didn't approve it, and nothing from it is added.

```d2
direction: right

you: "You: download the template,\nfill in the sheets" { shape: rectangle }
preview: "Upload: Fours checks\nevery row, saves nothing" { shape: rectangle }
fix: "Fix invalid rows\nand upload again" { shape: rectangle }
review: "Submit for approval:\nFours reviews the import" { shape: rectangle }
run: "Approved: partners, contacts\nand deals are added" { shape: rectangle }
history: "History → Details:\neach row's result" { shape: rectangle }

you -> preview
preview -> fix: "invalid rows"
fix -> preview
preview -> review: "every row checks out"
review -> run: "approved, rows\noptionally left out"
review -> history: "rejected, with a reason"
run -> history
```

## Related

- [Invite Partners](/prm/invite-partners/)
- [Work a Partner Record](/prm/work-a-partner-record/)
- [Set Up and Manage Commission Plans](/prm/commission-plans/)
- [Register a Deal with a Partner](/prm/register-a-deal/)
