Die MwSt. eines Kundenpreises wird nicht übernommen

Sie haben einen Kundenpreis mit 10 % MwSt. angelegt, und die Angebotszeile erscheint mit 20 %. Woher der vorgeschlagene Steuersatz einer Zeile kommt und wie Sie den richtigen erhalten.

Betroffene Versionen
Dolibarr 20 bis 24 · getestet in 20.0.4 und 24.0.1 (Verkäufer und Kunde in Frankreich)
Was geprüft wurde
Getestet am 4. Oktober 2026 auf Instanzen 20.0.4 und 24.0.1, über die Angebotsseite: Produkt mit 20 %, Kundenpreis 10 € und 10 %, Zeile vorgeschlagen und gespeichert mit 10 € und 20 %; Serverantwort festgehalten (MwSt. des Kundenpreises gelesen, dann ersetzt). Produkt mit 0 %: 0 % vorgeschlagen. MwSt. des Produkts auf 10 % geändert: neue Zeile mit 10 %, bestehende Zeilen unverändert. Eine Zeile über die Seite korrigiert. SQL-Abfrage ausgeführt. Code gelesen in 20.0.4, 24.0.1, 24.0.2 und im Entwicklungszweig (product/ajax/products.php, core/tpl/objectline_create.tpl.php).

Sie nutzen kundenspezifische Preise. Für ein Produkt mit 20 % haben Sie für einen Kunden einen Preis von 10 € mit 10 % MwSt. angelegt. Sie fügen dieses Produkt einem Angebot für diesen Kunden hinzu: Der Preis ist korrekt 10 €, aber die MwSt. der Zeile beträgt 20 %.

Das ist keine vergessene Einstellung. Dolibarr übernimmt den Betrag des Kundenpreises, aber nicht seine MwSt.

Was passiert

Wenn Sie in einer Zeile ein Produkt wählen, fragt das Formular den Server nach dem Preis und dem vorzuschlagenden Steuersatz. Der Server findet den Kundenpreis samt MwSt. Doch direkt danach berechnet er den Satz nach den allgemeinen Steuerregeln neu, und diese Berechnung kennt den Kundenpreis nicht. Dieser neu berechnete Satz wird in der Zeile vorgeschlagen.

Für Verkäufer und Kunde im selben Land ist dieser Satz der des Produkts. Zwei praktische Folgen:

  • Ein Produkt mit 0 % lässt 0 % vorschlagen. Erscheinen Zeilen ohne erkennbaren Grund mit 0 %, prüfen Sie zuerst die Produkte.
  • Der Satz wird beim Hinzufügen der Zeile gespeichert. Eine spätere Korrektur am Produkt korrigiert bereits erfasste Zeilen nicht.

So finden Sie verkäufliche Produkte mit 0 % oder ohne Satz (passen Sie das Präfix llx_ bei Bedarf an):

SELECT rowid, ref, label, tva_tx FROM llx_product
WHERE tosell = 1 AND (tva_tx IS NULL OR tva_tx = 0);

Die Lösungen

  1. Den richtigen Satz im Produkt hinterlegen. Soll dieses Produkt immer 10 % haben, muss seine Standard-MwSt. geändert werden. Neue Zeilen übernehmen ihn dann.
  2. Den Satz in der Zeile korrigieren. Der vorgeschlagene Satz ist nur ein Vorschlag: Sie können ihn vor dem Hinzufügen in der Liste ändern oder die Zeile danach bearbeiten. Das ist die einzige Lösung, wenn dasselbe Produkt wirklich je nach Kunde unterschiedliche Sätze haben muss.

Wie das geprüft wurde

  • Auf Testinstanzen 20.0.4 und 24.0.1, Verkäufer und Kunde in Frankreich: Produkt mit 20 %, Kundenpreis 10 € und 10 %. Das Formular schlägt 10 € und 20 % vor, die Zeile wird so gespeichert. Die Serverantwort enthält die MwSt. des Kundenpreises (10) und danach den vorgeschlagenen Satz (20).
  • In 24.0.1: Ein Produkt mit 0 % lässt 0 % vorschlagen. Mit der MwSt. des Produkts auf 10 % geändert erscheint die neue Zeile mit 10 %, die bestehenden Zeilen bleiben bei 20 %. Eine von Hand korrigierte Zeile wechselt auf 10 %.
  • Im Code, von 20.0.4 bis 24.0.2 und im Entwicklungszweig, verlangt das Zeilenformular immer diese Neuberechnung.

Wenn die Sätze unverständlich bleiben

Erscheinen Ihre Zeilen mit Sätzen, die Sie nicht erklären können, ist genau das die Diagnose für 90 €: eine Stunde gemeinsam an Ihrer Konfiguration, danach schriftlich die Ursache und was die Behebung kosten würde.

DolibarrMwSt.KundenpreisAngebotRechnungSteuersatz