Skip to content

Custom8 min

WooCommerce B2B: wholesale pricing for business customers

Wholesale pricing in a WooCommerce store is not a discount coupon, it is a set of rules: customer groups, prices behind login, minimum quantities, and verified company and VAT numbers. Part of it fits an off-the-shelf plugin, part is always code. Development at €40/h + VAT.

In short

  • Customer groups with a flat percentage usually fit an existing plugin
  • Contract pricing, quantity tiers and credit limits are code
  • Hiding every price drops products out of Google shopping results
  • Company and VAT number fields with a VIES check are needed by most EU stores
  • Rules are written down before the code, hours are estimated after that

When one price stops working for business customers

A single price list works while everyone buys for themselves. It breaks the day some buyers start buying to resell. A wholesaler needs a different price, different quantities and often different payment terms, and showing them the retail price means negotiating by email on every order.

At first this is handled by hand: a discount code, a separate invoice, a thread of messages. That works up to a few customers. At ten, the manual work costs more than the development, and mistakes cost the relationship.

Customer groups and price lists: what works without code

A lot is covered by WordPress roles together with a pricing plugin. You create a role for wholesalers, assign a percentage or a separate price list, and a logged in customer sees their prices. If your logic is „this group gets ten percent off everything“, no code is needed.

Plugins run out where your own rules begin:

  • a price agreed in a contract with one specific customer
  • different percentages per category for the same customer
  • prices that depend on the order total rather than the product
  • price lists that have to sync from an accounting system

Prices behind login: what it takes away from Google

Hiding prices has a cost. If a price is not visible without logging in, the product drops out of Google shopping results and partly out of search, because the structured data has nothing to show. Comparison sites lose your products too.

In practice the usual answer is a middle path: a public catalogue with retail prices, wholesale behind the login. Products stay visible in search, and a business customer sees their own price list once signed in. What exactly to hide is worth deciding from how much of your traffic comes from search.

Company number, VAT number and reverse charge

The standard WooCommerce checkout has no company number and no VAT number field. Almost every EU store selling to businesses adds them. This is where code starts: the fields have to be required for business customers only, reach the invoice, and reach the accounting system.

If you sell to other EU countries without VAT, a VIES check comes with it. The VAT number is verified during checkout and the answer is stored with the order, so the reverse charge can be justified later. The check also has to behave when VIES does not answer, because it goes down regularly.

Minimum quantities, case packs and payment on invoice

In wholesale, quantity is a rule rather than a choice. Usually you need a minimum order quantity or value, selling in case packs where a product is bought in twelves, and quantity tiers where the unit price drops above a hundred. WooCommerce does none of this out of the box.

The second part is payment. A business customer often does not pay by card up front: they want an invoice with terms and a credit limit. That means a payment method visible only to approved customers, and a rule for what happens when the limit is exceeded. That is a process, not a catalogue setting.

How much work this is and what to ask for in a quote

The work starts with writing down the rules, not with code. Until there is an answer to what counts as a business customer, how they are approved and which price applies to them, any estimate is a guess. Once the rules are written, it is visible which part fits existing plugins and which part gets written.

When asking for a quote, ask three things: what happens to prices in search, how a customer is approved, and who manages the price lists after launch. Our development is billed at 40 €/h, and we estimate the hours after a conversation about the rules. Get in touch.

End

FAQ.

Next article

Custom WooCommerce: calculators, rules, integrations