Import your existing investors and holdings | Covercy
Getting started
Import your existing investors and holdings
Bring your existing contacts and investing entities into Covercy One in bulk from a CSV or Excel file, and prepare the file so its rows match the investors you already have instead of duplicating them.
By the end of this guide you'll have prepared a spreadsheet so its rows line up with the investors you already have, brought your contacts and their investing entities into Covercy One in bulk, mapped your columns to the right fields, reviewed exactly what the import will do, and run it.
Note
Importing contacts and investing entities is a GP task that runs in your firm's workspace. Before you start, have your data ready in a single CSV (.csv) or modern Excel (.xlsx) file. If an action is unavailable, ask a workspace admin to grant you access.
What you can import
The Import Wizard brings in your contacts and the investing entities they belong to from one file. For each row you can map contact details (name, emails, phones, tags, referrer) and entity details (entity name, entity type, Tax ID, addresses, and any custom fields you've defined). Covercy One reads each row as two independent records: a contact, identified by email address and requiring a first and last name, and an investing entity, identified by its entity name or by its Tax ID. A row can carry one, the other, or both — and several contacts can be linked to the same entity when their rows point to it.
Tip
If you're not sure how to lay out your file, use Download Template in the first step of the wizard. It gives you an Excel (.xlsx) file with the expected column headers and example rows, and those headers come from the import you opened the wizard from — so what you get matches the import you are about to run.
Prepare your file so rows match instead of duplicating
Covercy One decides, row by row, whether the person and the investing entity a row names already exist. Three things in your file drive that decision: the contact's email address and name, the entity's Entity Name, and the entity's Tax ID. Getting those columns right before you upload is what keeps an import from creating a second copy of an investor you already have, or from stopping on a row it can't resolve.
Map an email and a full name for every person
A row creates or updates a contact only when the file identifies the person by an email address and a first and last name. A row with an email but no name, or with a one-word name, doesn't create a contact — the contact is skipped for that row with a reason telling you the identifying details were missing, while the row's investing entity still imports. If your file names people in a single Full Name column, map it: Covercy One splits it into first and last name, and that satisfies the requirement. Where your file also has separate First Name and Last Name columns, those take precedence over Full Name.
Tip
Mapping an email column on its own is no longer enough to bring people in. Check that a name column — either a First Name and Last Name pair, or a Full Name column — is mapped before you leave the Map Fields step.
Add a Tax ID wherever you have one
A Tax ID identifies an investor in its own right, which makes it the most reliable way to line a spreadsheet up with records you already have. When a row's Tax ID matches an investing entity already in your workspace, Covercy One treats it as the same investor even when the stored name is different, and updates that entity's name to the name in your file — the rename is reported back in the import results, with both the previous and the new name, so you have one place to notice it.
The reverse holds too. Where a row carries the same Entity Name as an existing entity but a different Tax ID, the two are treated as different investors: a new entity is created from your row and the row is flagged to tell you the name is now shared with an existing entity. A row that carries only a Tax ID and no Entity Name is matched on that Tax ID alone; if nothing in your workspace carries it, the row is skipped and asks you to add the legal name or correct the Tax ID, rather than creating an entity with no name.
Entity Type doesn't decide who's who
Entity Type no longer determines whether a row matches an existing investor. It is used only to rule a match out: when your row and an existing entity both state a type and the two differ, they're kept apart as different entities. A blank or unrecognized Entity Type rules nothing out, so a row that carries an entity name and no type can still match the entity you already have. When a row with an Entity Name and a blank or unmapped Entity Type does create a new entity, that entity is created with the type Other — a row with a company or trust name but no type is imported rather than dropped or filed as an individual.
You don't need to de-duplicate your spreadsheet
The same matching applies between the rows of the file you're importing, not only against records already in your workspace. If your file repeats an investor's entity name across many rows — the usual shape of a payments or distributions ledger, with one row per payment — the import produces one investing entity per investor rather than one per row, whether or not that investor existed in Covercy One before the run, and however long the file is. Rows sharing one email address land on a single contact in the same way, and rows that name an entity alongside a contact land on the same entity as rows that name it with no contact.
The one case where a repeated name is deliberately kept apart is two rows carrying the same Entity Name with different Entity Types — those still produce two entities, which is normally what you intended.
Tip
You don't have to collapse a ledger export into one row per investor before importing it. Import the file as it stands: the results count each investing entity once under created and report the repeat rows as matched, so the counts reflect what actually happened.
Rows that can't be resolved safely are skipped whole
Where a row names an investor that can't be identified with confidence, Covercy One skips the whole row rather than import half of it — no contact and no investing entity is created, matched, updated, or linked from that row. That happens when two same-named investors can't be told apart and the row's contact email points to neither, when a row's contact conflicts with the person already recorded on an individual entity of the same name, or when the row's email address is held by two different existing contacts. Each skip carries a plain reason, appears on the row in the review step, and lands in the downloadable error report so you can correct the file and import it again.
Warning
When a row is skipped because more than one investor could be meant, the reason names the candidates and tells you what would separate them — adding a Tax ID or the investor's contact email to that row is usually the quickest fix. A row that names no entity at all is never skipped for this reason: its contact imports as usual. Skipped rows are counted as skipped, never as failures, and they never stop the rest of the file from importing.
The four steps of the Import Wizard
The wizard walks you through four steps: Upload File, Map Fields, Analyze & Decide, and Review & Import. You can move back to an earlier step at any point to make changes, and nothing is written to your workspace until you start the import on the final step.
Step 1: Upload your file
Open the Import Wizard from your contacts table and start at the Upload File step.
Drag your file onto the upload area, or click to browse. Supported formats are CSV (.csv) and Excel (.xlsx).
If your file is an Excel workbook with more than one sheet, choose the single sheet you want to import.
Confirm the first row is a header checkbox matches your file, then review the preview of the first rows and the row and column counts.
Select Next to continue to column mapping.
Warning
Legacy Excel files (.xls, the Excel 97–2003 format) aren't supported. Open the file in Excel and save it as .xlsx first. Very large files are also rejected — if yours is too big, split it into smaller files and import them one after another.
Step 2: Map your fields
On the Map Fields step, Covercy One tries to match each column in your file to a platform field and shows a confidence score for each match. Confident matches are accepted automatically; columns it isn't sure about are highlighted as suggestions for you to confirm, and key columns such as email and entity name are never auto-mapped from an uncertain guess.
Review each matched column. Where a match is highlighted for review or marked Unmatched, open the dropdown and pick the correct field.
Map the contact's email together with a name — either First Name and Last Name, or a single Full Name column — so the rows can create contacts.
Map any further contact fields such as additional emails and phones. You can map several email or phone columns; the first of each is treated as primary.
Map entity fields such as Entity Name, Entity Type, Tax ID Number, Tax ID Type, and addresses. Custom fields you've defined appear in their own group.
Choose Skip this column for any column you don't want to bring in.
Select Next to continue.
Choose how rows without an entity are handled
While mapping, you decide what happens to rows that don't carry their own entity. For rows with no entity columns, choose Skip - create contact without entity or Auto-create Individual entity (uses contact name). This choice affects only those rows — rows that do name an entity are matched against your workspace as described above. It is also the only import option on this step: the step presents just the options this import actually uses, so there is nothing else here to set and nothing hiding further down. Whether existing records are created or updated is decided on the next step.
Step 3: Analyze and decide
The Analyze & Decide step checks your file against what's already in your workspace — without writing anything yet — so you can see exactly what the import will do before you commit to it. Covercy One analyzes contacts and investing entities separately and shows, for each, how many records are new (no existing match), how many will be an update to an existing record, and how many are flagged for a closer look (for example, a row missing the email or name needed to create a contact, or a row whose investor couldn't be resolved).
Review the new, update, and flagged counts shown for your contacts and for your investing entities.
Select any count to drill in and see exactly which file rows it covers, listed by row number with their key values.
For each of the two record types, use the independent create and update checkboxes to decide whether to add new records and whether to update matched ones. Both are on by default.
Select Next to continue to review.
Tip
A record that matches an existing contact or entity is never turned into a second copy — Covercy One updates it or skips it based on your choices here, and there is no option to create duplicates. Turn off update for contacts or entities if you only want to add brand-new records and leave the matched ones untouched; turn off create if you only want to update records that already exist. This is the one place create-versus-update is decided. A row whose contact email matches someone already in your workspace proceeds as an update governed by the checkboxes you set here — there is no second, per-row gate later in the wizard.
Step 4: Review and import
The Review & Import step shows a summary of how many rows are ready to import and how many have errors, alongside counts of new and existing contacts and entities. Each row in the table shows a status: Ready, Update, Error, or excluded if you've chosen to leave it out.
Use the status tabs, All and Errors, to focus on the rows that need attention.
Open an Error row to see what's wrong and choose to skip it so it's excluded from the import.
Open an Update row to compare the values already on the record with the values from your file and see which will be used. It's a preview — whether the row is created, updated or skipped follows the decision you already made on the Analyze & Decide step.
For a row reported as unresolvable, go back to your file and add the Tax ID or the contact email that tells the candidates apart, then upload the corrected file.
When you're ready, select Start Import.
Note
There is nothing left to resolve row by row on this step. Starting the import isn't held up by matched rows waiting on a decision — only errors raise a warning, and you can still choose to import just the valid rows or cancel.
A progress view shows how far the import has reached and running totals for created, updated, skipped, and failed rows, following the create and update choices you made on the Analyze & Decide step. If some rows still have unresolved errors when you start, Covercy One warns you and lets you import only the valid rows or cancel. If analysis leaves nothing importable at all, the import is disabled and the wizard explains why, with the breakdown of skip reasons.
Read the results
When the run finishes, three things in the results are worth checking. Any investing entity whose name was updated because its Tax ID matched a row in your file is reported with its previous and its new name. An entity that several rows resolved to is counted once under created, with the remaining rows accounted for as matched rather than inflating the created count. And rows that were skipped are listed with their reason and counted separately from rows that failed while being written, so a row you need to fix in the file is easy to tell apart from an error during the import itself.
Fix and re-import rows that didn't come in
When an import finishes with rows that were skipped or that failed, a Download Error Report button appears. The report contains only those rows, keeps your original columns, and adds a message for each row plus the original row number so you can find it in your source file. Fix the values — most often by adding a name, a Tax ID, or a contact email — remove the extra row-number and error columns, and re-import the corrected file. Re-importing is safe: rows that now match an existing contact or entity update it instead of creating a second copy.
Verify it worked
When the import completes you can choose View Contacts to open your contacts list, Import More to run another file, or Done to close the wizard. Confirm your imported contacts appear in the contacts list and that their investing entities show on the investing entities page with the details you mapped — including any entity whose name the results reported as renamed. If a row didn't import as expected, download the error report to see why, or reach out to our team for help.
Which file formats can I import?
CSV (.csv) and modern Excel (.xlsx) files. Legacy .xls files aren't supported — open them in Excel and save as .xlsx first. If a workbook has multiple sheets, you choose one sheet to import.
Do I need to name my columns exactly like Covercy One's fields?
No. The wizard matches your columns to platform fields automatically and shows a confidence score. You can override any match in the Map Fields step, and you can download a template to start from the expected headers — it comes as an Excel (.xlsx) file whose headers are those of the import you opened the wizard from.
Why didn't some rows create a contact?
A row creates a contact only when it carries an email address and both a first and a last name. An email with no name, or a one-word name, doesn't create a contact — the row is flagged with a reason and its investing entity still imports. Map a Full Name column and Covercy One will split it into first and last name; explicit First Name and Last Name columns take precedence over Full Name.
Can I see what the import will do before it runs?
Yes. The Analyze & Decide step checks your file against your workspace without writing anything and shows how many contacts and investing entities are new, how many will be updated, and how many are flagged for a closer look. You can drill into any count to see the exact file rows before you continue, and it is the only place you decide whether to create and whether to update — nothing asks you again row by row afterwards.
What happens if a contact I'm importing already exists?
Existing contacts are matched by email address, so a row whose email is already on file updates that person even when the name differs. On the Analyze & Decide step you decide, with independent create and update checkboxes, whether to add new contacts and whether to update matched ones. Updating merges in non-empty values from your file, and blank cells won't overwrite values already on the contact. There is no option to create a duplicate.
Will importing create duplicate investing entities?
No. A row matches an existing entity by Tax ID, or by entity name when the name identifies a single investor — and Entity Type is used only to rule a match out when both sides state different types. Repeats inside your own file are matched the same way, so a file with one row per payment produces one entity per investor rather than one per row. Where a row could mean more than one investor, it is skipped with a reason instead of guessing.
My file has one row per payment — do I need to collapse it first?
No. Import the ledger as it is. Rows repeating the same investor resolve to a single investing entity, and rows repeating the same email resolve to a single contact, whether or not those records existed beforehand. The results count each entity once under created and report the repeat rows as matched.
What happens when two investors share a name?
If your row carries a Tax ID that differs from the existing entity's, they're treated as different investors: a new entity is created and the row is flagged so you know the name is now shared. If nothing in the row tells the same-named investors apart, the whole row is skipped with a reason naming the candidates — add a Tax ID or the investor's contact email to that row and import it again.
What investing entity types can I import?
Map an Entity Type column to set each entity's legal form — Individual, LLC, LLP, LP, LTD, Trust, Corporation, or Other. Common variations such as "limited partnership" or "limited liability partnership" are recognized too. When a row has an entity name but no recognized Entity Type, a newly created entity is given the type Other.
What if a row has no entity?
During mapping you choose what happens to rows without entity columns: skip the entity and create the contact on its own, or auto-create an Individual entity using the contact's name. Rows that name no entity are never skipped for an unresolvable investor — their contact imports as usual.
Can I fix rows that were skipped or failed and try again?
Yes. Download the error report after the import, which lists only those rows with a message for each. Correct the values, remove the added row-number and error columns, and re-import the corrected file — rows that match an existing record update it rather than creating a second copy.