B2B price catalog also seems to set the compare_at_price to null when trying to retrieve with liquid code even though it’s set in Shopify on the variant
Topic summary
Merchants using Shopify’s B2B wholesale platform want to display the original retail/base price alongside discounted B2B prices when wholesale customers log in, helping buyers understand their discount and appropriate retail markup.
Core Challenge:
- B2B catalog pricing overrides standard product prices
- The
compare_at_pricefield returns null for B2B catalogs - No native Liquid variable exists to access the original “standard” price
Primary Workaround (Metafields):
Multiple users successfully implemented a metafield solution:
- Create a custom metafield (e.g., “MSRP”) in Shopify admin
- Populate MSRP values for products/variants
- Display using custom Liquid code:
{% if customer.b2b? %}{{ product.metafields.custom.msrp }}{% endif %}
One contributor shared enhanced code handling variant-specific MSRP values that update when variants are selected.
Alternative Solutions:
- CSV Import: Shopify now supports compare-at prices via catalog CSV export/import, though this requires manual price management rather than global rules
- Third-party Apps: Some merchants use apps like “OC Quality Breaks Order Limit” or “B2B Blocks” for automated discount display with strikethrough pricing
Remaining Issues:
- Variant-level pricing adds complexity
- Multiple discount tiers require additional customization
- Metafield approach requires ongoing manual maintenance
The discussion remains active with users seeking more native/automated solutions.