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

# Company name

> A free-form organization or business name element.

The `companyName` element renders a single labeled input for a business or organization name. It applies a basic format check (128-character cap, non-whitespace presence) and has no domain-specific pattern; it accepts legal entities, DBAs, and sole proprietors alike.

## Factory

```typescript theme={null}
overflow.companyName(options?: CompanyNameElementOptions): CompanyNameElement
```

## Example

```javascript theme={null}
const company = overflow.companyName({
  fields: { companyName: { label: 'Company (optional)' } },
});

company.on('onChange', ({ complete, value }) => {
  console.log(complete, value);
});

company.mount('#company');
```

## Options

| Key                                                                         | Type               | Default                                                       |
| --------------------------------------------------------------------------- | ------------------ | ------------------------------------------------------------- |
| `disabled`, `readOnly`, `id`, `ariaLabel`, `locale`, `required`, `validate` | shared             | see [reference](/payment-elements/elements/contact/reference) |
| `fields.companyName`                                                        | `BaseFieldOptions` | `{ label: 'Company' }`                                        |

`fields.companyName` accepts `label`, `placeholder`, `disabled`, `hidden`, `id`, `ariaLabel`.

## Value

```typescript theme={null}
type CompanyNameValue = string | null;
```

`null` until the shopper types a non-empty value.

## `FieldError.field`

Always `'companyName'`.

## Where it composes

* Inside Checkout under `contact.companyName` (between `fullName` and `phone`). Captures the shopper's employer as part of the contact record.
* Inside `billingAddress.fields.companyName` and `shippingAddress.fields.companyName`. Captures a company name tied to the address (for example, "ship to ACME's office").

The two placements are distinct on purpose. Configure both when both are needed.

## See also

* [Contact introduction](/payment-elements/elements/contact/introduction)
* [Contact reference](/payment-elements/elements/contact/reference)
