Blog · 13 Oct 2026

Selling to trade and the public from one shop

When trade enquiries start arriving, you don't need a second store: a customer group, a VAT display override and pay-by-invoice let one shop serve both businesses and the public.

It usually starts with one email. A café wants your mugs. A gift shop wants a dozen prints for the run-up to Christmas. A florist down the road asks if you do trade prices.

It's a good problem to have. It also raises questions your shop wasn't built to answer. What do they pay? Do they see VAT? Do they really have to put a card in at checkout like everyone else?

Why a second store is the wrong answer

The obvious fix is a separate wholesale shop. Copy the catalogue, change the prices, hand out the link.

That works for about a week. After that you have two catalogues to keep in step, and two stock counts that both think they own the same twenty mugs. Every product edit happens twice. Every new photo goes up twice. When a trade order and a retail order land on the same afternoon, you only find out you've oversold when you go to pack them.

For a small maker, stock is the real problem. There's one shelf of finished work, and both kinds of customer are buying from it. In Taberno, stock counts down as orders come in. That only helps if every order goes through the same shop.

So it's better to keep one shop and treat trade buyers as a different kind of customer. That needs three things.

Customer groups: one trade discount, not a second price list

The first is a customer group. You put a buyer into a Trade or Wholesale group and give the group a store-wide discount. That discount comes off what they pay at checkout.

That's all of it. Your products keep one price, and the trade customer sees and pays the discounted one. Every order builds up a customer record under Customers, and group membership is part of that record. You can see at a glance who's trade and who isn't.

One limit to be clear about: this is one discount across the whole store, not a separate price for each product. If your trade terms are "a set percentage off everything", which is how a lot of small makers start, it fits. If you've negotiated a different margin on every item, it won't express that.

Trade discounts are separate from promotions. Discount codes and automatic offers like spend thresholds or buy-one-get-one live under Promotions and are aimed at everyone. The group discount belongs to the buyer, so they don't need a code or a special link. They sign in and they get their price.

Ex-VAT for trade buyers, inc-VAT for everyone else

The second thing is how prices are shown.

Members of the public expect to see the price they'll actually pay, so they see VAT included. Businesses usually think in ex-VAT figures, because that's the number that matters to them. If a trade buyer sees inc-VAT prices, they're doing sums in their head on every product page.

In Taberno, you set tax rates per region under Tax, and they're applied at checkout. Whether prices display inclusive or exclusive of tax is a setting, not a theme edit. A customer group can override that setting. So your trade group can see ex-VAT prices while the rest of the shop carries on showing inc-VAT, from the same catalogue.

Only the display changes. The tax calculation at checkout still follows the rates you've set.

Pay by invoice: placed unpaid, stock reserved, settled later

The third thing matters most for keeping trade customers happy. Businesses often don't want to pay up front by card. They want an invoice and a few weeks to pay it.

Pay by invoice lets groups you've approved check out without a card. Here's what happens to the order:

  1. The order is placed unpaid. It goes through checkout like any other order, but no payment is taken.
  2. Stock is reserved. The items are held for that order straight away. Another shopper can't buy the last ones while you wait for the money.
  3. An invoice email goes out. It carries a due date based on the net terms you've set.
  4. It waits in the admin until you mark it paid. When the bank transfer arrives, you mark the order paid and carry on.

Step 2 is the reason to do this inside the shop rather than by email and spreadsheet. If you take a trade order by email and raise an invoice by hand, nothing tells your storefront the stock has gone. Placing it as a real order keeps the stock count honest.

From there, a trade order is just an order. You can fulfil it, add a tracking number and refund it like any other. When your accountant asks what's outstanding, you can export orders as CSV.

What to set up and test before your first trade order

Here's what I'd do, in order, before telling a business they can order:

That's an afternoon's work at most. After that you can reply to the café with a login and your terms, without building a second shop.


All of this is built into Taberno, on both plans. You can try the hosted version free for seven days without a card. Or, since it's MIT-licensed open source, you can run it on your own machine.