# Connecting Your Vinoshipper Account

CrushSuite Compliance integrates with Vinoshipper to handle wine-specific compliance, licensing, and fulfillment. Once connected, your products, orders, inventory, and compliance data sync bidirectionally between Vinoshipper and Shopify through CrushSuite.

***

### Prerequisites

* An **active Vinoshipper merchant account** at [vinoshipper.com](https://vinoshipper.com)
* Your Vinoshipper **API Key** and **Secret Key** (we'll generate these below)

***

### Step 1: Generate API Keys in Vinoshipper

1. Log in to your Vinoshipper merchant account at [vinoshipper.com](https://vinoshipper.com).
2. Click **Account** in the top navigation bar.
3. Select **Integrations** from the menu.
4. Click **Create New Key** to generate a new API key pair.
5. Copy both the **API Key** and the **Secret Key**. You'll need both in the next step.

> 📸 **Screenshot:** Vinoshipper Account → Integrations page showing the "Create New Key" button and the generated API Key / Secret Key fields

{% hint style="warning" %}
**Keep your API keys secure.** These keys provide access to your Vinoshipper account data. Do not share them with anyone who shouldn't have access to your compliance and order information.
{% endhint %}

***

### Step 2: Enter API Keys in CrushSuite

1. Open the **CrushSuite app** in your Shopify Admin.
2. If you're in the onboarding wizard, this step is presented automatically. Otherwise, navigate to **Integrations** in the CrushSuite sidebar.
3. Paste your **API Key** into the API Key field.
4. Paste your **Secret Key** into the Secret Key field.
5. Click **Test Connection** to verify the credentials.
6. Confirm the connection status shows **"Connected"**.

<figure><img src="/files/pGgvb2dWOjmOgSeU6JOS" alt=""><figcaption></figcaption></figure>

***

### What Happens After Connection

Once your Vinoshipper account is connected, CrushSuite begins syncing your data:

* **Products** — Your Vinoshipper product catalog imports into Shopify with compliance data (ABV, volume, varietal, vintage) mapped automatically
* **Compliance rules** — State shipping permissions, quantity limits, and restrictions sync from your Vinoshipper configuration
* **Inventory** — Stock levels sync bidirectionally between Vinoshipper and Shopify
* **Orders** — Future Shopify orders route to Vinoshipper for fulfillment automatically
* **Customers** — Customer data (including age verification) syncs for compliance purposes

The initial sync may take a few minutes depending on your catalog size. After that, CrushSuite syncs automatically once every 24 hours and immediately after each purchase.

***

### Troubleshooting

**"Invalid credentials" error** Double-check that you copied both the API Key and Secret Key correctly from Vinoshipper. Regenerate the keys if needed — creating a new key pair in Vinoshipper doesn't invalidate existing connections.

**"Connection timeout" error** This usually means Vinoshipper's servers are temporarily slow. Wait a minute and try again. If the problem persists, check [Vinoshipper's status page](https://vinoshipper.com) or [contact CrushSuite support](https://crushsuite.com/contact).

**"Account not found" error** Verify that your Vinoshipper account is active and in good standing. Log in to Vinoshipper directly to confirm your account status.

***

### Don't Use Vinoshipper?

If you manage your own compliance, licensing, and fulfillment, you don't need to connect a Vinoshipper account. See → Self-Compliance Setup

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://crushsuite.gitbook.io/docs/compliance/getting-started/connecting-your-vinoshipper-account.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
