In short and in plain language
This post shows how your shop can also sell to firms. Firms buy in a different way than private buyers.
Firms expect net prices and their own price tiers. They like to buy on invoice. Often a different person signs off the order.
For this, the shop sorts its buyers into groups. The group sets what a buyer can see and do. The part for private buyers stays as it is.
The post also explains rules on prices, tax and payment.
We set up such an area for firms in your shop.
In the EU, 4.34% (Eurostat) of enterprise turnover comes from web sales to other enterprises and public authorities, and 4.04% (Eurostat) from web sales to private consumers. Web sales to enterprises and public authorities are therefore not a side show online; how much of that falls to public authorities is not reported separately in the survey. Even so, you cannot simply open your existing consumer shop to it: business buyers expect net prices, their own price tiers, invoice purchase carrying their purchase order number, several delivery addresses, and an ordering route in which the person who approves is not the person who ordered. This article shows how to build that with customer groups, verified VAT identification numbers and approval rules, which regulations apply and which do not — and how to tell that the split between the consumer and the business area really holds.
Key takeaways
- In the EU, 4.34% (Eurostat) of enterprise turnover comes from web sales to enterprises and public authorities and 4.04% from sales to private consumers — business trade online is not a side show.
- German price indication rules govern price statements towards consumers (section 1 (1) PAngV). Net prices are therefore permissible in a genuinely closed business area; in an open shop with a mixed audience the gross price stays the final price.
- An intra-Community supply is exempt only if the customer has used a valid VAT identification number (section 6a (1) sentence 1 no. 4 UStG); confirmation follows section 18e UStG.
- Between businesses the default interest rate on late payment is nine percentage points above the base rate (section 288 (2) BGB), plus a flat sum of 40 euros (section 288 (5) BGB).
- 85.65% (Eurostat) of EU enterprises with web sales use their own website or app for them and 45% a marketplace — the survey does not break that channel comparison down by business and consumer customers.
Why the consumer shop does not carry business trade
The share of enterprises selling electronically at all is growing slowly: from 18.93% in 2014 to 23.59% in 2024 (Eurostat). The spread by size is the striking part. 48.48% (Eurostat) of large enterprises conduct e-sales, while among small enterprises the figure is 21.38% (Eurostat), generating 8.65% of their turnover. That gap is rarely evidence of a lack of interest; it is usually evidence of missing tools. Anyone who negotiates prices per customer, maintains framework agreements and delivers on account finds none of that in a standard consumer shop and therefore stays with the phone, email and a PDF catalogue.
The second finding from the same survey: 85.65% (Eurostat) of EU enterprises with web sales use their own website or app for them, and 45% (Eurostat) use a marketplace. The figures cover all enterprises with web sales; the survey does not separate that channel comparison by customer type. What speaks for a shop of your own in the business segment is the matter itself: customer-specific prices, approval chains and framework agreements are hard to represent on someone else's platform. How a shop of your own compares with a website builder is set out in Online shop: Shopware CE shop or website builder?.
The difference from consumer trade is not in the design but in four points. The price is shown net and depends on the customer, not on the article. Tax follows the location and status of the buyer. Payment happens after delivery, not before. And the person filling the basket is rarely the person allowed to order. Each of these reaches into data, processes and legal texts at the same time — which is why a business area is not a module you switch on but a decision about the data structure.
Where the figures come from
The customer group is the switch for everything else
In Shopware Community Edition, almost every distinction between consumer and business trade hangs on a single object: the customer group. It decides whether prices appear net or gross, which price list applies, which payment and shipping methods are visible, and whether a customer may enter a protected area at all. Making that decision early and cleanly saves special cases in every second template later on.
A split into at least three groups has proven itself in practice: private customers, business customers under review, and verified business customers. The middle group is the important one. Registering as a business customer is initially just a claim — company name, legal form and VAT identification number sit in a form, nothing more. Only after that number has been confirmed and briefly reviewed does the customer move into the group that sees net prices, price tiers and invoice purchase. Until then they buy at gross prices and by prepayment, without the site turning them away.
Price display
Net or gross, tiered prices, customer-specific price lists and the question of whether a strike-through price is shown at all.
Visibility
Whether a range, a category or an entire catalogue area exists for this group — spare parts and clearance items are rarely meant for everyone.
Payment methods
Invoice purchase with a payment term for verified business customers only, prepayment and direct debit for everyone else.
Shipping and delivery addresses
Pallet shipping, freight surcharges and separate addresses per site or branch instead of one single delivery address.
Documents and mandatory details
Invoice carrying the customer's purchase order number, delivery note without prices, mandatory details under section 14 (4) UStG in the right format.
Roles in the company account
Who orders, who approves, who may only see prices: one company account with several people instead of one login per order.
These six points are also the checklist for the build. As soon as one of these properties hangs on something other than the customer group — on a text block, on a tick box in the article, on an IP address — a special case appears that will be forgotten at the next range change. The customer group is the only place where the distinction holds over time.
Net or gross: what the price indication rules require
The German Price Indication Ordinance is the rule that requires a final price including VAT in consumer trade. Its scope is drawn narrowly in section 1 (1) PAngV: it governs price statements made by traders towards consumers. Under section 13 BGB a consumer is anyone entering a legal transaction predominantly for private purposes; under section 14 (1) BGB a trader is anyone acting in the exercise of their commercial or independent professional activity. Where an offer is addressed exclusively to the second group, net prices may be shown there.
Diese Verordnung regelt die Angabe von Preisen für Waren oder Leistungen von Unternehmern gegenüber Verbrauchern.
The emphasis is on “exclusively”. A shop whose product pages are visible without login and show net prices is in practice addressing consumers too — as a rule that is not enough. Two routes work: a closed area that shows prices only after login with a verified business account, or an open shop that places gross and net price side by side and marks the gross price as the final price. The second route costs visual calm, the first costs visibility in search — a trade-off, not a formality. For the search side of that trade-off, Online shop SEO: more visibility for your shop is the right starting point.
- In the closed business area: net price large, the reference to statutory VAT right next to it rather than in the footer.
- The standard rate is 19% of the taxable amount (section 12 (1) UStG); the reduced rate of seven per cent applies only to the transactions listed in section 12 (2) UStG, among them the supply of the goods named in Annex 2.
- Store shipping costs and surcharges per customer group so that no gross markup slips into a net display.
- Show tiered prices with their quantity thresholds on the product page, not first in the basket — the threshold is the selling argument.
- In an open shop with a mixed audience, mark the gross price as the final price and carry the net price as an additional statement, not the other way round.
- Check price list, product page and invoice against each other with the same reference article before a new group goes live.
A closed area is not a free pass
Have the VAT ID confirmed, not merely entered
An input field for the VAT identification number is quickly built. It simply does not answer the question that matters: does this number belong to this customer, and is it valid today? For supplies to other EU member states this is no formality but the condition for exemption. Section 6a (1) sentence 1 no. 4 UStG makes the use of a valid number issued by another member state a prerequisite of the intra-Community supply.
der Abnehmer im Sinne der Nummer 2 Buchstabe a oder b hat gegenüber dem Unternehmer eine ihm von einem anderen Mitgliedstaat erteilte gültige Umsatzsteuer-Identifikationsnummer verwendet.
The number can be confirmed by the Federal Central Tax Office: under section 18e no. 1 UStG the authority confirms on request the validity of a VAT identification number together with the name and address of the person to whom it was issued by another member state. This qualified confirmation is the difference between “the number looks plausible” and a record you can still produce two years later. For the shop that means storing the confirmation result with a timestamp on the customer account, switching the customer into the verified business group only afterwards, and setting a follow-up when company name or address change.
Three lines, three statements: the protected area redirects an anonymous request to the login, without a session no net-price note is found on the product page, and with the session of a verified business customer it appears. This check belongs in the routine after every larger update, because visibility rules tend to spring back quietly. It also assumes working encryption — what changes there from 2026 is covered in HTTPS certificates: shorter lifetimes from 2026 onwards.
Keep tiered prices and price lists properly separated
Prices in business trade have three layers: list price, tiered price by quantity, and the customer-specific price from the framework agreement. The most common misconstruction is to model all three through discount rules. That works until the day two rules overlap and nobody can explain why a customer pays 4.80 euros instead of 5.10 euros. More robust is one price list per customer group plus a limited number of customer-specific prices that come from the ERP system and are maintained there. How strike-through prices and discounts stay traceable alongside this is covered in Strike-through prices and discounts in your shop: the 30-day rule.
| Feature | Private customers | Business customers under review | Verified business customers |
|---|---|---|---|
| Price display | gross price as final price | gross price as final price | net price with tax note |
| Price source | list price | list price | price list, tier and customer-specific price |
| Tax | standard rate included | standard rate included | domestic with VAT, other EU states exempt with a valid VAT ID |
| Payment methods | prepayment, direct debit, card | prepayment | invoice with payment term, prepayment |
| Delivery addresses | one address per order | one address per order | several stored addresses to choose from |
| Approval | none | none | roles in the company account, basket goes for approval |
| Document | invoice showing VAT | invoice showing VAT | invoice with purchase order number, delivery note without prices |
The table is deliberately written as a state, not as a wish. Every row can be looked up in the shop and checked with test accounts — at least one per group. Repeating that after every larger update is what surfaces the quiet faults: a payment method that is visible to everyone again after an update, or a price list that runs empty after the import from the ERP system. Which payment methods customers now expect online is set out in Online shop payment methods 2026.
Test accounts per customer group
Invoice purchase, payment terms and default
In business trade, invoice purchase is less a payment method than an expectation. The question is therefore rarely whether it is offered, but with which payment term and from which verification result onwards. The law draws a line here: under section 271a (1) sentence 1 BGB an agreement under which the creditor may demand performance only after more than 60 days is effective only if it was expressly made and is not grossly unfair with regard to the creditor's interests. For the selection in the ordering route two fixed tiers are usually enough; longer terms belong in the framework agreement. For clauses in terms and conditions section 308 no. 1a BGB comes on top: where the user of the terms is not a consumer and reserves more than 30 days after receipt of the counter-performance for settling the other party's payment claim, that is in case of doubt unreasonably long — and section 310 (1) sentence 1 BGB does not exempt that number towards traders. How terms and notice periods are set out cleanly in such contracts is shown in Website contracts: terms and year-end notice periods.
For the case where payment does not arrive, the figures between businesses are fixed as well. The default interest rate on payment claims is nine percentage points above the base rate where no consumer is involved (section 288 (2) BGB), and the creditor additionally has a claim to a flat sum of 40 euros (section 288 (5) BGB). These two figures belong in the payment terms and in the reminder templates, because otherwise they get looked up afresh for every single case.
- The customer's purchase order number as a mandatory field where the customer group requires it — without it the invoice sits in the customer's own approval queue.
- A credit limit per customer account that the shop knows about, instead of a check that only happens in accounting.
- Payment term visible in the basket and on the order confirmation, not only in the terms and conditions.
- Separate billing address alongside the delivery address, because accounting rarely sits at goods inwards.
- Collective invoicing as an option for customers who order several times a month.
- Dunning stages stored with the statutory figures so that nobody has to recalculate in the event of default.
Invoice purchase is a credit decision
Approvals: who may order and who pays
In many businesses one person fills the basket and another approves it. The foreman looks for spare parts and the plant manager approves; the technicians collect consumables and the office orders. A shop that knows only one login per company cannot represent this — the result is shared credentials, and with them traceability disappears. The answer is a company account with roles: one company, several people, different rights.
{
"company": "Musterbau GmbH",
"customer_group": "b2b-verified",
"roles": [
{ "person": "purchasing@musterbau.invalid", "rights": ["basket", "order"], "limit_net": 2500 },
{ "person": "workshop@musterbau.invalid", "rights": ["basket"], "limit_net": 0 },
{ "person": "management@musterbau.invalid", "rights": ["basket", "order", "approve"], "limit_net": null }
],
"approval": {
"from_net": 2500,
"required_fields": ["purchase_order_number", "cost_centre"],
"notify": "management@musterbau.invalid"
},
"delivery_addresses": ["Central warehouse", "Site North", "Site South"]
}The excerpt shows the principle: rights hang on the person, the limit on the role, the approval on a threshold. A basket above the stored net threshold does not go straight into an order but to approval — with purchase order number and cost centre, because those fields are needed later in the customer's own accounting. What matters is that the basket stays visible to everyone involved in that state instead of disappearing into an email. Why a waiting basket otherwise turns into an abandonment is shown in Reduce cart abandonment in your online shop.
- The buyer creates the basket and submits it for approval with one click.
- The approver sees line items, prices, purchase order number and cost centre in a single view.
- Queries run as comments on the case instead of in a separate email chain.
- After approval the order is placed; both sides receive the same confirmation.
- The case stays visible in the company account so a repeat order can build on the same basket.
Approvals are a security topic too
Invoice details, reverse charge and the intra-Community supply
In business trade the invoice is a document with mandatory content. Section 14 (4) UStG lists the mandatory details in numbers 1 to 10, among them the applicable tax rate and the tax amount attributable to the consideration — or, in the case of an exemption, a reference to the fact that an exemption applies to the supply or other service. It is precisely this reference that a shop without customer group logic fails on, because it knows only one invoice text.
Three cases have to be kept apart. For a supply to a domestic business customer the invoice shows VAT. For an intra-Community supply to a business in another member state the supply remains exempt provided the customer has used a valid VAT identification number; the invoice then has to state the numbers of both parties (section 14a (3) sentence 2 UStG). And where a trader supplies a service for which the recipient owes the tax under section 13b (5) UStG, the statement on the reverse charge belongs on the invoice.
Führt der Unternehmer eine Leistung im Sinne des § 13b Absatz 2 aus, für die der Leistungsempfänger nach § 13b Absatz 5 die Steuer schuldet, ist er zur Ausstellung einer Rechnung mit der Angabe „Steuerschuldnerschaft des Leistungsempfängers“ verpflichtet; Absatz 1 bleibt unberührt.
For the shop that means three invoice templates instead of one, selected by customer group, customer location and the verification result of the number — and not by a tick box someone sets by hand. It also means storing the verification result as of the time of the order rather than only the current state: if a number becomes invalid a year later, the old invoice still has to be explainable. Which mandatory details additionally attach to the article itself is covered in GPSR and the new ProdSG: mandatory information in your online shop.
What applies differently between businesses than towards consumers
A business area relieves you in some places where consumer trade is strict, and burdens you in others. The provisions on consumer contracts, which in distance selling include the right of withdrawal, apply under section 312 (1) BGB to consumer contracts. Between businesses they do not apply; what is taken back is a question of contract and goodwill. Conversely, under section 310 (1) sentence 1 BGB, section 305 (2) and (3), section 308 nos. 1, 2 to 9 and section 309 BGB do not apply to terms and conditions used towards traders — which creates room, but exempts neither section 308 nos. 1a and 1b, which concern payment and acceptance periods, nor the content review under section 307 BGB. Which mandatory details remain untouched by all this is set out in Legal notice requirements 2026: mandatory website information.
- Return rules between businesses belong in the terms and conditions, not in a consumer withdrawal instruction.
- In a commercial sale between two merchants the buyer has to examine the goods without undue delay after delivery and report a defect without undue delay (section 377 (1) HGB).
- If the buyer omits that notice, the goods count as approved, unless the defect was not detectable on examination (section 377 (2) HGB).
- Section 309 BGB and section 308 nos. 1, 2 to 9 BGB do not apply towards traders (section 310 (1) sentence 1 BGB); section 308 nos. 1a and 1b on payment and acceptance periods and the content review under section 307 BGB remain.
- Default interest of nine percentage points above the base rate and the flat sum of 40 euros belong in the payment terms (section 288 (2) and (5) BGB).
- The price indication rules concern the relationship with consumers (section 1 (1) PAngV) — in a mixed shop the gross price therefore stays the final price.
Two sets of legal texts instead of one compromise
What this means for a mid-sized company
Building a business area is first and foremost data work: defining customer groups, taking price lists over from the ERP system, storing verification results, setting up roles in the company account. The visible part — a net price instead of a gross price, one extra field in the ordering route — is the smaller one. It is therefore worth answering three questions before the first draft: which customers buy at which prices? Who is allowed to order at those customers? And which of that data already sits structured in the ERP system?
We build shops like this with Shopware Community Edition: setting up customer groups and price lists, keeping net and gross display properly apart, building registration with a check of the VAT identification number, invoice purchase with payment terms, order approvals as an option with your own Shopware licence, and taking article data over from your existing ERP system. How such a shop is set up and what drives the effort is described on the online shop page; the ongoing care afterwards — updates, security levels, adjustments to the price structure — is covered by website care.
The next step
Related Articles
Christmas Trading 2026: Prepare Your Online Shop Now
A dated plan for Christmas trading: six stages from calendar week 38 to the returns window — product data, mandatory information, load testing, emergency plan.
E-Commerce Trends 2026 for Small Businesses
E-commerce trends 2026 for SMBs: speed, mobile checkouts, payment methods, sustainability and AI support, with practical takeaways for your own online shop.
Online Shop Payment Methods 2026: What Customers Want
Which payment methods customers expect in 2026, how they affect conversion and cart abandonment and what to consider legally and technically in Shopware CE.