Kundenspezifische Preise in OpenERP/Odoo

veröffentlicht in Software Engineering am 22. Jan. 2014 Tags: , ,

OpenERP/Odoo bietet von Haus aus die Möglichkeit Produktpreise nach komplexen Regeln abhängig von Kunden, Datum und Menge zu gestalten. Einem unserer Kunden fehlten noch zwei Dinge um dieses Potenzial voll auszuschöpfen. Zum einen bestand der Bedarf die Preislisten noch um explizit ausgewiesene Rabatte zu erweitern. Dies ist unter anderem dann nützlich, wenn gegenüber Kunden, die als Reseller auftreten, der empfohlenen Listenpreis zusammen mit der Marge auf der Rechnung ausgewiesen werden soll. Zum anderen sollte es eine einfache Möglichkeit geben zu einem gegebenen Produkt den kundenspezifischen Preis zu berechnen, um ihn beispielsweise bei telefonischer Beratung schnell parat zu haben. Die leichte Anpassbarkeit von OpenERP/Odoo erlaubte uns diese Anforderungen unseres Kunden schnell und einfach zu realisieren.

Um Produkte in Preislisten mit einem Rabatt auszuweisen, haben wir die von Syleam entwickelten OpenERP/Odoo-Addons pricelist_discount und sale_pricelist_discount für Version 7 von OpenERP/Odoo migriert. Diese Module erweitern das Model product.pricelist.item um ein entsprechendes Feld. Dieses Rabatt-Feld wird dann beim Hinzufügen eines Produktes zu einem Angebot ausgelesen und dort in das vorhandene discount Feld von sale.order.line eingetragen. Die erweiterte Preislistenkonfiguration ist in Screenshot 1 zu sehen.

pricelist_discount

Screenshot 1: Ein Preislisteneintrag mit 5% Rabatt.

Damit kundenspezifische Preise, die sich aus möglicherweise komplexen Preislistenregeln ergeben, einfach abzurufen sind, haben wir ein Popup zur Preisberechnung angelegt, das direkt über einen Menü-Eintrag erreicht werden kann. Dort kann per gewohntem Drop-Down-Menü der Kunde und das Produkt ausgewählt und bei Bedarf zusätzlich eine Menge angegeben werden. Bei jeder Änderung der Parameter wird der aktuell gültige Preis für diese Kombination berechnet wie in Screenshot 2 zu sehen. Technisch gesehen verbirgt sich hinter dem Popup ein Wizard, der mittels der price_get Methode von product.pricelist (bzw. product.product, falls keine Preisliste vorhanden ist) den gültigen Preis berechnet

product_partner_price

Screenshot 2: Über ein Popup kann schnell der Produktpreis für einen Kunden ermittelt werden.

Die beiden hier vorgestellten Anpassungen finden Sie als OpenERP/Odoo-Modul sowohl in den OpenERP Apps als auch auf Launchpad. Das Modul pricelist_discount erweitert Preislisten um explizite Rabatte, das Modul sale_pricelist_discount berücksichtigt diese Rabatte beim Anfertigen von Angeboten. Unabhängig davon stellt das Modul product_partner_price ein Popup zur einfachen Preisberechnung zur Verfügung. Falls in diesem Popup die Rabatt-Erweiterung von Preislisten berücksichtigt werden soll, sollte zusätzlich das Modul product_partner_price_pricelist_discount installiert werden, das die beiden vorherigen Module verbindet.

Falls Sie auch Interesse an OpenERP/Odoo haben oder unsere Expertise für Ihr ERP-Projekt benötigen, dann nehmen Sie mit uns Kontakt auf. Wir helfen Ihnen gerne weiter!

Sie erreichen uns unter der Telefonnummer +49 (0)4105 5615699 oder per Mail an {This email is obscured. Your must have javascript enabled to see it}.

Über Thomas Rehn

Der promovierte Mathematiker Thomas Rehn ist begeisterter Problemlöser in C++, Java, Perl, PHP und Python. Seine jahrelange Erfahrung als System-Administrator sorgt für den reibungslosen Betrieb unserer Web-, Datenbank und Applicationserver. Nebenbei ist er Autor von und Contributor zu verschiedener mathematischer Open-Source-Software.

Kommentare deaktiviert für Kundenspezifische Preise in OpenERP/Odoo

Kommentare sind gesperrt.