The B2B Wholesale Pricing feature automatically displays negotiated wholesale pricing for logged-in business customers, showing "Your Price" badges with discounts and customer-specific rates.
What It Does
When business customers log in or arrive via PunchOut, the widget automatically:
- Detects the customer ID
- Fetches their specific price list from Shopify B2B API
- Displays "Your Price" with negotiated rates
- Shows discount amount and savings
- Applies pricing across all products
Benefits
For Your Customers
- See their prices immediately - No need to call for quotes
- Transparent pricing - Clear discount amounts
- Self-service shopping - Order at their convenience
- Confidence to purchase - Know they're getting their negotiated rate
- Streamlined procurement - PunchOut integration for enterprise buyers
For Your Business
- Support B2B and B2C - One platform for all customers
- Automate pricing - No manual quote generation
- Increase B2B conversions - Clear pricing reduces friction
- Scale wholesale operations - Handle more customers efficiently
- Integration with procurement - Connect to SAP Ariba, Coupa, etc.
Requirements
- Feature purchase: B2B wholesale features in Weevio Cloud
- Shopify B2B: Price lists configured in Shopify
- API setup: B2B wholesale API key configured
- Customer setup: Customers assigned to price lists
Configuration
Backend Setup
In Weevio Cloud:
- Navigate to Integrations > Shopify
- Configure B2B wholesale API key
- Set up fromIdentity prefixes (for PunchOut)
- Test API connection
In Shopify:
- Set up B2B price lists
- Assign customers to price lists
- Configure wholesale pricing tiers
- Tag customers for PunchOut (if using)
Widget Configuration
window.weevioWidgetConfig = {
// ... other config ...
// Enable B2B pricing for logged-in customers
customerId: '{{ customer.id | json }}',
};
This Liquid code automatically passes the customer ID when they're logged in.
Customer Experience
Logged-In B2B Customers
- Customer logs into Shopify store
- Navigates to product page
- Widget detects customer ID
- Fetches customer price list
- Displays "Your Price" automatically
Price Display
Standard Display:
Your Price: $89.99
Regular Price: $99.99 (Save $10.00 - 10% off)
Variant Pricing:
Standard Size: Your Price $89.99 (Save $10)
Large Size: Your Price $99.99 (Save $15)
Public vs. B2B View
Public Customer sees:
- Regular retail price
- Standard discount badges
- General availability
B2B Customer sees:
- "Your Price" badge
- Wholesale rate
- Savings amount
- Customer-specific messaging
PunchOut Integration
What is PunchOut?
PunchOut allows business customers to shop from procurement systems (SAP Ariba, Coupa) without logging into your store. The system passes a fromIdentity parameter that the widget uses to identify the customer.
How It Works
┌─────────────────┐
│ SAP Ariba │
│ (Procurement) │
└────────┬────────┘
│ Customer clicks "Shop Now"
│
▼
┌─────────────────────────────────────────┐
│ https://your-store.com/products/item │
│ ?fromIdentity=AN01234567890 │
└────────┬────────────────────────────────┘
│ Widget captures fromIdentity
│
▼
┌─────────────────────────────────────────┐
│ Widget resolves to Shopify customer ID │
│ Displays customer-specific pricing │
└─────────────────────────────────────────┘
Supported PunchOut Systems
- SAP Ariba
- Coupa
- Oracle iProcurement
- Jaggaer
- Any system supporting URL-based PunchOut
FromIdentity Formats
Supported formats (case-insensitive):
PunchOut Buyer:[ID]orPunchOut_Buyer:[ID]SAP Ariba Buyer:[ID]orSAP_Ariba_Buyer:[ID]Ariba Buyer:[ID]orAriba_Buyer:[ID]
Example:
?fromIdentity=AN01234567890
Learn more: PunchOut Commerce Documentation
Price List Setup
Creating Price Lists in Shopify
- Navigate to Customers > B2B
- Create price list (e.g., "Wholesale Tier 1")
- Set pricing rules:
- Percentage discounts (e.g., 10% off)
- Fixed prices per product
- Volume-based pricing
- Assign customers to price list
Pricing Strategies
Tiered Pricing:
- Tier 1: 10% off (small businesses)
- Tier 2: 15% off (medium businesses)
- Tier 3: 20% off (enterprise customers)
Custom Pricing:
- Negotiated rates per customer
- Contract-based pricing
- Volume discounts
Hybrid:
- Base wholesale rate for all B2B
- Special pricing for top customers
- Volume triggers for additional discounts
Customer Management
Assigning Customers to Price Lists
In Shopify:
- Go to Customers
- Select customer
- Assign to B2B company
- Choose price list
- Save
Bulk Assignment:
- Use Shopify CSV import
- Tag-based automation
- API-based assignment
Customer Tags for PunchOut
For PunchOut customers:
- Create customer record in Shopify
- Add tag matching fromIdentity format
- Example:
SAP Ariba Buyer:ACME_CORP_12345 - Assign to appropriate price list
Use Cases
Wholesale Distribution
Setup:
- Multiple price tiers (Retailer, Distributor, Preferred)
- Volume-based discounts
- Contract pricing for large customers
Result: Automated pricing for hundreds of B2B customers.
Manufacturer Direct Sales
Setup:
- MSRP for public
- Dealer pricing for resellers
- Special pricing for distributors
Result: Support all customer types on one platform.
Enterprise Procurement
Setup:
- PunchOut integration
- Contract-based pricing
- Approval workflows
Result: Seamless procurement for enterprise buyers.
Security
Data Protection
- Customer IDs never exposed to frontend
- API calls authenticated
- Pricing data encrypted in transit
- Session-based caching
FromIdentity Validation
- Input sanitization
- Format validation
- 50 character limit
- Alphanumeric + limited special chars only
Session Management
- 12-hour expiration
- Browser session storage (not persistent)
- Clears on browser close
- Can be manually cleared
Troubleshooting
Pricing Not Showing
Check:
- Customer is logged in:
{{ customer.id | json }}configured - B2B API key set in Weevio Cloud
- Customer assigned to price list
- Price list has pricing configured
Wrong Prices Displayed
Check:
- Customer assigned to correct price list
- Price list updated in Shopify
- Cache cleared (may take 30 seconds)
- No errors in browser console
PunchOut Not Working
Check:
- fromIdentity format matches approved prefixes
- Customer tag matches fromIdentity exactly
- Customer exists in Shopify
- Customer assigned to price list
"Your Price" Badge Not Appearing
Check:
- Pricing differs from retail price
- Widget configuration correct
- Customer authenticated properly
- B2B feature purchased
See the Troubleshooting Guide for more solutions.
Best Practices
Pricing Strategy
- Clear tiers - Define pricing levels clearly
- Regular review - Update pricing periodically
- Competitive rates - Monitor market pricing
- Volume incentives - Encourage larger orders
Customer Experience
- Self-service - Let customers see prices without calling
- Transparency - Show savings clearly
- Easy ordering - Streamline purchase process
- Support - Provide help for pricing questions
Technical
- Test thoroughly - Verify all price lists work
- Monitor performance - Check API response times
- Cache appropriately - Balance freshness and speed
- Error handling - Graceful fallbacks for API issues
Performance
Optimized for speed:
- API caching - 30-second cache for price lists
- Session storage - Reduces repeated API calls
- Lazy loading - Prices load after page render
- Fallback - Shows retail price if B2B unavailable
Typical performance:
- Logged-in customer: 200-400ms to display B2B price
- PunchOut customer: 400-600ms (includes resolution)
- Cached:
<50ms
Analytics
Track B2B performance:
- B2B customer conversion rates
- Average order value (B2B vs. B2C)
- Most popular price tiers
- PunchOut session analytics
- Revenue by customer segment
Next Steps
Need Help?
Questions about B2B pricing?
- Review Configuration Guide
- Check PunchOut Documentation
- Contact Weevio support for price list setup
Need Help?
For assistance, please send a message to our Support page.