Als Magento Agentur mit Fokus auf Onlineshoperstellung für anspruchsvolle B2B- und Spezialanwendungen entwickeln wir bei Econcess regelmäßig individuelle Erweiterungen für Magento 2. In diesem Beitrag zeigen wir eine praxisnahe Lösung für eine häufige Anforderung: die Eingabe und Verarbeitung von Preisen mit vier Nachkommastellen im Magento-Backend.

 

Warum vier Nachkommastellen?

Magento rundet Preise standardmäßig auf zwei Dezimalstellen. Das reicht für viele B2C-Shops, nicht aber für spezialisierte Branchen wie:

  • E-Liquids
  • Chemikalien
  • Rohstoffe
  • Gewichtete Produkte (z. B. in der Metallverarbeitung)

Gerade im B2B-Bereich sind präzise Preisangaben oft unverzichtbar, etwa bei individuellen Preisstaffeln oder exakt kalkulierten Rabatten.

 

Problem: Magento rundet intern auf 2 Stellen

Beim Erstellen von Bestellungen im Adminbereich (Sales > Orders > Create) wirkt es auf den ersten Blick, als wären mehr Nachkommastellen erlaubt. Tatsächlich akzeptiert das Eingabefeld manchmal drei oder mehr Stellen – doch beim Speichern werden diese intern ignoriert oder gerundet.

 

Magento rundet Custom Price intern
❌ Eingabe mit 3 Stellen sichtbar, aber intern gerundet – das kann problematisch sein.

 

Lösung: Modul + Template-Anpassung

Mit einem kleinen Plugin und einer Template-Anpassung kannst du Magento problemlos auf vier Nachkommastellen erweitern. Entscheidend ist, Backend-Logik und Anzeige im Adminbereich gleichermaßen zu berücksichtigen.

 

1. Backend-Logik: Plugin auf Quote\Item::setCustomPrice

namespace Econcess\PrecisePriceRounding\Plugin;

use Magento\Quote\Model\Quote\Item;

class QuoteItemPricePrecisionPlugin
{
    public function beforeSetCustomPrice(Item $subject, $price)
    {
        return [round($price, 4)];
    }
}

➡️ Dieses Plugin sorgt dafür, dass die eingegebene Zahl nicht auf zwei Stellen beschnitten wird, sondern in voller Genauigkeit erhalten bleibt.

 

2. Anzeige im Admin: grid.phtml anpassen

Das Eingabefeld für benutzerdefinierte Preise wird standardmäßig so gerendert:

<input value="<?= sprintf("%.2f", $block->getOriginalEditablePrice($_item)) ?>" />

Diese Ausgabe muss auf vier Stellen erweitert werden:

<input value="<?= sprintf("%.4f", $block->getOriginalEditablePrice($_item)) ?>" />

 

Vier Nachkommastellen im Admin sichtbar
✅ Nach der Anpassung: Volle Kontrolle über vier Stellen im Preisfeld.

 

Test & Ergebnis

  • ✅ Eingabe von z. B. 12.3456 möglich
  • ✅ Speicherung ohne Rundungsverlust
  • ✅ Rabatte und Totals bleiben konsistent

 

Custom Price mit voller Genauigkeit
🔍 Custom Prices werden exakt übernommen und verarbeitet.

 

Fazit

Mit überschaubarem Aufwand lässt sich Magento an spezifische Anforderungen anpassen – sauber und updatesicher. Gerade für Webagenturen oder Magento Agenturen, die komplexe B2B-Shops betreuen, ist diese Lösung ein praktischer Mehrwert.

 

Jetzt Magento erweitern lassen?

Ob individuelle Backend-Funktionalitäten oder maßgeschneiderte Preislogik: Als erfahrene Magento Internetagentur beraten und unterstützen wir Sie bei der Weiterentwicklung Ihres Onlineshops.

👉 Kontaktieren Sie uns – wir helfen gern weiter.