E-commerce and business

B2B store: six things a retail shop does not have

A wholesale store looks like a retail one with different prices, yet it diverges in six places: customer groups, pack multiplicity, list ordering, invoices, exchange with the accounting system and catalogue picking. Plus what measuring seven wholesale catalogues on 31 July 2026 showed.

September 4, 2026
9 min read

From the outside a wholesale store barely differs from a retail one: the same catalogue, the same product cards, a «buy» button. The difference starts right after that button. The price depends on who logged in. The quantity is limited by the case. The order is closed with an invoice rather than a receipt. And the catalogue is browsed not by a shopper making up their mind, but by a buyer who already knows the part number.

On 31 July 2026 we measured seven wholesale catalogues — from 1,656 URLs in the medical one to 13,590 in the underwear one. Below are six places where B2B logic diverges from retail, and what the measurements found inside.

The price depends on who logged in

In retail there is one price for everyone, and that is the simplest part of a store. In wholesale the same product has several: a base price for a walk-in visitor, a dealer price, a separate one for a key account that takes volume every month. As long as this lives in Excel, it lives badly: the file was forwarded, the price went stale, the client argues, and the manager digs for the version of the price list sent last time.

On OpenCart this is a built-in mechanism — customer groups and price tiers. The client logs in and sees their own column, a retail visitor sees the base one. There is a single source of prices, and it is updated by a price list import, not by correspondence.

The other half of this point is registration. Wholesale prices are not shown to a random visitor, so the registration form does not grant access by itself: the request goes to moderation and a manager confirms this is really a buyer. It gets hard where the price depends on the group, the order volume and the product category at the same time. That is already separate pricing logic, described in the specification and checked combination by combination.

The quantity is limited by the case

A retail customer takes one unit. A wholesale customer takes a case of twelve, a pallet or a minimum batch — and any order for seven units goes back to a manager for manual approval. That is the most expensive way of taking orders there is.

Pack multiplicity is set at product level, and the cart refuses a quantity that is not a multiple of it. The same goes for the minimum batch and the minimum order value. A detail that is easy to miss and expensive to fix later: the button has to explain why it is disabled. A «place order» that does nothing reads as a broken site; «add 4 more — this item ships in cases of 12» reads as a rule.

In one of the measured catalogues — a wholesale building materials store with 3,145 items — there is also calculation by pallets and volume: the selling unit does not match the storage unit, and the coefficient belongs in the system rather than in the manager's head.

Orders are typed as a list, not clicked together

A buyer arrives with a ready list: thirty part numbers and quantities. The retail scenario — find the item, open the card, add to cart, go back — turns into half an hour of clicking on thirty positions. That is why wholesale needs a quick order form: part number and quantity, pasted as a list, with the cart assembled in one move.

The second half of the same thing is repeating a previous order from the account area. The client opens the last order, removes what is not needed, adds something new and checks out. There is an honest limit here: an account area only makes sense where people actually come back. If your client orders once a quarter, it will sit empty — and that is around seven working days of work. You know your repeat-order frequency, we do not, and it is what decides whether this is worth building.

Payment is closed with a document

A retail customer needs a receipt. A company needs a document: an invoice with a number and full legal details, a bank transfer to an IBAN, different terms for a sole trader and for a VAT payer. If a manager produces all of that by hand in the accounting system, every order costs several minutes of someone else's time.

An invoice generated from the order itself is the simplest mechanism that removes the most routine: details, number, line items and totals are filled in automatically. In the measured catalogues this kind of payment is the norm. The wholesale underwear store has eight payment methods, an invoice among them, and they are exposed both in the page text and in the structured data. The B2B catalogue of industrial sewing machine parts offers a VAT-free bank transfer to a sole trader account and payment after collecting the goods at the carrier's warehouse.

The list of documents the site closes instead of a manager is one of the two things that define the scope of work. The other is the number of price tiers. How a figure is built from those two numbers is covered separately: how much an online store costs.

Prices and stock are driven by the accounting system

In wholesale, selling something that is not in stock costs more than it does in retail: the client took the item to resell, promised it to their own customer, and it never arrived. So stock levels on the site have to come from the database instead of being updated by hand.

A one-way price list import is the basic part of the work: prices and stock are refreshed on a schedule you set. Two-way exchange with 1C or BAS is separate work of about ten working days, because synchronisation runs both ways: stock and prices to the site, order statuses back into the database. It starts not with a verbal description but with a real export file — the description and the actual contents of a database diverge almost every time.

One limit worth naming straight away: synchronisation cannot be verified from the outside. We can measure someone's catalogue and speed, but not whether stock levels really arrive there every night.

The catalogue is built for picking, not for browsing

A retail catalogue walks a person from a category to a product. A wholesale one has to bring them to the exact item in as few steps as possible, and the scenarios differ by niche.

In the wholesale underwear store it is selection by sizes and colours inside a model: the buyer assembles the range on one product card instead of walking through forty pages. That catalogue holds 13,428 product pages. In the sewing machine parts catalogue it is finding a part by code or by equipment model, because a mistake in selection costs production downtime. At the building materials supplier it is calculation by volume and pallets. In the B2B catalogue of chocolate production equipment with 106 items there is no cart at all: there is a quotation request form, because a tempering machine is not bought in one click.

The same section covers what happens after checkout: delivery tariff zoning, where delivery to the next district and delivery to a village sixty kilometres off the highway cost you differently, and split shipments, where part of the order is with you and part is at a supplier's warehouse.

What seven measured wholesale catalogues showed

The measurements of 31 July 2026 produced a few observations you cannot get from a project description.

Size alone does not make a site slow. The first server response on catalogues from 1.6 to 13.6 thousand URLs ranged from 289 to 576.8 milliseconds. The fastest response belonged to the largest catalogue.

A tidy sitemap is a minority habit. The underwear one has 13,590 URLs and exactly one duplicate — 0.007%. Next to it in the sample sits a cosmetics catalogue where an old sitemap still lives in parallel: 7,782 entries for 2,755 unique URLs, and not a single URL of the second language version in it. The bilingual version exists, and for search it does not.

Analytics dies quietly. In a B2B catalogue with 1,848 items the code still carries Universal Analytics and there is no GA4 property at all. Data has not been collected since July 2023, and the owner does not know, because the site itself works.

Page weight does not follow catalogue size. The heaviest document in the sample is 751.2 KB on the home page of a store with 13 thousand items; a catalogue with 1,848 items serves 120.2 KB. The difference is in how the page is built, not in how much product it holds.

What a wholesale store will not do

It will not replace the manager. Agreeing on a batch, deferred payment, a disputed price, a defect claim — those stay with people. The site removes the routine: the invoice, the repeat order, stock levels, order status.

It will not pull the price list out of messengers overnight. Some buyers have worked by phone for years and will send a list on Viber even when everything is on the site. The realistic outcome is not «everyone moved to the site» but «some clients order on their own, and that is the part the manager no longer handles by hand».

In search a wholesale store is needed differently from a retail one. A buyer looks for a part number, a category and the words «opt» or «hurt», often together with a brand name — not for «buy cheap». The technical part is the same either way: clean URLs, canonicals, unique titles, a sitemap without duplicates, structured data. That is exactly where the measured catalogues have the most holes.

Where to start

Development of a wholesale store takes 30–55 working days from the approved specification; a retail store on the same engine takes 25–45, and what stretches those timelines is covered separately. The longest stage in wholesale is the build: every combination of customer group and price has to be checked on a live order.

It all starts with a free review of your commercial scheme: how many price tiers you have, which documents the manager produces by hand, where stock levels come from. That takes 1–3 working days, and an estimate broken down by stage follows. Then a written contract with a fixed amount and a 30 calendar day warranty from the date the acceptance act is signed.

Tags

E-commerce

🤔Did you like the article?

Your opinion helps us create better content

Share with friends

Found something useful? 🚀

Help others learn about it - share the article on social networks

https://lionex.com.ua/blog/b2b-magazyn-shist-vidminnostej

💚 Thank you for helping us grow

Vladyslav Chystiakov

Пише про те, що робить руками: інтернет-магазини на OpenCart, застосунки на Next.js, інтеграції та швидкість сайтів. У статтях — заміри й перевірки, які читач може повторити на своєму проєкті, а не загальні поради. Комерційна розробка з 2015 року.

Frequently asked questions

Answers to common questions on the topic

Yes, on OpenCart this is a built-in mechanism: customer groups and price tiers. A client sees their own column after logging in, a retail visitor sees the base one. It gets hard where the price depends not only on the group but also on the order volume and the product category at the same time: that is already separate pricing logic, described in the specification and checked combination by combination.

Multiplicity is set at product level, and the cart refuses a quantity that is not a multiple of it — together with a hint explaining why the button is disabled. The same goes for the minimum batch and the minimum order value. This is not cosmetics: every such order otherwise goes back to a manager for manual approval.

A one-way price list import is part of the work: prices and stock are refreshed on a schedule. Two-way exchange with 1C or BAS is separate work of about ten working days, because synchronisation runs both ways: stock and prices to the site, order statuses back into the database. We start from a real export file rather than from a verbal description.

It depends on how often people come back to you. If a client orders once a quarter, the account area will sit empty. If they order weekly, order history and repeat ordering remove most of the correspondence from the manager. It is around seven working days of work, and the honest answer depends on your repeat-order frequency, which you know and we do not.

Get the best articles by email

Subscribe to our newsletter and receive useful tips, insights and news about web development, marketing and business.

We respect your privacy. You can unsubscribe at any time.