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

# QuickBooks Create Vendor

> Creates a vendor in QuickBooks Online and returns its id for bills and checks.

Creates one vendor record in the connected QuickBooks Online company with a single `POST /v3/company/{realmId}/vendor` and returns the new vendor's id. Display name **"QuickBooks Create Vendor"**. Off by default.

Use it after QuickBooks Lookup (`quickbooks_lookup_entity`) with `entity_type: Vendor` finds no match and the user wants the supplier added. Pass the returned id as `vendor_ref` to QuickBooks Create Bill or as the payee of QuickBooks Create Check. A client who pays the business is a customer: use [QuickBooks Create Customer](/docs/tools/quickbooks_create_customer) for that.

## Authentication and enablement

Enable the tool on the agent and connect a **QuickBooks Online** integration (OAuth). The access token and company (`realm_id`) are injected from the connection. With several companies connected, the per-company toggles on the tool decide which ones it may write to.

## Inputs

* `display_name`: **required.** The name shown in QuickBooks, up to 500 characters. Must be unique across every customer, vendor and employee in the company.
* `company_name`: legal company name, if different from the display name.
* `given_name`, `family_name`: when the vendor is a person.
* `email`, `phone`: primary contact details.
* `billing_address`: `line1`, `line2`, `city`, `state` (sent as QuickBooks `CountrySubDivisionCode`), `postal_code`, `country`.

## Output

`id`, `display_name`, `company_name`, `active`, `entity_type: "Vendor"`, `full_details` and `completed_at`.

## Limits and side effects

Creates exactly one vendor per successful call and never updates, merges or deactivates a record. No lookup runs first; QuickBooks rejects a duplicate name on its own.

## Expected errors

* `QuickBooks already has a customer, vendor or employee named "…"`: QuickBooks fault 6240. Nothing was created; look up the existing record and use its id.
* `display_name cannot be empty` / `display_name is longer than 500 characters` / `email "…" is not a valid email address`: validation, before any call.
* `access_token is required…`: no QuickBooks connection is bound to the agent.
* `failed to create vendor: quickbooks api error (HTTP …)`: any other QuickBooks fault, passed through verbatim.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.