# Entities

# Managing Entities

While on your main page (dashboard), navigate to the top of the screen and click "Entities".  
  
From this page, you can search for entities that have already been created, or you can create or import new ones.

To create a new entity, click on "Add".

Fill out each field. This includes:

- Entity Name
- NAICS Code
- Owners
- Entity Type
- Tax Classification
- Entity Description
- Entity Email
- Entity Website URL
- DBAs
- Comments
- State
- Locality

You may also add a profile icon and any social links.

Choose if you want to add business details or not.

Regardless of choice, click "Save".

If you chose to add business details, on the next screen, fill out the fields

These are:

- Entity Stage
- Month and Year
- Target Market
- Chamber Link

Click "Save".

On the next screen, you can edit the entity, delete it, add tags, add phone numbers, add addresses, add a meeting, add comments/notes, create referrals, add provided services, add milestones, add staff positions, or add accessed capital.

# Business Profiles



# Referrals

At the top of the screen, click "Entities", and then the entity you wish to add referrals for.

Scroll down to the bottom of the screen, click "Create Referral".

On the next screen, fill out the provider, status, and notes.

# Provided Services

At the top of the screen, click "Entities", and then the entity you wish to add services for.

Scroll down to the bottom of the screen, click "Add Service".

On the next screen, fill out the entity, the name of the service, and the description of the service.

Click "Add Service".

On the next screen, you may edit the service or delete it.

# Importing Businesses (Entities)

## Open the import screen

From **Entities**, choose **Import**. Select the import type, **CSV** or **Excel**, choose your file, then **Import**. Use **Download Templates** for the correct column headers.

---

## Create an entity manually

- Go to **Entities** → **Add entity** (or from a user’s profile, **Add entity** to tie an owner).
- Fill in the form and save.

Use a file import when you have many rows or spreadsheet data already prepared.

---

## Import entities only (one sheet)

For **entity** rows only (no separate business-profile sheet).

- Import type: **Entities**
- Format: **CSV** or **Excel**
- Download the **Entities** template, fill it, upload, then **Import**

**Matching:** Each row matches on **`name`**. The same name as an existing entity **updates** that record.

**Columns**

- **`name`** — required
- **`owner_first_name`**, **`owner_last_name`** — optional; both must match an existing user’s first and last name to attach that user as **owner**
- **`description`**, **`dbas`**, **`email`**, **`website_url`**, **`import_context`** — optional text
- **`phone_number`** — optional; numeric (10-digit style)
- **`type`**, **`tax_classification`** — optional; use **enum keys** from [Allowed enum values](#allowed-enum-values-for-imports) (not the display labels)
- **`naics_code`** — optional; must be a code that **already exists** in RISE (see note under that section)
- **`state`**, **`locality`**, **`town`** — optional; see **State, locality, and town** under [Allowed enum values](#allowed-enum-values-for-imports)
- **Social URLs** — optional; one column each: `facebook_url`, `twitter_url`, `instagram_url`, `linkedin_url`, `youtube_url`, `meetup_url` (valid URLs)
- **`comments`** — optional; creates a comment on the entity

---

## Import entities and business profiles (two worksheets, Excel)

One workbook for **entities** plus **business profiles**.

- Download **Entities and Profiles (Multiple Sheets)**
- Import type: **Entities and Profiles (Multiple Sheet)**
- Format: **Excel** (`.xlsx`), upload, then **Import**

**Worksheet 1** — same columns and behavior as **Import entities only**.

**Worksheet 2** — one business profile per row.

- **`entity_id`** — optional; RISE entity ID (used first if present)
- **`entity_name`** — optional; exact entity name if `entity_id` is not used (must match sheet 1 or an entity already in RISE)
- **`entity_stage`** — optional; enum **key** (see [Entity stage](#entity-stage-entity_stage))
- **`registered_on_va_scc`** — optional; `0` or `1`
- **`chamber_link`** — optional; URL
- **`target_market`** — optional; text
- **`import_context`** — optional; text

If neither `entity_id` nor `entity_name` resolves to an entity, that row does not create a profile.

---

## Business profiles only

If entities already exist, use the **Business Profiles** shortcut on the entity import page and its single-sheet templates.

---

## Errors

Failed rows may list on the screen with a short message; fix the file and import again.

---

## Allowed enum values for imports

Imports expect the **key** (left column). Labels are for reference when reading the UI or exports.

### Entity type (`type`)

| Key | Label |
|-----|--------|
| `sole-proprietorship` | Sole Proprietorship |
| `s-corp` | S-Corporation |
| `c-corp` | C-Corporation |
| `b-corp` | B-Corporation |
| `corporation-type-unknown` | Corporation (Type Unknown) |
| `llc` | Limited Liability Company (LLC) |
| `partnership` | Partnership |
| `pllc` | Professional Limited Liability Company (PLLC) |
| `llp` | Limited Liability Partnership (LLP) |
| `pc` | Professional Corporation (PC) |
| `cooperative` | Cooperative |
| `501c3` | Nonprofit - 501(c)(3) |
| `nonprofit-other` | Nonprofit - Other |
| `not-yet-formed` | Not yet formed |
| `government` | Government |
| `other` | Other |

### Tax classification (`tax_classification`)

| Key | Label |
|-----|--------|
| `disregarded-entity` | Disregarded Entity |
| `partnership` | Partnership |
| `c-corp` | C-Corporation |
| `s-corp` | S-Corporation |
| `501c3` | Nonprofit - 501(c)(3) |
| `llc` | Limited Liability Company (LLC) |
| `trust` | Trust |
| `estate` | Estate |
| `exempt` | Exempt |
| `not-applicable` | N/A |

### Entity stage (`entity_stage`, worksheet 2)

| Key | Label |
|-----|--------|
| `ideation` | Ideation |
| `startup` | Startup |
| `growth` | Growth |
| `expansion` | Expansion |
| `mature` | Mature |

### NAICS code (`naics_code`)

Not a fixed list in this manual: the value must match a **NAICS code already stored** in RISE. If import fails on `naics_code`, use a code from the app’s NAICS list or leave the column empty.

### State, locality, and town (`state`, `locality`, `town`)

These follow **RISE region configuration** (states such as **VA** and **NC**, with **locality** and **town** keys under each—for example county keys like `halifax`, `mecklenburg`, and town keys nested under the locality). The importer may normalize some **human-readable** county or town names to the correct keys when `state` is set. When in doubt, use the same **keys** as on an exported entity or as shown when editing an entity in the UI.

In this project, **entities import** does not use a separate “county” column. The spreadsheet column **`locality`** is validated and normalized against `config('enums.region_localities')` for the given **`state`** (`EntitiesImport` maps either the **enum key** or the **display label** case-insensitively to the stored key). Counties, cities, and other places all live in that same **`region_localities`** list.

Below are markdown tables you can paste into docs or a PR.

---

### Virginia — `locality` enum (`state` = `VA`)

| Stored enum key (`locality`) | Import/display label | Typical kind |
|------------------------------|----------------------|--------------|
| `halifax` | Halifax County | County |
| `mecklenburg` | Mecklenburg County | County |
| `brunswick` | Brunswick County | County |
| `lunenburg` | Lunenburg County | County |
| `charlotte` | Charlotte County | County |
| `prince_edward` | Prince Edward County | County |
| `cumberland` | Cumberland County | County |
| `buckingham` | Buckingham County | County |
| `nottoway` | Nottoway County | County |
| `amelia` | Amelia County | County |
| `pittsylvania` | Pittsylvania County | County |
| `henry` | Henry County | County |
| `patrick` | Patrick County | County |
| `fairfax` | Fairfax County | County |
| `danville_city` | City of Danville | City |
| `martinsville_city` | City of Martinsville | City |
| `charlottesville` | Charlottesville | City |
| `centreville` | Centreville | Place |
| `dumfries` | Dumfries | Town |

---

### North Carolina — `locality` enum (`state` = `NC`)

| Stored enum key (`locality`) | Import/display label | Typical kind |
|------------------------------|----------------------|--------------|
| `durham` | Durham | City / locality |
| `garner` | Garner | Town |
| `greensboro` | Greensboro | City |
| `chatham` | Chatham | Locality (label as in config) |

---

### Import behavior (short)

| Column | Role |
|--------|------|
| `state` | Must match a key in `region_localities` (e.g. `VA`, `NC`). |
| `locality` | Use the **stored enum key** (e.g. `halifax`) **or** the **display label** (e.g. `Halifax County`); import lowercases and resolves labels to keys when they match that state’s map. |