- Ein WooCommerce-B2B-Shop braucht Nettopreise, Kundengruppen und eine Registrierung mit Freigabe. Das Core-System liefert das nicht, Plugins wie B2BKing oder Wholesale Suite schließen die Lücke.
- Nettopreise dürfen nur gegenüber verifizierten Geschäftskunden angezeigt werden. Gegenüber Verbrauchern gilt die Preisangabenverordnung mit Bruttopreispflicht.
- Bei EU-Lieferungen an Unternehmen mit gültiger USt-IdNr. entfällt die Umsatzsteuer als steuerfreie innergemeinschaftliche Lieferung nach § 6a UStG. Die Gültigkeit prüfen Sie vorab über das VIES-System der EU-Kommission.
- Mindestbestellmengen, Angebotsanfragen statt Sofortkauf und Zahlung auf Rechnung sind typische B2B-Anforderungen, die sich mit WooCommerce abbilden lassen.
Wer mit WooCommerce ausschließlich an Unternehmen verkauft oder einen gemischten Shop betreibt, der sowohl Privat- als auch Geschäftskunden bedient, steht vor Anforderungen, die das WooCommerce-Core-System nicht abdeckt. Nettopreise, gestaffelte Rabatte, eine Registrierung mit manueller Freigabe, Mindestbestellmengen und die korrekte Handhabung von Umsatzsteuer bei EU-Geschäftskunden: das alles lässt sich in WooCommerce umsetzen, aber nicht ohne Vorbereitung. Dieser Ratgeber zeigt, was technisch und rechtlich nötig ist, und gibt konkrete Empfehlungen für Plugins und Einstellungen.
B2B gegen B2C: Was wirklich anders ist
Ein Verbrauchershop optimiert auf Impulsklicks, kurze Wege zum Kauf und Kreditkartenzahlung. Ein B2B-Shop funktioniert anders. Hier läuft der Einkauf oft über mehrere Personen in einem Unternehmen, der Wert einer einzelnen Bestellung ist höher, Zahlungsziel und Rechnung sind Standard, und die Preise richten sich nach Abnahmemenge oder Kundenstatus. Dazu kommen eigene rechtliche Anforderungen: Preisangaben, Steuerbehandlung und die Verifizierung des Gegenübers als Unternehmer.
| Merkmal | B2C-Shop | B2B-Shop |
|---|---|---|
| Preisanzeige | Bruttopreis (Pflicht nach PAngV) | Nettopreis zulässig (nur ggü. Unternehmern) |
| Kundenzugang | Sofortiger Kauf ohne Anmeldung | Registrierung mit manueller Freigabe |
| Rabattsystem | Gutscheine, Aktionspreise | Kundengruppenpreise, Staffelrabatte |
| Mindestbestellung | Meist keine | Typisch: Mindestmenge oder Mindestbestellwert |
| Zahlungsarten | Kreditkarte, PayPal, Sofort | Rechnung, Vorkasse, Kontokorrent |
| Umsatzsteuer | Brutto inkl. MwSt. | Steuerfreie innergemeinschaftliche Lieferung (§ 6a UStG) bei gültiger USt-IdNr. |
| Kauf ohne Angebot | Standard | Oft Angebotsanfrage statt Direktkauf |
Wer beide Gruppen bedienen will, steht vor der Herausforderung, den Shop so zu konfigurieren, dass Verbraucher immer Bruttopreise sehen und Geschäftskunden nach der Freigabe Nettopreise. Das ist technisch lösbar, aber es braucht ein durchdachtes Setup.
Nettopreise rechtssicher anzeigen
Die Preisangabenverordnung (PAngV) in der Fassung von 2022 schreibt vor, dass Preise gegenüber Verbrauchern stets als Gesamtpreise einschließlich Umsatzsteuer anzugeben sind. Das gilt auch im Internet. Wer einem Verbraucher einen Nettopreis zeigt, ohne den Bruttopreis deutlich danebenzustellen, riskiert eine Abmahnung.
Gegenüber Unternehmern gilt diese Pflicht nicht. Ein reiner B2B-Shop, der den Zugang auf freigeschaltete Geschäftskunden beschränkt und Verbrauchern den Kauf von vorneherein verwehrt, kann durchgehend Nettopreise anzeigen. Entscheidend ist, dass der Zugang tatsächlich beschränkt ist und kein Verbraucher in die Nettopreis-Ansicht gelangt.
In einem gemischten Shop, der sowohl an Privat- als auch an Geschäftskunden verkauft, muss die Preisanzeige kontextabhängig umschalten: nicht angemeldete Besucher und Privatkunden sehen immer Bruttopreise, freigeschaltete Geschäftskunden sehen Nettopreise, am besten mit dem Hinweis, dass Preise zuzüglich der gesetzlichen Mehrwertsteuer gelten. Plugins wie B2BKing und Wholesale Suite übernehmen dieses Umschalten automatisch, sobald die Rollen korrekt konfiguriert sind. Die Grundlage dafür legt das WooCommerce-Steuer-Setup, das erklärt, wie WooCommerce intern mit Steuern rechnet und welche Einstellung beim Preisspeichern die richtige ist.
Kundengruppen und Rabattstufen einrichten
WooCommerce selbst kennt keine Kundengruppen im B2B-Sinne. Es gibt zwar benutzerdefinierte Benutzerrollen, aber keine eingebaute Logik, die einer Rolle automatisch andere Preise, Rabatte oder Sichtbarkeiten zuweist. Das übernehmen Plugins.
Das Grundprinzip ist einfach: Jedem freigeschalteten Geschäftskunden wird eine Benutzerrolle zugewiesen, etwa „Grosshandel A“, „Wiederverkaeufer“ oder „Premiumkunde“. Diese Rollen bekommen in der Plugin-Konfiguration eigene Preisregeln: ein prozentualer Rabatt auf alle Produkte, ein fester Kundenpreis, ein Staffelrabatt ab einer bestimmten Menge oder ein komplett eigener Preiskatalog. Ändert sich der Status eines Kunden, ändert sich die Rolle, und die Preise passen sich automatisch an.
Staffelrabatte sind im B2B besonders verbreitet: ab 10 Stück 5 Prozent Rabatt, ab 50 Stück 12 Prozent, ab 100 Stück auf Anfrage. Sowohl B2BKing als auch Wholesale Suite bilden das ab, unterscheiden sich aber im Umfang und in der Benutzeroberfläche.
Registrierung mit Freigabe und USt-IdNr.-Prüfung
Wer einen B2B-Shop betreibt, will keine Privatkunden, die sich einfach registrieren und Nettopreise abgreifen. Die Lösung ist ein Registrierungsformular, das mehr als nur Name und E-Mail-Adresse abfragt: Firmenname, Rechtsform, Steuernummer oder USt-IdNr. und ggf. ein Handelsregisterauszug. Nach der Registrierung erhält der Kunde zunächst keinen Kaufzugang, sondern landet in einem Wartestatus. Erst nach manueller Prüfung durch den Shopbetreiber wird die Rolle aktiviert, und der Kunde kann einkaufen.
Für EU-Geschäftskunden ist die Prüfung der Umsatzsteuer-Identifikationsnummer ein wichtiger Schritt. Nur wenn eine gültige USt-IdNr. vorliegt, darf der Betreiber die innergemeinschaftliche Lieferung steuerfrei stellen (mehr dazu im Abschnitt zu EU-Lieferungen weiter unten). Das VIES-System der EU-Kommission erlaubt die Online-Abfrage, ob eine USt-IdNr. gültig und aktiv ist. Manche B2B-Plugins, darunter B2BKing, können diese Prüfung automatisiert bei der Registrierung durchführen. Der Betreiber sollte das Ergebnis dennoch dokumentieren und bei einer Betriebsprüfung nachweisen können.
Ein sauberes Setup verhindert auch das unbefugte Erschleichen von Geschäftskundenrabatten durch Privatpersonen, was wettbewerbsrechtlich und steuerlich relevant ist.
Mindestbestellmenge, Angebotsanfrage und Zahlung auf Rechnung
Im B2B sind drei Bestellfeatures typisch, die WooCommerce nicht von Haus aus mitbringt.
Mindestbestellmengen und Mindestbestellwerte lassen sich mit einem eigenen Plugin oder per Code-Snippet umsetzen. WooCommerce prüft bei der Bestellung, ob der Warenkorb die definierten Schwellen überschreitet, und lässt den Checkout andernfalls nicht zu. Der Ratgeber zum Mindestbestellwert in WooCommerce zeigt, wie das per Snippet und Plugin geht. B2BKing bringt Mindestbestellmengen pro Produkt und pro Rolle direkt mit.
Angebotsanfragen statt Direktkauf sind in bestimmten Branchen Standard: Der Kunde legt Produkte in einen Warenkorb, schickt aber keine Bestellung ab, sondern sendet eine Anfrage. Der Betreiber erstellt ein individuelles Angebot und schickt es dem Kunden, der dann kauft oder verhandelt. Plugins wie B2BKing oder WooCommerce Request a Quote bilden diesen Workflow ab. Sinnvoll ist das vor allem bei Produkten mit variablen Konditionen, hohem Bestellwert oder individueller Liefermenge.
Zahlung auf Rechnung ist die typische Zahlungsart im B2B. WooCommerce kennt eine eingebaute Zahlungsart „Banküberweisung“, die als Rechnungskauf konfiguriert werden kann. Für echtes Zahlungsziel, Mahnwesen und Bonitätsprüfung braucht es entweder ein eigenes ERP-System oder spezialisierte Zahlungsdienstleister. Eine vollständige Übersicht der WooCommerce-Zahlungsarten und was für wen sinnvoll ist, bietet der Ratgeber zu WooCommerce-Zahlungsarten im Vergleich. Für B2B-Rechnungen im deutschen Markt ist außerdem die automatische Rechnungserstellung relevant, die der Beitrag zu WooCommerce-Rechnungen automatisch erstellen behandelt.
EU-Lieferungen: innergemeinschaftliche Lieferung und Reverse Charge
Die innergemeinschaftliche Lieferung nach § 6a UStG ist unter mehreren Bedingungen steuerfrei: Der Lieferant ist Unternehmer, der Abnehmer ist Unternehmer in einem anderen EU-Mitgliedstaat, die Ware gelangt tatsächlich in diesen anderen Mitgliedstaat, und der Abnehmer hat dem Lieferanten seine gültige USt-IdNr. mitgeteilt. Der Lieferant muss die Gültigkeit dieser USt-IdNr. nachweisen können, etwa durch eine Abfrage über das VIES-System, und die Lieferung in der Zusammenfassenden Meldung (ZM) beim Bundeszentralamt für Steuern melden.
Das Reverse-Charge-Verfahren nach § 13b UStG gilt dagegen für bestimmte Leistungen, bei denen der Leistungsempfänger die Steuer schuldet. Für ausgehende Dienstleistungen an EU-Unternehmer gilt dagegen § 3a Abs. 2 UStG: keine deutsche Umsatzsteuer, der Empfänger schuldet die Steuer in seinem Land. § 13b betrifft den umgekehrten Fall, in dem Sie selbst Leistungen von einem im Ausland ansässigen Unternehmer einkaufen, das umfasst sowohl EU- als auch Drittland-Unternehmer. Für Warenlieferungen innerhalb der EU greift dagegen die innergemeinschaftliche Lieferung nach § 6a.
In WooCommerce übernimmt das EU-Steuer-Setup diese Logik, wenn es korrekt konfiguriert ist: ein Geschäftskunde mit gültiger USt-IdNr. und Sitz in einem anderen EU-Mitgliedstaat bekommt automatisch eine Rechnung ohne Umsatzsteuer, mit dem Hinweis auf Steuerschuldnerschaft des Leistungsempfängers. Die Einrichtung dafür beschreibt der Ratgeber zu WooCommerce-Steuer-Setup ausführlich. Für eine steuerliche Einordnung des Einzelfalls sollte immer ein Steuerberater hinzugezogen werden.
Plugin-Vergleich: B2BKing gegen Wholesale Suite
Zwei Plugins dominieren den WooCommerce-B2B-Markt. Keines ist von Haus aus Teil von WooCommerce.
| Funktion | B2BKing | Wholesale Suite |
|---|---|---|
| Nettopreise je Rolle | Ja | Ja |
| Staffelpreise | Ja, flexibel | Ja (Premium) |
| Registrierung mit Freigabe | Ja, eingebaut | Ja (Premium-Addon) |
| USt-IdNr.-Prüfung via VIES | Ja (Pro) | Nein eingebaut |
| Angebotsanfragen | Ja (Pro) | Nein eingebaut |
| Mindestbestellmengen | Ja | Ja (Premium) |
| Sichtbarkeit nach Rolle | Ja, pro Produkt und Kategorie | Eingeschränkt |
| Preis (ca.) | Free + Pro ab ca. 199 USD/Jahr (Stand Juni 2026, Preise können abweichen) | Free + Premium ab ca. 148 USD/Jahr |
| Stärke | Vollständigste B2B-Lösung, auch reine B2B-Shops | Einstieg Wholesale, gut für einfache Staffelpreise |
Empfehlung: Für einen echten B2B-Shop, bei dem alle genannten Features gebraucht werden, ist B2BKing die vollständigere Lösung. Wholesale Suite eignet sich eher für Shops, die Großhandelspreise als Zusatzkanal zum bestehenden B2C-Shop ergänzen wollen und keine komplexen Freigabeprozesse brauchen.
Profi-Block: Technische Einrichtung im Detail
Dieser Abschnitt richtet sich an Entwickler und technisch erfahrene Shopbetreiber. Einsteiger können ihn überspringen.
WooCommerce-Steuereinstellung für B2B. Unter WooCommerce > Einstellungen > Steuern muss „Preise im Shop eingeben als“ auf „Netto“ stehen, wenn die Preise netto hinterlegt sind und das Plugin die Steuer für B2C-Kunden aufschlägt. Alternativ kann das Plugin die Steuer aus dem Preis herausrechnen. Wichtig: die Einstellung hat Auswirkungen auf alle Preisberechnungen und muss zum Plugin-Verhalten passen. Im Zweifelsfall erst in einer Testumgebung prüfen. Der Ratgeber zu WooCommerce einrichten zeigt, welche Grundeinstellungen vor dem Launch sitzen müssen.
Benutzerrollen anlegen. B2BKing und Wholesale Suite legen bei der Aktivierung eigene WordPress-Benutzerrollen an. Eigene Rollen lassen sich in B2BKing benutzerdefiniert anlegen und mit eigenen Preisen, Rabatten und Sichtbarkeiten verknüpfen. Wer eigene Rollen per Code anlegen will: add_role( 'grosshaendler_a', 'Grosshaendler A', array( 'read' => true ) );. Das Plugin zieht dann die Preisregeln an diese Rolle.
Registrierungsformular anpassen. Standardmäßig fragt WooCommerce bei der Registrierung nur E-Mail und Passwort ab. Per Plugin oder per Filter (woocommerce_register_form) lassen sich Felder für Firmenname, USt-IdNr. und Steuernummer ergänzen. B2BKing bringt ein eigenes Registrierungsformular mit, das diese Felder enthält und den Account nach der Registrierung automatisch in den Wartezustand versetzt.
Gäste-Checkout deaktivieren. Im B2B-Shop hat der Gäste-Checkout nichts zu suchen. Unter WooCommerce > Einstellungen > Konten & Datenschutz den Gäste-Checkout deaktivieren und stattdessen die Anmeldung vor dem Kauf erzwingen.
Cache-Probleme mit dynamischen Preisen. Ein häufiges Problem in B2B-Shops mit Caching-Plugins: Die Seite wird für einen nicht angemeldeten Besucher gecacht, ein eingeloggter Geschäftskunde sieht anschließend den Bruttopreis aus dem Cache statt seines Nettopreises. Die Lösung: Produktseiten und Kategorieseiten für eingeloggte Nutzer aus dem Cache ausschließen oder einen eigenen Cache-Key je Benutzerrolle verwenden. Die meisten guten Caching-Plugins kennen diese Option.
Praxisbeispiel aus einem laufenden Projekt
In einem WooCommerce-Projekt für einen deutschen Großhändler von Verpackungsmaterial haben wir einen gemischten Shop aufgebaut: Der öffentliche Shop zeigt Bruttopreise und erlaubt den Kauf für Privatkunden. Registrierte und freigeschaltete Geschäftskunden sehen nach dem Login Nettopreise und haben Zugang zu einer eigenen Produktkategorie mit nicht öffentlichen Eigenmarken-Artikeln.
Das Registrierungsformular fragt Firmenname, USt-IdNr. und die erwartete monatliche Bestellmenge ab. Neue Accounts landen automatisch im Status „ausstehend“. Ein WooCommerce-E-Mail-Hook informiert den Shopbetreiber über neue Registrierungen, der die USt-IdNr. über VIES prüft und den Account dann manuell freischaltet oder ablehnt. Bei EU-Kunden mit gültiger USt-IdNr. stellt das Steuer-Plugin automatisch auf die innergemeinschaftliche Lieferung um.
Was uns dabei am meisten Zeit gekostet hat: das Zusammenspiel von Caching und Rollenpreisen. Der erste Testlauf zeigte Bruttopreise für eingeloggte Geschäftskunden, weil die Seiten für Gäste gecacht waren. Der Fix war, im Caching-Plugin eine Ausnahme für eingeloggte Nutzer zu setzen. Das ist kein B2B-spezifisches Problem, aber im B2B-Kontext besonders sichtbar, weil die Preisdifferenz groß ist.
Sofort-Checkliste
- WooCommerce-Steuereinstellung geprüft: Preise intern netto oder brutto gespeichert?
- Gäste-Checkout deaktiviert?
- Registrierungsformular um Firmenname und USt-IdNr. erweitert?
- Neuer Account landet nach Registrierung im Wartestatus, kein sofortiger Kaufzugang?
- Manuelle Freigabe durch Betreiber eingerichtet, Benachrichtigungs-E-Mail aktiv?
- USt-IdNr. bei EU-Kunden via VIES geprüft und Ergebnis dokumentiert?
- Benutzerrollen für Kundengruppen angelegt und Preisregeln zugewiesen?
- Staffelpreise für relevante Produkte konfiguriert?
- Mindestbestellmenge oder Mindestbestellwert gesetzt, falls nötig?
- Zahlung auf Rechnung als Zahlungsart aktiviert?
- Produktkategorien oder Einzelprodukte nach Rolle sichtbar/versteckt?
- Caching-Plugin so konfiguriert, dass eingeloggte Nutzer keine gecachten Bruttopreise sehen?
- EU-Steuerklassen angelegt: 0 % für innergemeinschaftliche Lieferungen mit gültiger USt-IdNr.?
- Rechnungen enthalten „Reverse Charge: Steuerschuldnerschaft geht auf den Leistungsempfänger über“?
- WooCommerce-Core reicht für B2B nicht. Ein dediziertes Plugin wie B2BKing oder Wholesale Suite ist keine Option, sondern Voraussetzung.
- Nettopreise sind nur dann rechtlich sauber, wenn Verbraucher sie nicht sehen können. Ein gemischter Shop braucht eine wasserdichte Rollentrennung.
- Die USt-IdNr.-Prüfung via VIES ist bei EU-Lieferungen keine Kür, sondern Pflicht für die steuerfreie Abrechnung. Ergebnis immer dokumentieren.
- Caching und Rollenpreise vertragen sich nicht ohne Konfiguration. Das ist das häufigste technische Problem in B2B-WooCommerce-Setups.
Häufige Fragen
Kann ich WooCommerce ohne Plugins als B2B-Shop nutzen?
Eingeschränkt. WooCommerce kennt Benutzerrollen und einfache Kundenkonten, aber keine eingebaute Logik für Rollenpreise, Registrierungsfreigabe oder USt-IdNr.-Prüfung. Für einen vollwertigen B2B-Shop ist mindestens ein spezialisiertes Plugin nötig.
Was kostet ein B2B-Plugin für WooCommerce?
Beide führenden Plugins haben eine kostenlose Einstiegsversion auf wordpress.org. Die Pro-Versionen kosten ungefähr 148 bis 200 US-Dollar pro Jahr (Stand Juni 2026, Preise können abweichen). Der tatsächliche Aufwand entsteht weniger beim Plugin-Kauf als bei der Konfiguration und dem Testing, vor allem beim Zusammenspiel mit dem Steuer-Setup und dem Caching.
Muss ich Bruttopreise anzeigen, wenn ich auch Privatkunden bediene?
Ja. Gegenüber Verbrauchern schreibt die Preisangabenverordnung die Angabe des Gesamtpreises einschließlich Umsatzsteuer vor. Das gilt auch im Internet. Nur wenn der Shop ausschließlich für freigeschaltete Geschäftskunden zugänglich ist, dürfen durchgehend Nettopreise angezeigt werden.
Wie prüfe ich eine USt-IdNr. eines EU-Kunden?
Über das VIES-System der EU-Kommission unter ec.europa.eu/taxation_customs/vies. Die Abfrage zeigt, ob eine Nummer gültig und aktiv ist. Das Ergebnis sollte mit Datum dokumentiert werden, weil es bei einer Betriebsprüfung als Nachweis gilt. Manche B2B-Plugins führen diese Abfrage automatisch bei der Registrierung durch.
Wann gilt Reverse Charge im WooCommerce-B2B?
Das Reverse-Charge-Verfahren nach § 13b UStG gilt für bestimmte im Inland steuerpflichtige Leistungen, bei denen der Leistungsempfänger Unternehmer ist. Für Warenlieferungen an EU-Unternehmer greift stattdessen die innergemeinschaftliche Lieferung nach § 6a UStG, die unter den genannten Voraussetzungen steuerfrei ist. In beiden Fällen muss die Rechnung den richtigen Hinweistext enthalten.
Kann ich Kundengruppen nachträglich ändern?
Ja. Die Benutzerrolle lässt sich in der WooCommerce-Kundenverwaltung oder direkt in der WordPress-Benutzerverwaltung jederzeit anpassen. Das Plugin zieht die neuen Preisregeln sofort, sobald der Kunde sich beim nächsten Besuch einloggt oder der Cache geleert wurde.
Was passiert, wenn ein EU-Kunde eine falsche oder abgelaufene USt-IdNr. angibt?
Der Shopbetreiber darf die steuerfreie Lieferung nur dann vornehmen, wenn er die Gültigkeit der USt-IdNr. nachgewiesen hat. Stellt sich heraus, dass die Nummer ungültig war und der Betreiber hat das nicht geprüft, kann das Finanzamt die Umsatzsteuer nachfordern. Deshalb ist die VIES-Abfrage und ihre Dokumentation kein optionaler Schritt.
Brauche ich ein separates Plugin für Mindestbestellmengen?
Nicht unbedingt. B2BKing bringt Mindestbestellmengen pro Produkt und pro Kundengruppe direkt mit. Wer kein B2B-Plugin nutzt oder nur einen Mindestbestellwert für den gesamten Warenkorb braucht, kann das auch mit einem kurzen WooCommerce-Snippet lösen, wie der Ratgeber zum Mindestbestellwert in WooCommerce zeigt.
