> For the complete documentation index, see [llms.txt](https://help.dollarlabs.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.dollarlabs.io/dollarlabs-b2b-custom-pricing/troubleshooting.md).

# Troubleshooting

Symptom-first fixes for pricing, display, forms and imports.

Find your symptom. Most problems are one of three things: a tag that does not match, a theme block that was never added, or the price list being switched off.

## Check the cart and checkout first

Before anything else, add the product to a cart as the affected customer and look at the cart total.

<table><thead><tr><th width="290">Result</th><th>Where the problem is</th></tr></thead><tbody><tr><td>Cart is <strong>wrong</strong></td><td>Pricing, tags or rules. Start with "Pricing problems" below.</td></tr><tr><td>Cart is <strong>right</strong>, product page is wrong</td><td>Display only. Skip to "Display problems".</td></tr></tbody></table>

If a custom cart displays its own prices, also check Shopify checkout. A custom display can be wrong even when the checkout discount is correct.

## Pricing problems

### A tagged customer sees retail prices

{% hint style="info" %}
Check one customer in the app first. On the home page, open the setup guide (choose **Setup guide** at the top if it is hidden) → **Preview a customer's price**, choose the customer and the product, then choose **Preview price**. It uses the same rules as checkout. If the customer pays retail, it says why: the price list is off, the product has no price, the customer has none of your tags, or their column has no price for that product.
{% endhint %}

<figure><img src="https://2844543096-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcVBfwy7Yj4tU8TsxkHEr%2Fuploads%2Fgit-blob-d1dd71506b13bef65931a4fff1458c6050f5c5d5%2Fpreview-price-diagnosis-annotated.png?alt=media" alt="Warning banner from Preview price saying the customer pays the retail price, listing the customer&#x27;s tags, the price list&#x27;s columns and a Tag this customer in Shopify button."><figcaption><p>Preview price tells you why a customer pays retail; here the customer carries none of the price list's tags.</p></figcaption></figure>

In order of likelihood:

1. **Tag spelling.** Capital letters don't matter, but spelling and spaces do: `wholesale` and `wholesaler` are different tags. Open the customer in Shopify admin and compare their tag to your column header letter by letter.
2. **The price list is off.** On the home page, the **Price list** row shows **Live** or **Off**.
3. **No pricing on that variant.** A tag can have prices on some variants and not others. Find the variant in the grid and look at that tag's cell.
4. **The quantity does not reach the tier.** Check the quantity of the selected variant against its saved pricing tiers. [Payment and delivery rules](/dollarlabs-b2b-custom-pricing/price-list/payment-and-delivery-rules.md) hide checkout methods; they do not decide whether the customer receives a price.
5. **The customer is not signed in.** Customer-tag prices require a signed-in customer. Guests can still receive configured Default pricing.

### The price is wrong, but not retail

Check whether the customer has **another matching tag with pricing**. [The lowest effective price wins](/dollarlabs-b2b-custom-pricing/getting-started/how-pricing-works.md), so any other priced tag can undercut the one you were looking at.

Check every matching tag on the customer. If no customer column matches, check **Default** as the fallback; it does not compete with a matching customer column.

### Checkout rejects a quantity

A [case multiple](/dollarlabs-b2b-custom-pricing/getting-started/volume-tiers-and-case-multiples.md) is set and the quantity is not a multiple of it.

* To tell buyers before checkout, add the **Validation Message** block.
* To allow leftover units, use [loose unit pricing](/dollarlabs-b2b-custom-pricing/getting-started/progressive-case-multiples-and-loose-unit-pricing.md).

### Tiers are not kicking in

Check the tier's **minimum quantity** against the quantity of that variant in the cart. Tiers are per variant, so 6 of one size and 6 of another do not combine into 12.

### The wholesale customer also used a coupon

That is [discount combinations](/dollarlabs-b2b-custom-pricing/price-list/price-list-settings.md). Untick product and order discounts if wholesale pricing should stand alone.

{% hint style="info" %}
Combining works only when both discounts allow it. If you tick **Product discounts** or **Order discounts** in the price list settings, the coupon must also allow combining with product discounts, or the two still won't stack. See Shopify's [combining discounts](https://help.shopify.com/en/manual/discounts/discount-combinations).
{% endhint %}

## Display problems

*Cart is right, but pre-cart prices are wrong.*

{% hint style="info" %}
On the app home page, open **Theme blocks** next to the price list status. It shows each block as **Active** or **Not placed** on your published theme. It does not check an unpublished copy you are previewing.
{% endhint %}

<figure><img src="https://2844543096-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcVBfwy7Yj4tU8TsxkHEr%2Fuploads%2Fgit-blob-73741af467bcb0494e4d4c7d2e6f82ec8672627b%2Fhome-theme-blocks-annotated.png?alt=media" alt="Theme blocks popover listing Product page price, Volume tiers, Collection pricing and Order form as Active and Wholesale form as Not placed." width="572"><figcaption><p>If the cart is right but the storefront shows retail, check here which blocks are missing from your published theme.</p></figcaption></figure>

### The product page shows retail

The **Product Price** block is missing, or is on a different template than the product uses. See [Product page](/dollarlabs-b2b-custom-pricing/show-final-prices-on/product-page.md).

### Two prices show, or the price flickers

Your theme's own price is rendering alongside ours. Hide the theme's native price block.

If you migrated from another pricing app, look for its leftover theme code — see [removing Bold's theme code](/dollarlabs-b2b-custom-pricing/migrations/migrating-from-bold-custom-pricing.md#removing-bolds-theme-code).

### Collection pages show retail

The **Collection Pricing** app embed is not enabled. Everything else on that page depends on it. See [Collection page](/dollarlabs-b2b-custom-pricing/show-final-prices-on/collection-page.md).

<figure><img src="https://2844543096-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcVBfwy7Yj4tU8TsxkHEr%2Fuploads%2Fgit-blob-0c9515d1d6030f7c451015261eba99c0da47474c%2Fcollection-embed-controls-annotated.png?alt=media" alt="The two switches for Collection Pricing and automatic theme card rewriting"><figcaption><p>Check these on the theme you are actually previewing. A custom SDK integration may intentionally disable automatic rewriting.</p></figcaption></figure>

### Some collection cards update, others don't

Check whether **Rewrite theme product cards automatically** is enabled. Cards marked `data-custom-price` are deliberately excluded, as are editorial links that are not product cards. If a standard card is still missed, follow the [card markup and custom integration guidance](/dollarlabs-b2b-custom-pricing/show-final-prices-on/collection-page.md).

### The volume tier table is empty

Check the selected variant and the buyer’s applicable pricing. The table stays hidden when it has no displayable rows. For guests, **Hide price without login** shows the sign-in message; **Hide this block entirely when logged out** hides it instead. Turn off login hiding if guests should see applicable Default tiers. Settings saved in the app’s **Customize** page take precedence over theme-block fallbacks.

### A block is missing from the theme editor

* You are editing a different template than the one assigned to the product.
* You are editing a different theme than the one you are previewing.
* The theme is not Online Store 2.0 — contact support.

## Import problems

### The import ran but nothing changed

Number formatting. Values must be plain decimals — `9.50`, not `$9.50` or `9,50`. Anything unparseable is skipped rather than applied.

Spreadsheets add currency symbols and thousands separators on their own. Format pricing columns as plain text, and check the raw CSV in a text editor.

### The import wiped pricing

Blank cells **erase**. A file with tag columns present but empty clears those tags.

Restore from your last export. Always export, edit in place, and re-import.

### Tiers or case multiples disappeared

A bare number **replaces the whole cell**. Writing `9` over `1:10;12:9;c:12` leaves a flat price. Write the full cell string.

### Some rows failed

Open [Jobs & history](/dollarlabs-b2b-custom-pricing/price-list/jobs-and-history.md), download the error CSV, fix those rows, and re-import **only** them.

## Wholesale form problems

### Approved, but the customer still sees retail prices

The tag applied on approval does not match the price list column exactly. This is the most common form issue — see [Approvals & automations](/dollarlabs-b2b-custom-pricing/wholesale-forms/approvals-and-automations.md).

### No customer was created on approval

Check the email field marked **Use this email to create the customer account**, the submitted address, **Tags to add**, and **Skip customers who already have tags**. Customer creation is not a separate toggle. Check the submission and customer record before retrying; see [Approvals & automations](/dollarlabs-b2b-custom-pricing/wholesale-forms/approvals-and-automations.md).

### Conditional logic disappeared

The standard production editor does not provide the advanced flow builder. If you already use an advanced form, contact support before switching editors or resaving it. See [Conditional logic & multi-step](/dollarlabs-b2b-custom-pricing/wholesale-forms/conditional-logic-and-multi-step.md).

### The page says "Form not found or is disabled."

Wrong Form ID in the theme block, often with a trailing space. Re-copy it.

## Setup problems

### Setup never finishes

The initial catalog build can take several minutes on a large store. If it fails, use **Retry setup** on the home page. If retrying does not clear it, contact support rather than retrying repeatedly.

### An API call returns 409

Another job is running for your shop — often a merchant importing a CSV. Wait and retry. See [Pricing API](/dollarlabs-b2b-custom-pricing/developer-tools/api-for-bulk-update-pricing.md).

## Still stuck?

Contact us through in-app chat or <support@dollarlabs.io>. Include:

* your store URL
* the email of an affected customer, and their tags
* a product or variant that shows the problem
* whether the **cart** is right or wrong
* the job ID, for import problems

Include the checkout result too if your storefront uses a custom cart.
