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.
Retail and B2B groups
Retail is built in. Guests and every customer who is not in a B2B group are Retail customers and see exactly your normal WooCommerce prices. Retail cannot be deleted, and its slug retail is reserved.
B2B groups are created in WooCommerce › Settings › B2B › Customer groups & rules. The free plugin allows up to 2 groups (for example “Wholesale” and “Dealer”). Cartnorm B2B Pro (planned) removes the limit.
Deleting a group turns its customers into Retail customers. Their account and orders stay.
Who can change a customer’s group
Only users who can manage WooCommerce or edit users, in Users › Edit user › B2B (Cartnorm). The plugin never reads a group from a registration, checkout or account form. Approved wholesale applications join the group chosen under Wholesale registration › Approved customers join.
Where a price comes from
For a customer in a group, the price of a product is found in this order:
- A fixed price for the group on the product. Simple products and every single variation have their own field.
- A category discount of the group. Subcategories are included. If a product is in several categories, the largest discount wins. A category discount of 0% excludes that category from the group discount.
- The group’s discount on all products (off the regular price).
- The normal price.
A group price is never higher than the current normal or sale price. If the result would be higher (for example during a sale), the customer pays the normal or sale price. Developers can change this with the filter cartnorm_b2b_never_above_retail.
Group prices are entered the same way as your normal WooCommerce prices, with or without VAT as set in WooCommerce › Settings › Tax. Your stored product prices are never changed: Cartnorm B2B only changes the price shown to and charged from group members.
Quantity prices
In the product editor, under B2B prices, add quantity prices per group: From quantity and a price, for example from 10 pieces €7.00, from 50 pieces €6.00.
- The quantity is the total quantity of the same product (or the same variation) in the cart.
- A quantity price is used only when it is lower than the customer’s group price.
- Quantity prices are applied in the cart, the mini cart, the classic cart and checkout and the cart and checkout blocks.
- With Show quantity prices on the product page (VAT ID & display tab, on by default) a small table shows the steps.
Variable products: each variation has its own group price and quantity prices.
Net or gross display per group
Each group has the setting Prices are shown: excluding VAT / including VAT.
- Excluding VAT: shop, product and cart prices are shown without VAT, followed by a clear suffix (default “excl. VAT”; change it under Suffix for prices excluding VAT). With Germanized active, Germanized’s own VAT notice is used instead of the suffix.
- Including VAT: prices are shown like your normal prices.
Only the display changes. VAT is calculated as usual, and 0% VAT for EU businesses is decided separately, from the VAT ID (see EU VAT and VIES). Retail customers always see your store settings.
Unit prices (price per kg, l …)
- With Germanized: the unit price of group members is recalculated from their group price, and Germanized’s “incl. / excl. VAT” notice follows the group’s net or gross display.
- With German Market: not yet tested. Unit prices that German Market calculates automatically from the product price follow the group price; unit prices you entered by hand there are not recalculated.
- Without either: turn on Store mode & caching › Unit price › Show unit prices. Products then get the fields Unit price: unit, Unit price per (reference amount) and Content of the product, and a line such as “€7.00 / 1 kg” is shown under the price, calculated from the price each customer sees. This option is switched off automatically when Germanized or German Market is active.
Orders you create in wp-admin
When you create or edit an order in WooCommerce › Orders for a customer in a group, added items get the customer’s group price, including quantity prices. Recalculate re-prices lines that still have the normal price, for example when you added items before choosing the customer. Prices you changed by hand are kept.
Multi-currency (WPML)
With WooCommerce Multilingual, fixed group prices and quantity prices follow WCML’s exchange rates in other currencies, and the price fields are copied to translations of a product. Discounts in percent work in every currency.
Something unclear or missing? Write to [email protected].