Documentation · Cartnorm B2B

Getting started

Cartnorm B2B is not on WordPress.org yet. These pages describe version 0.3.0, the version that will be published. Pro features are marked as planned.

Cartnorm B2B lets one WooCommerce shop sell to consumers and to businesses. Consumers keep seeing your normal prices. Business customers in a group see their own prices, net or gross, can be held to minimum orders and pack sizes, can request quotes and can apply for a wholesale account. EU businesses from other member states with a valid VAT ID buy without VAT, with the right legal note on the order.

Requirements

  • WordPress 6.4 or newer, PHP 7.4 or newer
  • WooCommerce 8.0 or newer (tested up to 11.2). The VAT ID field in the checkout block needs WooCommerce 8.9 or newer.
  • Block and classic cart and checkout both work. HPOS is supported.

1. Install and activate

Install WooCommerce first, then install and activate Cartnorm B2B. On activation the plugin creates two pages: a quote page (shortcode [cartnorm_b2b_quote]) and a wholesale registration page (shortcode [cartnorm_b2b_registration]). If a page with the shortcode already exists, it is used instead.

Nothing changes for your customers yet: until you create a group, everyone is a Retail customer and sees exactly your normal WooCommerce prices.

2. Enter your own VAT ID

Go to WooCommerce › Settings › B2B › VAT ID & display and enter your shop’s VAT ID under Your VAT ID, with the country prefix (for example DE123456789).

Cartnorm B2B sends it to VIES as the requester. VIES then returns a consultation number for every check, which is your proof for the tax office that you checked the customer’s number. Without your own VAT ID the checks still work, but you get no consultation number.

3. Create a customer group

Open WooCommerce › Settings › B2B › Customer groups & rules and click Add a B2B group. For each group you set:

  • Name (for example “Wholesale”) and an optional slug (cannot be changed later; retail is reserved),
  • Prices are shown excluding or including VAT,
  • an optional discount on all products and category discounts,
  • optional order rules (minimum order value, minimum number of items), request a quote and hidden prices.

The free plugin has up to 2 B2B groups besides Retail. See Groups and prices.

4. Add prices to products

In the product editor (General tab, or each variation) you find B2B prices: a fixed price per group and quantity prices (“from 10 pieces €7.00”). Minimum and maximum quantities and pack sizes are in the Inventory tab under Order quantities (B2B). All fields are optional: an empty field uses the group’s discount, or the normal price.

5. Put customers into the group

Two ways:

  • By hand: Users › Edit user › B2B (Cartnorm) › Customer group. Only staff who can manage WooCommerce or edit users can change this.
  • By application: business customers apply on the registration page and you approve them in Users › Pending wholesale, or let VIES approve them automatically. See Wholesale registration.

A customer can never choose their own group: not at registration, not at checkout, not in My Account.

6. Check the store mode and your cache

The default mode is Hybrid: consumers and guests see your normal prices, groups see theirs. If you sell only to businesses, read Store modes and caching first, including the legal note on net prices. Then run the self-test under Store mode & caching.

Test it

  1. Log in as a customer in your group and open a product: you see the group price (and “excl. VAT” for a net group).
  2. Add a VAT ID from another EU country at checkout, with a billing address in that country: the order is calculated with 0% VAT and the legal note appears.
  3. Open the same product in a private window: you see the normal price.

What the plugin does not do

Cartnorm B2B applies the general EU rules for business-to-business sales (Articles 138 and 196 of Directive 2006/112/EC). It is not tax advice. Triangular trade, goods that are not dispatched to another member state, special schemes and national special rules are not covered. Please confirm with your tax adviser how these rules apply to your business. The plugin does not create invoices; invoice plugins can read the VAT data from the order (see Developers).

Something unclear or missing? Write to [email protected].