# Orders & Checkout FAQs

#### Does CrushSuite handle tax calculations?

Partially. Here is how it splits:

* **State alcohol fees** (the per-bottle fees that vary by state) are calculated by CrushSuite and appear as a separate line item at checkout, for example "State Alcohol Fee × 3."
* **Standard sales tax** is calculated by Shopify's built-in tax system. You configure it yourself in your Shopify tax settings for each state where you sell.

CrushSuite and Shopify's tax system work together. Alcohol fees from us, plus sales tax from Shopify, equals your full tax collection.

One thing worth knowing up front: wine sales tax is based on where you are shipping the order to, not where your winery is located. If you are new to DTC, this catches people off guard. See the tax explainer article for a full breakdown.

***

#### How do state alcohol fees work at checkout?

State alcohol fees are calculated based on the customer's shipping state and the size of the wine bottles in their cart.

The base unit is a 750ml bottle, which equals one fee unit. Other sizes scale proportionally:

* 750ml bottle = 1 fee unit
* 1.5L bottle = 2 fee units
* 375ml bottle = 0.5 fee units

The fee appears at checkout as a separate product line item, not as a tax. For example, three 750ml bottles to a state with a $2.50 per-unit fee would show "State Alcohol Fee × 3 = $7.50."

You configure the fee amount per state in your CrushSuite settings. We can provide recommended defaults based on what we see across our client base.

<a href="/pages/MOqNNdruGXgnTNEwQ8lv" class="button secondary">Setting Up State Alcohol Fees</a>

***

#### Why did my customer's order fail to sync to Vinoshipper?

There are six common causes, in order of frequency:

1. **SKU mismatch.** The SKU on the Shopify product does not match the SKU on the matching Vinoshipper product. This is the number one cause. Fix: audit your SKUs and update to match. See the Matching SKUs guide for a full walkthrough.
2. **The product was added directly to Shopify, not synced from Vinoshipper.** CrushSuite only syncs orders for products that originated in Vinoshipper. Custom or manually-added Shopify products will not sync.
3. **Missing or invalid shipping address.** The customer did not provide a complete address, or the address failed validation.
4. **Address too long for the fulfillment system.** Some 3PLs have character limits on address lines. If a customer enters a very long address (multiple names, business name, and street all on one line), the downstream system can reject it.
5. **Recharge or subscription tag on the order.** Orders generated by Recharge or other subscription apps can behave differently. See the Product FAQs for more.
6. **Duplicate order ID.** If you are running two Shopify stores into one Vinoshipper account and both generated the same order number, Vinoshipper cannot distinguish them.

If none of these apply, send us the Shopify order number and we will investigate.

<a href="/pages/Lji9BLSKlOFp3wZ73L1h" class="button primary">Troubleshooting order sync failures</a>&#x20;

***

#### I placed a manual order in Shopify but it's still showing as unfulfilled. Why?

If the order was placed with a product that was synced from Vinoshipper, fulfillment status updates automatically once Vinoshipper ships the order.

If the order was placed with a custom product you added directly to Shopify (not synced from Vinoshipper), it will not auto-update. You need to manually mark it as fulfilled in Shopify once it ships.

A quick way to tell: if the product has Vinoshipper compliance data (ABV, volume, varietal), it is a synced product and fulfillment will auto-update. If it does not, it is a custom product.

***

#### How do I manually create a Vinoshipper order if the sync failed?

Sometimes an order will fail to sync and you need to create it directly in Vinoshipper. Here is the process:

1. Log in to Vinoshipper.
2. Click **Orders** and then **Create Order**.
3. Fill in all required fields including the full customer name, shipping address, and date of birth.
4. Add the products the customer purchased. Make sure quantities and prices match the Shopify order.
5. Save the order.

Once the order is in Vinoshipper, it will enter fulfillment normally. Shopify will not automatically know about it, so you should also mark the Shopify order as fulfilled manually to keep your records aligned.

If you are doing this more than occasionally, it is worth figuring out why orders are failing to sync in the first place. The Order Sync Failures article covers the common causes.

***

#### Why aren't my Shopify discounts showing up in Vinoshipper?

Discounts are calculated by Shopify at checkout, and the discounted totals are passed to Vinoshipper when the order syncs. In most cases this works fine.

The exception: some discount types (particularly automatic discounts and Shopify scripts) do not always translate cleanly into Vinoshipper's rate code structure. When that happens, you can end up with a pricing discrepancy between what the customer paid in Shopify and what Vinoshipper records.

If you are seeing consistent discrepancies, send us a few order numbers and we will audit and reconcile. This is a known behavior and we can help reconcile the affected orders.

***

#### How do I create a draft order?

Draft orders are useful for phone orders, in-person pickups, and any order you need to create manually. For a draft order to be compliant and successfully sync to Vinoshipper, the customer record needs to be set up correctly first.

Quick version:

1. **Set up the customer first.** In Shopify, go to Customers and add or edit the customer. Make sure their actual shipping address is entered, and scroll down to Metafields to add their Date of Birth. The DOB is required. The order will fail in Vinoshipper without it.
2. **Create the draft order.** In Shopify, go to Orders and create the draft order for that customer.
3. **Collect payment or mark as paid.** Payment has to be recorded before the order will sync.
4. **Verify in Vinoshipper.** Open Vinoshipper within a few minutes and confirm the order appeared correctly.

If you create a draft order and then send the customer an invoice link, the order will sync to Vinoshipper when the customer pays the invoice. That can catch people off guard if they expected payment collection to happen later. Plan for that sequence.

→ Creating Draft Orders (full guide)

***

#### Can I set the default shipping method customers see at checkout?

Yes, but you configure it in Vinoshipper, not CrushSuite. Shipping methods flow from Vinoshipper to Shopify, so whatever you have enabled in Vinoshipper is what your customers see at checkout.

If you only want to offer ground shipping (for example, to keep costs predictable or to offer a flat discounted rate), go into Vinoshipper and disable the other shipping methods. Once that is done, your CrushSuite app will sync the change and only ground will appear at checkout.

Most of our clients run ground only year-round, occasionally enabling 2-day in peak summer months to prevent spoilage. Expedited shipping is rare for wine because the fees are already high and customers generally expect multi-day delivery.

***

#### Can I offer free or flat-rate shipping above a threshold?

Yes. Two ways to handle it:

* **Option 1 (cleanest):** Configure your shipping rates in Vinoshipper to offer the flat rate you want. Disable the shipping methods you do not want to use. Your CrushSuite app will sync the updates to Shopify.
* **Option 2:** Use a Shopify discount to apply free shipping on orders over a threshold. This works but adds a layer of complexity because the discount is calculated in Shopify and the shipping rate comes from Vinoshipper.

Option 1 is what most of our clients do. It is simpler to reason about and easier for customers to understand at checkout.

***

#### Can CrushSuite route orders to different warehouses based on destination?

Not today. We send every order to a single Vinoshipper account, and Vinoshipper handles fulfillment routing from there.

If you are running a bicoastal setup with multiple fulfillment locations, the routing logic needs to live on the Vinoshipper side. Check with your Vinoshipper account manager about how to configure location-based routing within their platform.

We are watching this space and may add destination-based routing to CrushSuite in the future if the demand is there. If this is something you need, tell us. Client feedback shapes our roadmap.


---

# 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/faqs/orders-and-checkout-faqs.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.
