Story · B2B Suite

Forty-one orders a day. None of them placed on the website.

A building-materials distributor in Lagos sells to 300 trade accounts. The orders arrive by phone and chat, and a person retypes every one of them into the admin. The website exists. It was never built for the people who buy the most.

The distributor and the people in this story are an illustration, not a customer. The software is real; the problem is one we keep being called about by businesses whose biggest accounts still order by phone.

Monday, 07:12

The order is a chat message and a memory.

A hardware store sends its weekly list as a photo of a notepad. A contractor calls and reads out eleven product numbers. A site manager forwards last month's invoice and writes "same again, but double the cement".

Someone on the sales desk reads each one, finds the products, builds the order in the admin and sends a total back. Three people spend their mornings doing this. It works, and it does not scale, and a product number misread at 07:12 is a delivery argument on Thursday.

The website takes orders all day from people buying one of something. The accounts that carry the business cannot use it.

Monday morning, sales desk

  • Photo of a notepad, 23 linesChat
  • Eleven product numbers, read outPhone
  • "Same again, but double the cement"Email

Retyped into the admin by hand

Three people, every morning. The website took none of these.

One account, eleven people

Everybody orders as the owner.

The few trade customers who do use the site share a single login. It was set up for the owner, and it is now used by a buyer, two site managers and whoever is at the desk.

The order history is one long column with no names in it. When a delivery is disputed, nobody can say who placed the order, or who was allowed to.

One storefront account

Used by

Owner · Buyer · Two site managers · The desk

Order history

41 orders, no names

Nothing in the record says who ordered, or who was allowed to.

Anyone can register

Trade terms, open to whoever finds the page.

Registration is the same form for everyone, so a trade customer and a passer-by arrive in the same place. Anything that should depend on being a real account — a price, a minimum, a payment method — has to be sorted out afterwards, by hand, by somebody who recognises the name.

What is missing is not a discount rule. It is the step where a person decides this company is a customer.

One registration form

  • A distributor with a tax ID and six buyers
  • Someone who found the page

Both arrive here

Registered customer

Sorted out afterwards

  • Price group
  • Minimum order
  • Payment method

By hand, by somebody who recognises the name.

The usual answer

B2B normally arrives as a bigger plan.

The standard route to company accounts and quick ordering is to move up to an enterprise commerce plan. That is a licence negotiated per merchant, quoted in a currency that is not naira, and sized for businesses much larger than a distributor with 300 accounts.

We are not going to tell you what that costs — it is negotiated, and it moves. We will say what it is: a plan change, for two capabilities.

B2B Core is those two capabilities, as two plugins, on the Shopware 6 you already run.

The usual route

Move the whole shop up a plan

  • Negotiated per merchant
  • Quoted in a currency that is not naira
  • Sized for much larger businesses

This route

Add two plugins

  • Licensed per installation
  • Priced in naira
  • On the shop you already run

Same two capabilities. Different thing to buy.

What changes

A company is an account somebody approved.

A company registers on your storefront and waits. Nothing is bought, nothing is priced, nothing is promised until someone on your side looks at the name and approves it.

A company that is not active cannot check out. Not a hidden price, not a soft warning — checkout refuses, because an inactive company is not a customer yet.

That one gate is the difference between a trade channel and a contact form with products attached.

Company registrations

  • Adeyemi Hardware LtdApproved
  • Ikeja Build SuppliesAwaiting approval
  • Unnamed, free mail addressDeclined

Checkout refused — company inactive

A person decides. Until they do, nothing is sold.

Who ordered, and for whom

Employees are invited, and scoped.

The company's administrator invites their own people by email. Each one gets their own login, and a role that says what they may do.

Order history stops being anonymous: every order records who placed it and which company it belongs to. The buyer sees the company's orders. The site manager sees what the site manager is allowed to see.

When the delivery is disputed on Thursday, the answer is a line in the order, not a memory.

Roles in one company

Roles in one companyAdministratorBuyerSite manager
Invite employeesAdministrator
Place ordersAdministratorBuyer
Edit shared listsAdministratorBuyer
See company ordersAdministratorBuyerSite manager

Every order is stamped with the employee and the company.

Forty-one lines, one paste

Buying by product number, not by browsing.

Nobody ordering for the fourth time this month wants a category page. They have the numbers. They want the basket.

Quick Order takes a product number typed into a row, a list pasted in from a spreadsheet or a message, or a CSV file uploaded as it is. It resolves the lines, shows what it found, and says plainly what it could not.

The weekly list that used to be a photo of a notepad becomes a basket the customer built themselves.

Pasted from a spreadsheet

  • CEM-42-50KG, 60
  • SND-SHRP-TON, 4
  • RBR-12MM-12M, 120
  • BLK-9IN-HOLLOW, 900
Resolved
3 of 4 lines
Not found
BLK-9IN-HOLLOW

It says what it could not match, rather than quietly dropping it.

The same order, most weeks

Lists the company shares.

A buyer keeps a private list. The company keeps shared ones — the standard site kit, the items that go on every job — and anyone with permission can order from them.

Any past order can be reordered as it stands. Most of a distributor's volume is the same products in a different quantity, and this is the part of the week that should take ninety seconds.

Private list

My reorders

Shared with the company

Standard site kit

18 products · 4 employees

Reorder

Order #10428, 12 March

Most weeks are the same products in a different quantity.

It is still Shopware

Conditions and flows, where you already configure them.

Company state is available as a condition in the Rule Builder, so a price, a shipping method or a payment method can depend on it without a developer.

Flow Builder gains triggers for what companies do, so an approval, an invitation or a first order can start whatever your business already does next.

Later modules — quotes and RFQ, customer catalogues and price lists, payment terms and company credit, order approvals — are separate paid add-ons that require B2B Core. They are not released, and we are not quoting them.

Rule Builder condition

Company status is Active

Flow Builder trigger

Company approved

Separate paid add-ons

  • Quotes and RFQSoon
  • Customer catalogues and price listsSoon
  • Payment terms and company creditSoon
  • Order approvalsSoon

Add-ons require B2B Core. Not released, and not priced.

Two sides of the same order

For the company buying

  • Their own login, instead of the owner's password passed around the office.
  • Forty lines by product number, pasted list or CSV, rather than a phone call read out twice.
  • Shared lists for the orders that repeat, and a reorder button on anything bought before.
  • An order history that says who ordered what, which settles an argument before it starts.

For the distributor selling

  • A company account is a decision you make, not a form anyone can complete.
  • Checkout refuses an inactive company, so nothing is sold on terms nobody agreed to.
  • The sales desk stops retyping orders and starts handling the ones that need a person.
  • Company conditions reach the Rule Builder, so pricing and shipping rules are yours to change.

Straight answers

What this is not

What B2B Core does not do, said now rather than in week two. Several of these are planned as separate add-ons, which means they are not in this licence and have no price yet.

It does not price per customer
Customer-specific catalogues and price lists are a planned add-on, not part of B2B Core. Today, company-dependent pricing is what you can build in the Rule Builder.
It does not do quotes
There is no request-for-quote round trip. Quotes and RFQ are planned as a separate add-on; until then a quote is still a conversation.
It does not extend credit
Payment terms and company credit limits are a planned add-on. B2B Core does not decide who may buy now and pay later.
It does not route approvals
An employee's order is not held for an internal sign-off. Order approvals are planned separately. Roles control what someone may do, not what somebody else must confirm.
It does not replace your ERP
Stock, invoices and credit control stay where they are. This is the ordering end of the business, and it expects your back office to keep owning the numbers.
It does not decide who is a customer
A company registration waits for a person. We think that is correct, but it does mean somebody has to look at the queue.

Before you ask

The questions a retailer asks first

What exactly is B2B Core?

Two plugins licensed together — B2B Foundation and B2B Quick Order — installed on your Shopware 6 shop from our own Composer registry. Foundation brings company accounts, employee invitations, roles and permissions; Quick Order brings ordering by product number, pasted list or CSV, shared lists and reordering. Tell us how your shop is set up and we will tell you what it would take.

What does B2B Core cost?

From :b2b_core_from per Shopware installation, excluding VAT, with no setup fee, and it is included in our Growth and Scale care plans. There is a :b2b_trial_days-day trial on our demo shop rather than a download. The pricing page carries the quarterly and annual rates.

Can customers register their own company?

Yes. A company registers on your storefront and stays inactive until someone on your side approves it. An inactive company cannot complete checkout, so nothing is sold before you have agreed to sell it.

How do employees order on behalf of a company?

The company's administrator invites them by email. Each employee gets their own login and a role that sets what they may do, and every order records who placed it and which company it belongs to.

Can an order be uploaded as a CSV?

Yes. Quick Order accepts a product number typed in, a list pasted from a spreadsheet or a message, or a CSV file. It resolves what it recognises and tells you what it could not match.

Does it work for distributors outside Nigeria?

There is nothing country-specific in the two plugins: they are standard Shopware 6 extensions. Our licences are priced in naira, and we are in Lagos, which is where support comes from.

Can B2B rules use the Rule Builder?

Yes. Company state is available as a Rule Builder condition, so prices, shipping methods and payment methods can depend on it, and Flow Builder gains triggers for what companies do.

See it on the demo shop before you license it.

We will show you company registration, approval, roles and a forty-line paste on a shop you can click through yourself. Tell us how your trade accounts order today and we will tell you honestly whether this changes it.