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

# Apply for an EIN

> Get an Employer Identification Number from the IRS for any business — formed through Palm or not.

export const iconProps = (variant = "default") => {
  const iconVariants = {
    default: "palm-icon-default",
    horizontal: "palm-icon-horizontal",
    stack: "palm-icon-stack",
    navigation: "palm-icon-navigation",
    darkHorizontal: "palm-icon-dark-horizontal",
    dark_stack: "palm-icon-dark-stack",
    getStarted: "palm-icon-get-started"
  };
  return iconVariants[variant] ?? iconVariants.default;
};

export const PalmCard = ({title, description, icon, variant = "default", href, items}) => {
  if (variant === "getStarted") {
    return <div data-card className="pc-wrapper-get-started flex flex-col gap-4 border border-[rgba(4,44,47,0.1)] rounded-2xl p-6">
        <div className="pc-wrapper-inner-get-started">
          {icon !== undefined && <div className="pc-icon-container-get-started">{icon}</div>}
          {title !== undefined && <span className="pc-title-get-started">{title}</span>}
        </div>
        {items && items.length > 0 && <ul className="pc-items-get-started">
            {items.map((item, i) => <li key={i}>
                <a href={item.href} className="pc-item-link-get-started">{item.label}</a>
              </li>)}
          </ul>}
      </div>;
  }
  const variants = {
    default: {
      wrapper: "pc-wrapper-default",
      title: "pc-title",
      description: "pc-description"
    },
    horizontal: {
      wrapper: "pc-wrapper-card",
      title: "pc-title-horizontal",
      description: "pc-description"
    },
    stack: {
      wrapper: "pc-wrapper-stack",
      title: "pc-title-stack",
      description: "pc-description"
    },
    darkHorizontal: {
      wrapper: "pc-wrapper-dark-horizontal",
      title: "pc-title-dark-horizontal",
      description: "pc-description-dark-horizontal"
    },
    navigation: {
      wrapper: "pc-wrapper-navigation",
      title: "pc-title-navigation",
      description: "pc-description-navigation"
    },
    dark_stack: {
      icon: "pc-icon-card",
      title: "pc-title",
      description: "pc-description"
    }
  };
  const styles = variants[variant] ?? variants.default;
  const inner = <a data-card href={href ? href : '#'} className={`no-underline flex flex-col h-full items-start gap-4 p-6 rounded-2xl hover:opacity-80 transition-opacity ${styles.wrapper}`}>
      {icon !== undefined && <span className="icon-wrapper">{icon}</span>}
      {(title !== undefined || description !== undefined) && <div className="flex flex-col min-w-0">
          {title !== undefined && <span className={styles.title}>{title}</span>}
          {description !== undefined && <span className={styles.description}>{description}</span>}
        </div>}
    </a>;
  return inner;
};

An EIN (Employer Identification Number) is the IRS-assigned tax identification number for a business entity. Palm handles the full application — collecting the required Form SS-4 data, submitting to the IRS, and returning the assigned EIN and confirmation documents.

***

## Standalone vs bundled

Palm supports two modes for EIN applications:

* **Standalone** — Apply for an EIN for any business already in Palm. The business doesn't need to have been formed through Palm — it just needs a business record with the required vault fields.
* **Bundled with formation** — Include an `ein` object in a [formation request](/comply/form-a-business). Palm creates the EIN filing automatically and advances it to `ready_to_file` when the formation completes.

Both modes use the same filing lifecycle and return the same result.

## Prerequisites

The business record must have these vault fields populated before submitting:

* `business.legal_name`
* `business.entity_type`
* `business.formation_jurisdiction`
* `business.formation_date`
* `business.address_line_1`, `business.city`, `business.region`, `business.postal_code`

Optional fields forwarded to the IRS if present: `business.address_line_2`, `business.country`, `business.dba_name`.

<Note>
  If the business doesn't exist in Palm yet, create it first via `POST /v1/business` with the required vault fields.
</Note>

## Submit an EIN application

```bash wrap Bash theme={null}
POST /v1/filing/ein
```

### Responsible party

Every EIN application requires a responsible party — the individual the IRS holds accountable for the entity. You can either reference an existing user or provide details inline:

* **Existing user** — Pass `user_id`. The user's vault must already have `identity.first_name`, `identity.last_name`, and `identity.ssn`.
* **Inline** — Pass `first_name`, `last_name`, and `ssn` directly. Palm creates a user record, vaults the SSN, and links them to the business.

### Required fields

| Field                                                                      | Type    | Description                                                                                                                          |
| -------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| <span className="initial-bold--success">`business_id`</span>               | UUID    | Business to apply for.                                                                                                               |
| <span className="initial-bold--success">`responsible_party`</span>         | object  | `user_id` or inline `first_name` / `last_name` / `ssn`.                                                                              |
| <span className="initial-bold--success">`reason`</span>                    | enum    | Why the entity needs an EIN (e.g., `started_new_business`, `hired_employees`, `banking_purposes`).                                   |
| <span className="initial-bold--success">`fiscal_year_end_month`</span>     | integer | 1–12. Most entities use `12` (calendar year).                                                                                        |
| <span className="initial-bold--success">`expected_employee_count`</span>   | object  | Employees expected in the next 12 months, split by IRS category: `agricultural` (integer), `household` (integer), `other` (integer). |
| <span className="initial-bold--success">`principal_activity`</span>        | enum    | Business activity category (e.g., `finance_and_insurance`, `construction`, `retail`).                                                |
| <span className="initial-bold--success">`principal_activity_detail`</span> | string  | Description of principal products or services.                                                                                       |
| <span className="initial-bold--success">`has_previous_ein`</span>          | boolean | Whether the entity previously had an EIN.                                                                                            |

### Optional fields

| Field                                                              | Type    | Description                                                                  |
| ------------------------------------------------------------------ | ------- | ---------------------------------------------------------------------------- |
| <span className="initial-bold--success">`previous_ein`</span>      | string  | Required if `has_previous_ein` is `true`.                                    |
| <span className="initial-bold--success">`wage_date`</span>         | date    | Required if total expected employees is greater than 0.                      |
| <span className="initial-bold--success">`trade_name`</span>        | string  | DBA if different from legal name.                                            |
| <span className="initial-bold--success">`form_944_election`</span> | boolean | Elect annual filing (Form 944) if expected tax liability is \$1,000 or less. |
| <span className="initial-bold--success">`metadata`</span>          | object  | Your custom key/value pairs.                                                 |

### Example request

```json wrap JSON theme={null}
{
  "business_id": "987e6543-e21a-45b6-c789-012345678901",
  "responsible_party": {
    "user_id": "123e4567-e89b-12d3-a456-426614174000"
  },
  "reason": "started_new_business",
  "fiscal_year_end_month": 12,
  "expected_employee_count": {
    "agricultural": 0,
    "household": 0,
    "other": 5
  },
  "wage_date": "2026-07-01",
  "principal_activity": "finance_and_insurance",
  "principal_activity_detail": "Business compliance software",
  "has_previous_ein": false
}
```

## Track the filing

The EIN filing follows the same status lifecycle as all Comply filings:

```
queued → ready_to_file → processing → filed → completed
```

For bundled EIN filings, Palm holds the filing in `queued` until the parent formation reaches `completed`, then advances it to `ready_to_file`.

Check status at any time:

```bash wrap Bash theme={null}
GET /v1/filing/{filing_id}
```

Or filter the filings list:

```bash wrap Bash theme={null}
GET /v1/filing?type=ein&business_id={id}
```

## Handle information requests

If Palm needs additional information to complete the application — for example, to resolve an IRS name mismatch or supply a missing detail — it opens a **case** on the filing describing what's needed, and notifies you with a `case.opened` webhook. Respond via `POST /v1/case/{case_id}/response`.

See [Cases](/comply/cases) for the full lifecycle and field reference.

## Retrieve the result

When the filing reaches `completed`:

* **EIN** — Available on `filing.result.ein_number`.
* **Entity name** — Confirmed name on `filing.result.entity_name`.
* **Documents** — IRS confirmation letter (CP 575), downloadable from its `url` (see [Download a document](/api-reference/v1/documents/download-a-document)).

Palm also stores the EIN on the business record in the vault.

```json wrap JSON theme={null}
{
  "id": "fil_ein456",
  "object": "filing",
  "type": "ein",
  "status": "completed",
  "business_id": "biz_xyz789",
  "result": {
    "ein_number": "12-3456789",
    "entity_name": "Acme Holdings LLC"
  },
  "documents": [
    {
      "id": "doc_002",
      "object": "document",
      "type": "irs_confirmation_letter",
      "uploaded_at": "2026-06-05T10:15:00Z"
    }
  ]
}
```

## Next steps

<div className="grid lg:grid-cols-2 gap-6 mt-6">
  <PalmCard variant="navigation" title="Form a business" description="Bundle an EIN with a formation filing." icon={<Icon className={iconProps("navigation")} icon="arrow-right" />} href="/comply/form-a-business" />

  <PalmCard variant="navigation" title="Webhooks" description="Receive real-time status updates as filings progress." icon={<Icon className={iconProps("navigation")} icon="arrow-right" />} href="/developer-guide/webhooks" />

  <PalmCard variant="navigation" title="API Reference" description="Full reference for the EIN and filing endpoints." icon={<Icon className={iconProps("navigation")} icon="arrow-right" />} href="/api-reference/introduction" />
</div>
