Skip to content

Configuring Wholesale

This guide will walk you through the process of configuring the Wholesale plugin for your Botble E-commerce store.

Accessing Wholesale Settings

  1. Log in to your admin panel
  2. Navigate to Settings > Ecommerce > Wholesale
  3. You will see the Wholesale configuration page

Wholesale Settings

General Settings

Enable Wholesale System

Toggle to enable or disable the entire wholesale system without deactivating the plugin.

Default: Enabled

Usage Scenario

Disable temporarily during maintenance or when transitioning between retail and wholesale operations.

Require Approval for Wholesale Registration

Control whether wholesale applications require admin approval.

Options:

  • Enabled - Applications go to pending status, admin must approve
  • Disabled - Applications are auto-approved, customers get immediate access

Default: Enabled

Show Prices to Guest Users

Control whether non-logged-in users can see wholesale prices.

Options:

  • Enabled - Guest users see pricing tables on product pages
  • Disabled - Only logged-in wholesale customers see special prices

Default: Disabled

Security Consideration

Disabling this is recommended to keep wholesale pricing confidential.

Allow Multiple Customer Groups

Control whether a customer can be assigned to multiple groups simultaneously.

Options:

  • Enabled - Customer can belong to multiple groups (uses priority for conflict resolution)
  • Disabled - Customer can only belong to one group at a time

Default: Enabled

Discount Resolution Strategy

When a customer belongs to multiple groups, choose how to resolve conflicting discounts:

StrategyDescription
HighestApply the group with highest discount value
LowestApply the group with lowest discount value
PriorityUse the group with highest priority number

Default: Highest

Registration Settings

Registration Form Fields

Configure which fields are required in the wholesale application form:

FieldRequiredDescription
Company NameYesBusiness name
Tax IDOptionalBusiness tax identification
Business AddressYesPhysical business location
Phone NumberYesContact number
Business TypeOptionalIndustry category
WebsiteOptionalCompany website URL

Application Email Notifications

Configure email notifications for wholesale applications:

  • Customer Confirmation - Sent when application is submitted
  • Admin Notification - Alert admin of new applications
  • Approval Email - Sent when application is approved
  • Rejection Email - Sent when application is rejected

Display Settings

Visual Style

Choose how pricing tables are displayed on product pages:

StyleDescription
ModernContemporary design with gradient effects
MinimalClean, simple table layout
ClassicTraditional table styling
ElegantRefined presentation with subtle borders

Display Mode

Choose how much information to display in pricing tables:

ModeDescription
FullShows all pricing tiers with savings calculations
CompactCondensed view with essential information only

Show Savings Amount

Toggle to display the amount saved for each pricing tier.

Example with savings shown:

100+ units: $45.00 Save $5.00 (10%)

Example without savings:

100+ units: $45.00

Section Title

Set a custom title for the wholesale pricing section. If left empty, the default translation will be used.

Default: "Wholesale Pricing"

Examples:

  • "Volume Discounts"
  • "Bulk Pricing"
  • "B2B Pricing Tiers"

Customer Groups Configuration

Creating Customer Groups

When creating a customer group, configure:

FieldDescription
NameGroup identifier (e.g., "Gold Resellers", "Silver Partners")
DescriptionInternal notes about the group
StatusPublished (active) or Draft (inactive)
PriorityNumeric priority for conflict resolution (higher = higher priority)
Discount TypePercentage or Fixed Amount
Discount ValueAmount or percentage discount
Min Order QuantityMinimum items per order
Min Order ValueMinimum order subtotal

Group Priority System

Priority determines which group's settings apply when a customer belongs to multiple groups:

Example Priority Structure:

GroupPriorityDiscount
Platinum10025%
Gold7520%
Silver5015%
Bronze2510%

If a customer is in both Gold and Silver groups:

  • With "Priority" strategy → Gold applies (higher priority number)
  • With "Highest" strategy → Gold applies (higher discount)

Product Configuration

Setting Product MOQ

For individual products, you can set:

SettingDescription
Minimum QuantitySmallest order quantity allowed
Quantity IncrementMust order in multiples of this number
Customer GroupApply to specific group or all wholesale customers

Example:

  • Min Quantity: 12
  • Increment: 6
  • Valid orders: 12, 18, 24, 30...
  • Invalid orders: 13, 15, 20...

Product Visibility

Control product visibility in the admin product edit page:

VisibilityDescription
PublicVisible to all customers
Wholesale OnlyOnly visible to approved wholesale customers
HiddenNot visible in catalog (direct link only)

Product Group Access

Restrict products to specific customer groups:

  1. Edit a product in admin
  2. Go to "Wholesale Settings" section
  3. Select customer groups that can access this product
  4. Empty selection = all wholesale customers can access

Important

  • Product must have "Wholesale Only" visibility for group restrictions to apply
  • Public products ignore group access restrictions

Pricing Rules Configuration

Creating Tiered Pricing

For advanced quantity-based pricing, create pricing rules:

FieldDescription
ProductWhich product this rule applies to
Customer GroupWhich group gets this pricing
Min QuantityStarting quantity for this tier
Max QuantityEnding quantity (optional, leave empty for unlimited)
Discount TypePercentage, Fixed Amount, or Fixed Price
Discount ValueDiscount amount or final price
StatusPublished or Draft

Discount Types Explained

1. Percentage Discount

  • Reduces price by a percentage
  • Example: 10% off $50 = $45

2. Fixed Amount Discount

  • Reduces price by fixed dollar amount
  • Example: $5 off $50 = $45

3. Fixed Price

  • Sets absolute price regardless of original
  • Example: Fixed at $40 (even if original was $50 or $60)

Example Pricing Structure

Product: Widget (Original Price: $50)

QuantityDiscount TypeDiscount ValueFinal Price
1-49None-$50.00
50-99Percentage10%$45.00
100-499Percentage15%$42.50
500+Fixed Price$38$38.00

Testing Your Configuration

After configuring the plugin, test the following:

1. Customer Group Test

  1. Create a test customer group with 10% discount
  2. Create a test customer account
  3. Assign customer to the group in admin
  4. Log in as that customer
  5. Verify discounted prices appear on products

2. Pricing Rules Test

  1. Create a product with tiered pricing
  2. Add pricing rules for different quantities
  3. View product page as wholesale customer
  4. Verify pricing table displays correctly
  5. Add different quantities to cart and verify prices

3. MOQ Test

  1. Set MOQ on a product (e.g., min 10, increment 5)
  2. Try adding invalid quantities (e.g., 7, 12)
  3. System should adjust to valid quantity (10, 15)
  4. Verify validation messages appear

4. Visibility Test

  1. Set product to "Wholesale Only" visibility
  2. Log out (or use incognito)
  3. Verify product doesn't appear in catalog
  4. Log in as wholesale customer
  5. Verify product now appears

Permissions

Wholesale includes these permissions that can be assigned to user roles:

PermissionDescription
wholesale.customer-groups.indexAccess to Customer Groups menu
wholesale.customer-groups.createCreate new customer groups
wholesale.customer-groups.editEdit existing customer groups
wholesale.customer-groups.destroyDelete customer groups
wholesale.pricing-rules.indexAccess to Pricing Rules menu
wholesale.pricing-rules.createCreate new pricing rules
wholesale.pricing-rules.editEdit existing pricing rules
wholesale.pricing-rules.destroyDelete pricing rules
wholesale.applications.indexView wholesale applications
wholesale.applications.approveApprove/reject applications
wholesale.settingsAccess to settings page

Managing Permissions

  1. Go to Users > Roles
  2. Edit a role (e.g., "Staff", "Manager")
  3. Find the "Wholesale" section in permissions
  4. Check/uncheck permissions based on role requirements
  5. Save changes

Troubleshooting Configuration Issues

Settings Not Saving

  • Verify file permissions on storage/ directory
  • Clear cache: php artisan cache:clear
  • Check database connection
  • Review error logs

Prices Not Updating

  • Clear all caches (admin + browser)
  • Verify customer group status is "Published"
  • Check pricing rule status is "Published"
  • Ensure customer is assigned to group

MOQ Not Enforcing

  • Verify MOQ is set on the product
  • Check customer group assignment
  • Clear cart and try again
  • Check for JavaScript errors in console

Visibility Not Working

  • Verify product visibility setting
  • Check customer wholesale status
  • Clear browser cache
  • Test in incognito mode

Configuration Best Practices

1. Start Simple

  • Begin with one or two customer groups
  • Add basic percentage discounts
  • Test thoroughly before adding complexity
  • Gradually add tiered pricing and MOQ

2. Clear Group Names

  • Use descriptive names: "Gold Resellers - 20% Off"
  • Document each group's purpose
  • Make priority numbers logical (10, 20, 30...)

3. Reasonable MOQs

  • Set MOQs based on your packaging
  • Use increments that make business sense
  • Don't set MOQs too high initially
  • Monitor customer feedback

4. Test Thoroughly

  • Test all discount combinations
  • Verify email notifications work
  • Check mobile responsiveness
  • Test with real customer accounts

5. Monitor Performance

  • Track wholesale vs retail conversion
  • Monitor average order values by group
  • Review pricing rule effectiveness
  • Adjust based on data

Configuration Checklist

Use this checklist when setting up the plugin:

  • [ ] Enable wholesale system
  • [ ] Configure approval requirements
  • [ ] Set price visibility rules
  • [ ] Configure multiple groups setting
  • [ ] Set discount resolution strategy
  • [ ] Create customer groups
  • [ ] Set group priorities
  • [ ] Configure MOQ settings
  • [ ] Set product visibility rules
  • [ ] Create pricing rules
  • [ ] Configure email notifications
  • [ ] Set display style
  • [ ] Configure admin permissions
  • [ ] Test customer registration
  • [ ] Test pricing calculations
  • [ ] Test MOQ enforcement
  • [ ] Verify email notifications

If you continue to encounter configuration issues, please refer to the Troubleshooting section or contact our support team.