B2B Orders in a D2C Shop: One Process for Both Kinds of Customer
Your first wholesaler will not order through your shop. He sends an email with a list, asks about terms and wants to buy on invoice.
That is exactly what happened at nano. We had a clean D2C shop, and suddenly there were enquiries in the inbox that had no button anywhere. We did it by hand for half a year: quote in Google Docs, invoice in the bookkeeping tool, shipping arranged by shouting across the room. From the fifth order a month on it was clear: that was a habit, no process at all.
This article shows you where B2B and D2C really differ, how to run both in one Shopify shop, which parts can be automated, and when a separate channel is the better answer.
The four real differences
Plenty of people think B2B is "the same, only bigger". It is not. There are four points, and each one breaks your D2C process at a different place.
The price is not the price. A business customer does not pay the shop price. He has his own list, often a tiered one, sometimes a negotiated discount on individual items. Two customers can have different prices for the same product.
Payment comes later. In D2C you collect at the click. In B2B you deliver first and send an invoice with 14 or 30 days payment terms. That gives you a default risk you never had in D2C.
The quantities blow up your planning. A single B2B order can empty your stock for two weeks. If your warehouse does not know that 600 units are going out right now, you sell the same goods a second time in D2C. How to keep stock clean across several channels is in Multichannel inventory management.
The document counts more than the confirmation. D2C customers need an order confirmation. B2B customers need a proper invoice with a VAT ID, a delivery note in the parcel, and often an order confirmation up front. Paperwork is part of the product here.
There is a fifth point that obeys no technology: business customers expect a person to talk to. They call. You cannot automate that away, and you should not want to.
Why we still use one shop
The obvious solution is a second shop. We did the maths and decided against it.
A second shop means two product catalogues, two stock sources, two fulfilment connections and two places where a product photo goes stale. For three brands run by two people, that is not sustainable. We run 3 brands with 2 people, and every duplicated bit of upkeep eats exactly the time we freed up before.
One shop, two kinds of customer means: one catalogue, one stock level, one interface to the warehouse. The only thing that differs is what a given customer sees and pays.
The condition for that is a clean separation at exactly one place: the customer account. Every business customer with us gets an account carrying a flag that marks him as B2B. Everything else hangs off that. No discount code, no password protection on a collection, no gentleman's agreement at checkout.
What Shopify can do out of the box
The feature set depends on your plan, and that is the point where most projects tip over. A rough overview:
| Requirement | Without B2B features | With B2B features |
|---|---|---|
| Individual price lists per customer | via customer groups and apps | built in, per company |
| Payment terms at checkout | not supported | built in |
| Minimum order quantity | only via app or script | built in |
| Several buyers per company | not supported | built in |
| Tax exemption on EU deliveries | check manually | via company profile |
My take: as long as you have fewer than about ten business customers, you need no built-in B2B feature. A customer flag, a price list as a file and a form are entirely enough. From the point where you maintain prices for twenty companies, the manual work costs more than the plan upgrade.
What you should avoid: solving B2B with discount codes. Codes end up in forums, work for everyone and are tied to no customer. We did this at the start. A code meant for one reseller showed up in a Telegram group within three weeks, and we sold a four-figure amount below purchase price.
The flow we built
Here is what a B2B order looks like with us today. Six steps, four of which run without us.
- Registration. The prospect fills in a form: company, VAT ID, contact person, delivery address, items wanted.
- Checks. A workflow validates the VAT ID against the EU Commission database and pulls a credit report. Both take seconds.
- Approval. A human looks at the result and assigns a price tier. That is the only real decision moment.
- Activate the account. The customer gets login details and sees his prices in the normal shop from then on.
- Ordering. He orders himself, through the same checkout as everyone else, only with "invoice" as the payment method.
- Follow-up. Order confirmation, delivery note and invoice are created automatically, and the order goes to the warehouse like any other.
We do the approval by hand on purpose. Payment terms are a line of credit, and no workflow here hands out credit. We use the same pattern in purchasing: the machine calculates and suggests, the human approves when money is involved.
What automates cleanly
After eighteen months of running this, the list is fairly clear. These parts run with no hands on them:
- VAT ID validation. Valid or invalid, plus the question of whether the delivery can go out tax-free. The result is stored on the customer account, along with the date of the check.
- Order confirmation. Goes out within minutes, with line items, prices and the expected delivery date.
- Delivery note without prices. This one gets forgotten a lot. A reseller does not want purchase prices sitting in the parcel his own customer opens.
- Invoice and booking. The invoice is created at dispatch, goes out by email and lands in the bookkeeping at the same time.
- Payment reminder. A friendly nudge three days before the due date, then a staged dunning sequence. That noticeably shortened our average time to payment, without anyone having to watch a bank account.
- Handover to the warehouse. Runs through the same interface as D2C, only with a note about pallet shipping above a certain quantity. What that connection looks like is in Fulfilment interface for Shopify.
Together that is around 25 minutes per order that someone used to do by hand. At twenty orders a month, that is a full working day.
What did not work for us
We built three things and switched them off again. I am writing them down so you do not build them too.
Automatic price negotiation. We had logic that suggested a discount on its own, based on quantity and order history. The result was two customers with almost identical volumes and clearly different prices, who then talked to each other. Prices belong in a maintained list, and a formula is the wrong home for them.
Fully automatic approval of new customers. For three months we approved everyone whose VAT ID was valid. A valid number says nothing about ability to pay. We took two write-offs before we brought the manual check back.
A separate B2B catalogue inside the same shop. We wanted bulk packs visible only to business customers and used hidden collections for that. The items still turned up in search and in the sitemap. Visibility in the storefront is no substitute for access control. Today that runs through real catalogue separation on the customer account.
And one limit that stays: price negotiations, annual reviews and complaints about entire batches are phone calls. We never tried to squeeze those into a form.
When a separate channel is the better choice
One shop for both is not always right. Four signs that you should split:
- Your B2B range is a different one. Different pack sizes, different packaging, different SKUs. Then all you share is the logo.
- You sell internationally with different tax rules per country. That gets messy fast in a mixed setup.
- Your customers order from their own systems. Anyone sending an order by electronic data interchange wants no storefront. He wants an interface.
- B2B passes a third of your revenue. From there on B2B is a business of its own, with its own demands on planning and staff.
If none of that applies, stay with one shop. Splitting costs you more ongoing upkeep than it gives you in clarity.
How to start
In this order, otherwise you build in the wrong place:
- Count your business customers. Under five a month, doing it by hand is the right answer.
- Write down your price tiers before you touch any technology. Two or three tiers are almost always enough. Negotiate per customer and you will automate nothing later.
- Decide who gets payment terms and who does not. That is a business decision, and no setting in the shop will make it for you.
- Automate the documents first. Order confirmation, delivery note, invoice. That is the biggest time sink and the easiest part.
- Self-service comes after that. The customer orders himself once the paperwork chain stands.
This step-by-step approach is the same one we use in every project. What such a run looks like in detail is in How an automation project goes. For an overview of the other process areas, see Automating e-commerce processes.
Conclusion
B2B in a D2C shop rarely fails on the technology. It fails because prices are undefined, because nobody decided who is allowed to buy on invoice, and because stock levels have no idea when 600 units go out at once.
Settle those three points and the rest is manageable: a flag on the customer account, a maintained price list, automatic documents, and a manual check wherever money is at stake.
If you have your first reseller on the hook and do not know whether your shop can carry it, drop us a line at Flowhouse. We will also tell you when a spreadsheet is entirely enough for a start.