> This page is for version v6.0 (default).
> For other versions, use one of these documentation indexes:
> - v6.0 (default): https://docs.zip.tax/v-6-0/llms.txt
> - v5.0: https://docs.zip.tax/v-5-0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.zip.tax/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.zip.tax/_mcp/server.

# Merchant Management Overview

Merchant Management lets platforms and SaaS businesses provision tax compliance
for their own customers. You create a merchant for each seller on your platform,
then manage that merchant's compliance through Ziptax instead of asking every
customer to set up tax tooling on their own.

Every merchant uses one of two compliance models. You choose the model at
creation time with the `merchantType` field on
[`POST /merchant/create`](/api-reference/merchant/create-merchant), and you can
move a merchant to the other model later with `setMerchantType` on
[`POST /merchant/update`](/api-reference/merchant/update-merchant).

## Two compliance models

**Self-managed** (`merchantType: "self-managed"`): the merchant is active the
moment you create it, with
no TaxCloud invite. Your platform tracks the merchant's nexus footprint on
Ziptax — [physical locations](nexus-management) and
[economic thresholds](economic-thresholds) — while the merchant remains
responsible for their own registration, filing, and remittance.

**TaxCloud-connected** (`merchantType: "taxcloud"`, the API default):
creation kicks off the TaxCloud invite process. The merchant sets up their own
TaxCloud account and connects it, and TaxCloud handles compliance end to end —
registration, filing, and remittance — in the merchant's own account, synced to
your platform.

|                                                           | Self-managed                                                             | TaxCloud-connected                                                                  |
| --------------------------------------------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------- |
| **API value**                                             | `merchantType: "self-managed"`                                           | `merchantType: "taxcloud"` (default)                                                |
| **Plan availability**                                     | Pro and Enterprise                                                       | Enterprise                                                                          |
| **Activation**                                            | Active immediately after creation; no invite sent                        | TaxCloud invite sent to `contactEmail`; active once the merchant connects           |
| **Status on reads**                                       | `external_compliance`                                                    | `taxcloud_invited` → `taxcloud_connected` (or `taxcloud_disconnected`)              |
| **Registration, filing, remittance**                      | The merchant handles their own                                           | TaxCloud handles all three in the merchant's account                                |
| **Nexus tracking**                                        | Your platform, on Ziptax ([Nexus Management](nexus-management))          | The merchant's TaxCloud account                                                     |
| **Cart tax calculation**                                  | [Calculated by Ziptax](self-managed-cart-calculation), stateless         | [Calculated by TaxCloud](cart), can become an order                                 |
| **Other [Merchant Transactions](transactions) endpoints** | Not available (`403`)                                                    | Available once connected with credentials on file                                   |
| **Switching models**                                      | `setMerchantType: "taxcloud"` sends the invite and converts to connected | `setMerchantType: "self-managed"` disconnects TaxCloud and converts to self-managed |

## Which model fits?

Start with **self-managed** if your merchants handle their own compliance, or
aren't ready for a full-service filing relationship. You get merchant records
and nexus tracking on Ziptax without any onboarding step for the merchant, plus
[cart tax calculation](self-managed-cart-calculation) at checkout, and you can
invite a self-managed merchant to TaxCloud later. The choice is not permanent:
either model can be switched to the other with `setMerchantType`.

Choose **TaxCloud-connected** to offer full-service compliance — TaxCloud
registers, files, and remits on the merchant's behalf — and to record orders,
exemption certificates, and refunds through the full
[Merchant Transactions](transactions) set. This model requires the Enterprise
plan.

## Merchant statuses

`merchantType` is **not returned** by `POST /merchant/get` or
`GET /merchant/list`. The `status` field is how you tell the two models apart
on reads, including after a `setMerchantType` change:

| Status                  | Model              | Meaning                                                                           |
| ----------------------- | ------------------ | --------------------------------------------------------------------------------- |
| `external_compliance`   | Self-managed       | Compliance is managed outside TaxCloud — what every self-managed merchant reports |
| `taxcloud_invited`      | TaxCloud-connected | TaxCloud invite sent, not yet accepted                                            |
| `taxcloud_connected`    | TaxCloud-connected | TaxCloud credentials set and active                                               |
| `taxcloud_disconnected` | TaxCloud-connected | Previously connected, credentials removed                                         |

## Available resources

#### [Self-Managed Merchants](self-managed-merchants)

Create merchants that are active immediately and handle their own
compliance.

#### [TaxCloud-Connected Merchants](taxcloud-connected-merchants)

Invite merchants to TaxCloud for full-service registration, filing, and
remittance.

#### [Nexus Management](nexus-management)

Track a self-managed merchant's physical locations and nexus footprint.

#### [Economic Thresholds](economic-thresholds)

Understand economic nexus and record the states where a merchant has
crossed a threshold.

#### [Self-Managed Cart Calculation](self-managed-cart-calculation)

Calculate cart tax for a self-managed merchant with Ziptax's own rate
engine.

#### [Merchant Transactions](transactions)

Calculate cart tax, record orders, manage exemption certificates, and issue
refunds for a connected merchant.

#### [Merchant API Endpoints](/api-reference/merchant/create-merchant)

Full request and response references for the Merchant endpoints.