# B2B Catalogs limitations

URL: https://docs.sparklayer.io/help/storefront/b2b-catalogs/limitations
Applies to: Shopify

B2B Catalogs limitations: variants and retail shoppers, grid and filter counts, the 250-variant limit, carts, permalinks, third-party apps and Liquid errors.

> **Quick summary**
>
> - B2B Catalogs hides products and variants in your Shopify theme, so a few Shopify behaviours can work around it. Check these before you rely on it to restrict access.
> - Variant rules for customer groups only apply to B2B customers, and are only guaranteed on products with 250 variants or fewer. Retail shoppers see every variant.
> - A customer can still buy a hidden product if it's already in their cart, or if they add it with an add-to-cart permalink.

## Limits at a glance

| Limitation | What happens |
| --- | --- |
| [Variants and retail shoppers](#variants-and-retail-shoppers) | Variant rules don't hide anything from retail shoppers, and Shopify can't hide a single variant from them. |
| [Variant count](#advanced-catalogs-variant-count) | Hiding and showing variants is only guaranteed on products with 250 variants or fewer. |
| [Collection grids, search and filter counts](#grids-search-and-filter-counts) | A hidden product can still take a place in a grid and count towards totals. |
| [Products already in a cart](#hidden-product-add-to-cart-caveats) | The product stays in the cart and the customer can check out. |
| [Add-to-cart permalinks](#hidden-product-add-to-cart-caveats) | Customers can still add a hidden product to their cart with a permalink. |
| [Third-party apps](#third-party-app-compatibility) | We can't guarantee compatibility with every app. |
| [Invalid Liquid syntax](#invalid-liquid-syntax) | B2B Catalogs can't change theme files that contain errors in their code (Liquid). |

## Variants and retail shoppers

Variant rules in the `sparklayer.settings` metafield only apply to signed-in B2B customers, by [customer group](https://docs.sparklayer.io/help/glossary.md#customer-group). They don't hide anything from retail shoppers or signed-out visitors, who see every variant your theme shows. Shopify can't hide a single variant of a product from them either: `b2b-only` and `b2c-only` tags work on whole products.

To sell a variant to B2B customers only, such as a 12-pack case of a bottle you also sell singly, make it a separate product and tag it `b2b-only`. For a worked example of ranges per customer group, see [Example: a product range for each customer group](https://docs.sparklayer.io/help/storefront/product-settings.md#example-a-product-range-for-each-customer-group).

## Collection grids, search and filter counts

B2B Catalogs hides products in your theme as each page loads, rather than removing them from Shopify's collection and search results. So:

- **A collection page can show gaps or fewer products per page.** A hidden product still takes its place in the grid, so a page of 24 can show fewer than 24.
- **Product counts and filter counts can include hidden products.** For example, "36 products" or a filter showing (12) can count products the customer can't see.

If counts matter, such as on a B2B-only store, keep B2B-only and retail products in separate collections.

## Products with more than 250 variants

[Catalogs per customer group](https://docs.sparklayer.io/help/storefront/b2b-catalogs/configuring-advanced-catalogs.md) only reliably hide and show variants on products with 250 variants or fewer. This is because of the way Shopify gives themes access to product variants.

## Hidden products in a cart

Hiding a product doesn't remove it from carts. If a product is already in a customer's cart before you hide it from them, it stays there and they can check out with it.

Customers can also still add a hidden product to their cart with an add-to-cart permalink (a link that adds a product to the cart directly).

## Third-party apps

There are a great many Shopify apps, so we can't guarantee B2B Catalogs works with every third-party app.

## Invalid Liquid syntax

B2B Catalogs can't change theme files that contain invalid Liquid syntax. Liquid is the code Shopify themes are written in, so this usually means a mistake in a recent edit to your theme's code.

If you see the error `invalid liquid syntax in file <file>` when you enable or disable B2B Catalogs on a theme, fix the syntax in the file it names, then try again.
