Haftpflicht Blogger
Virtual Server von Host Europe

Magento Kundennummer und Bestellnummer ändern

| 14. Juli 2009 | Keine Kommentare

Das e-Commerce Shop System Magento besitzt zwar eine Unmenge an Features und macht Anstalten den bisherigen Shop-Programmen ernsthaft Konkurrenz zu machen, ist aber in vieler Hinsicht nicht benutzerfreundlich.

Wenn beispielsweise eine neue Rechnung angelegt wird, dann wird vom System automatisch eine fortlaufende Nummer erzeugt. Damit wird – auf den ersten Blick jedenfalls – die deutsche, gesetzliche Vorgabe an eine ordentliche Rechnungsnummer erfüllt. Der Haken bei der Sache ist, dass die Rechnungsstartnummer nicht durch den Shop-Administrator konfigurierbar, sondern in der Datenbank fest hinterlegt ist.

Nun mag der eine oder andere, der schon eine MySQL-Datenbank administriert hat, sofort einwenden: „Es ist doch ein Klacks bei einer MySQL Datenbank die Autoincrement-Zahl hochzusetzen.“ Aber die Magento Programmierer arbeiten nach dem Motto: „Warum einfach, wenn es auch kompliziert geht, schließlich wollen wir und die Web-Agenturen ja auch was an Support verdienen“.

Die Rechnungsnummer wie auch andere Nummernkreise wie z. B. die Kunden- oder Bestellnummer sind keine normalen Primärschlüssel, sondern Tabellenattribute und diese sind über mehrere Tabellen verteilt und ergeben erst in Kombination z. B. die Rechnungsnummer.


Probleme
, die die Festverdrahtung der Rechnungsnummer mit sich bringt:

  1. Länge der Startrechnungsnummer: Die Rechnungsnummer eines neu aufgesetzten Magento-Shops beginnt bei 100000001. Hand aufs Herz, wer kann sofort sagen, wieviel Nullen zwischen der führenden und der abschließenden Null liegen.  Wenn der Kunde eine solche Zahl auf seine Überweisung zu übertragen hat, dann kann man sicher sein, dass man des öfteren falsche, nicht ohne manuelle Nachbearbeitung zuordenbare Überweisungen hat. (Antwort auf die Eingangsfrage: Die Rechnungsnummer ist neustellig mit sieben, eingeschlossenen Nullen am Anfang.)
  2. Fortschreibung der Rechnungsnummer: Meistens möchte der Shopbetreiber ja seine Rechnungsnummer fortschreiben, also bei z.B. 303435 beginnen.  Oder er möchte für seinen Online-Shop einen eigenen Nummernkreis mit Prefix besitzen (z.B. 309-303435) besitzen, zur Unterscheidung zu seinem Ladengeschäft (dort mit Präfix 109-….).
  3. Upgradeproblematik:  Die Qualität der Upgrades und Updates von Magento läßt sehr zu wünschen übrig. Es wird ausdrücklich davor gewarnt,  bei einer Produktivumgebung niemals etwas ohne eine vorherige Sicherung einzuspielen. Nicht ohne Grund, denn oft ist ein System nach dem Upgraden nicht mehr lauffähig. Wenn man jedoch eine Grundinstallation des Programm vornimmt, dann beginnt das System wieder bei der Rechnungsstartzahl 100000001!

Das soeben geschriebene gilt natürlich in gleicher Weise auch für die Kunden- und Rechnungsnummer. Dass diese Nummern, die für einen Shop von grundlegender Bedeutung sind, nicht durch einen Administrator einfach veränderbar sind, empfinde ich deshalb als sehr ärgerlich.

Dankenswerterweise kann man bei blogtabs.de eine Anleitung finden, wie dieses Manko behoben werden kann. Es gehört aber schon etwas Fachwissen und Mut dazu, derartige manuelle Veränderungen in der Datenbank vorzunehmen.

Hinweis: Eine Änderung des Rechnungsprefix in der Datenbank entsprechend der obigen Anleitung wurde direkt bei der nächsten Bestellung umgesetzt. Die Längenänderung des Rechnungsnummernbestandteils (Tabelle eav_entity_type,  Feld increment_pad_length) wurde vom System erst nach einem Serverneustart berücksichtigt!

(Anmerkung: Dieser Artikel bezieht sich auf die am 14. Juli 2009 aktuelle Magento Version 1.3.2.2.
Wenn in einer zukünftigen Magentoversion hier eine Abhilfe geschaffen wurde, dann bitte ich darum, dies durch einen Kommentar zu diesem Artikel mitzuteilen.)

Kategorie: Magento

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.