Customer groups, quantity breaks, quotes and pay-on-account checkout — the wholesale half of your store, in one plugin you own.
A one-time purchase — no subscription. Every feature, yours to keep, with free updates for the whole major version. 15-day money-back guarantee.
A shop selling to the public and to the trade is running two businesses through one catalogue. They share products, stock and a checkout, and agree on almost nothing else. Retail pays list and pays now. Trade pays a negotiated price, buys in tens, wants a quote before it commits, expects an invoice rather than a card form, and settles in thirty days.
The usual answer is a second WooCommerce install, or a pile of small plugins that each solve one edge and disagree at the seams. TradeDesk is the wholesale side in one piece: who a customer is, what they pay, what they see, how they buy and when they settle.
Everything starts with a group. A group carries a baseline discount, a percentage or a fixed amount off list, plus its own minimum order value, free shipping threshold, permitted payment and shipping methods, tax exemption, tax display, and whether it sees prices at all. Three are created on activation: Retail, Trade at twenty percent off, Distributor at thirty-five.
On top sit pricing rules. A rule targets a variation, a product, a category or everything, applies from a minimum quantity, and sets a fixed price, a percentage off or an amount off.
The resolution order, exactly, because it is what you will reason about when a price looks wrong:
Discounts are always calculated from the regular price, never the sale price, so a promotion cannot stack on a trade discount and quietly sell stock below cost. A trade customer also never pays more than a member of the public: if a public sale undercuts the trade price, the sale price wins. When a price still surprises you, the price debugger shows every candidate rule and which one won.
Most tiered-pricing plugins price each cart row independently. Add six of an item, then four more of it in a separate row, and you get ten units priced at the six-unit rate.
TradeDesk sums quantities per product across the whole basket first, then resolves the tier against that total. Ten is ten.
Alongside sit quantity rules, a minimum, a maximum and a step, per group, enforced on the quantity input, on add to cart and on cart update, so a case quantity of twelve cannot be broken rather than being rejected at the end.
A quote request starts from the cart or a product page, open to logged-in customers and to guests if you allow it. It captures the products, quantities and prices that applied at that moment, a snapshot on purpose, so nothing moves under either side’s feet while you talk.
In the admin you edit it line by line, quantities, unit prices, a note against any line, and add shipping, a discount, an expiry date and a message. Then you send it. The customer gets a token link that opens the quote without a login, because the buyer who approves it is frequently not the person with an account on your site.
An accepted quote converts to a real WooCommerce order at the agreed line prices, with the address copied across and tax exemption carried over. The pricing engine does not get a second opinion. Quotes expire once the date passes, and can be duplicated or printed.
This is the feature that closes wholesale deals. A trade buyer will not enter a card at checkout. They send a purchase order number and pay on terms, and a store that cannot accept that is not really open for trade.
TradeDesk adds a payment gateway that takes no money. It appears only for approved trade accounts, collects a purchase order number, and puts the order on the customer’s account, with their terms appended to the description so the checkout states what they agreed to.
Behind it is a ledger. Every order on account posts a charge with a due date derived from the account’s terms; money coming back posts a payment; a credit note cancels something billed; an adjustment handles opening balances and write-offs. The balance is the signed sum of those rows, and available credit is the limit minus it. Posting is idempotent per order, so an order flapping between processing and completed is never billed twice.
The limit is enforced before the order exists, not after. If the basket exceeds available credit the gateway declines with the actual figures, this order is $2,400, your limit is $5,000, your balance is $3,100, you have $1,900 available, rather than a generic refusal that generates a phone call. Invoices past their due date block further ordering until cleared. Both can be switched off.
Customers see their own statement in My Account, and emails fire when an account reaches its limit or an invoice goes overdue.
A shortcode puts a trade application form on any page: company, VAT number, registration number, phone, and the group applied for. Applications land in a queue with a count badge on the menu. Approve, reject with a reason, or suspend an account, each sends the appropriate email. Auto-approve is there for shops that would rather sort it out later.
Visibility is set per group. A product or category can be hidden from a group, or shown only to it, which is how trade-only lines and contract products work without a second store. Hidden products vanish from the catalogue, from search and from direct URLs, and cannot be added to a cart by anyone who guesses the ID. Prices can also be hidden from guests, and trade-only mode locks the whole storefront behind an approved account.
A sales rep is a WordPress role with accounts assigned to it. A rep sees only the orders belonging to their own accounts, so they can work in the admin without seeing the rest of the business. Orders are stamped with the owning rep, and a commission rate, set once, produces per-rep revenue, order count and commission for any date range, plus a leaderboard.
Wholesale Suite and B2BKing are both serious plugins and both do this job well. They are also sold as annual licences: you buy for a year, then buy again next year, for as long as you want updates and support. Over the life of a wholesale operation, and these relationships are measured in years rather than campaigns, that is the larger number. TradeDesk is bought once.
Shopify Plus is the other direction. Its B2B is genuinely well built, and it is a feature of a platform you rent: a monthly fee for as long as you trade, a catalogue you cannot query directly, a checkout you cannot fully change, and an exit that means a migration. A reasonable trade for some. A strange one for a store already running well on WooCommerce.
No live VAT or VIES lookup. Deliberately. TradeDesk makes no external requests, so it validates VAT numbers for format only: country prefix, length, permitted characters, and a modulus check on GB and XI numbers. That catches the typo, the missing prefix and the transposed digit. It cannot tell you the number belongs to that company, only a VIES or HMRC lookup does, and that is a job for whoever approves the account, once.
No EDI. No X12, no EDIFACT, no trading-partner integration. If your customers send purchase orders as EDI documents, you need a middleware layer.
No dropship routing. Orders are not split by supplier and forwarded onward. TradeDesk decides what a customer pays and how they settle; it does not decide who ships.
The block cart and block checkout are not supported. The storefront work here, tier tables, quote buttons, quantity rules, cart hints, the account gateway, is built on the shortcode cart and checkout, and the plugin declares that incompatibility rather than half-working. If you are on the block checkout, switch those two pages back to the shortcodes, or do not buy this yet.
TradeDesk and StockPilot are built to sit on the same site. With both active, TradeDesk’s quote editor reads StockPilot’s cost data and shows a live margin against every line as the price is typed, so a rep can see exactly what a discount costs before agreeing to it, and a line that has gone below cost is flagged rather than discovered at the end of the quarter. Trade orders are costed through the same ledger as retail ones, so the profit report covers the whole business, and pricing rules can be applied to every product from a given StockPilot supplier in one action.
We use cookies to enhance your browsing experience, analyse site traffic and assist our marketing. You can accept all, reject non-essential, or choose what to allow. See our privacy policy for details.
Essential for the site to function. Cannot be switched off.
Anonymous and identifiable analytics about how visitors use the site.
Used to build profiles and show relevant advertising across sites.
Remembers choices you make to personalise your experience.