OpenERP/Odoo Community News 2014.04

veröffentlicht in Consulting,Software Engineering am 29. Jul. 2014 Tags: , , ,

Seit den letzten Odoo News ist schon etwas Zeit vergangen. Da liegen nicht nur die Open Days hinter uns, von denen wir ausführlich berichtet haben. Auch ist Odoo v8 jetzt auf der Zielgeraden. Es gibt deshalb viel zu tun für uns und viel aus der Community zu berichten.

Da die Community sich gerade von Launchpad verabschiedet und es auf Github keine Mailinglisten gibt, hat OpenERP S.A. ein Modul entwickelt, um eine Mailingliste selber zu verwalten. Die neue Community Mailinglisten findet ihr auf der Odoo Seite. Das Ganze ist ein Odoo Modul, also Open-Source und ihr könnt es in eurer eigenen Odoo v8 Installation demnächst verwenden.

Auch die Odoo Community Association hat sich entschlossen, gleich alle 71 Repositories, die von Ihnen gepflegt werden, nach GitHub zu migrieren. Damit ist dies jetzt ein aufwendiger Schritt, aber man ist nicht dauerhaft an zwei verschiedene Plattformen gekoppelt. Zurzeit sind schon 70% der Repositories umgezogen. Ein Vorteil ergibt sich darin, dass die Community mit Travis gleich die Chance genutzt hat, ein Continuous Integration Server für alle Repositories zu pflegen.

Open Days

Für alle die nicht auf den Open Days der Community waren und sicherstellen wollen nichts verpasst zu haben, gibt es eine Zusammenfassung von allen Materialien, die im Nachgang online verfügbar gemacht wurden:

Viel Spaß beim Stöbern.

Odoo v8

Für Version 8 stehen schon die ersten Module ins Haus, die auch für dein Projekt nützlich sein könnten. So hat die OCA einen ersten Code Sprint veranstaltet, bei dem Sie sich den Point of Sale angenommen und unter anderem ein Kartenterminal und ein Display für Endkunden angebunden haben. Den Code dazu findet ihr noch auf Launchpad. Viele Grüße an Akretion, die das maßgeblich vorangetrieben haben.

Anybox entwickelt beeindruckende Javascript Module für Odoo. So zeigen sie in einem Youtube Video wie Live Notification bzw. Live Update mit ihrer Erweiterung in Odoo funktioniert.

Das erste Projekt, das Hotel Management Projekt, welches auf die neue API von Odoo v8 migriert ist, hat schon nach einer Woche Vollzug gemeldet. Ihr findet den Branch entsprechend auf GitHub.

OpenERP / Odoo v7

Auch für die Version 7 gibt es wieder viel zu berichten. So wurde, für die Community Implementierung von Produkt Varianten Handling auf GitHub, der erste Pull Request eröffnet. Wer also Varianten Management mit Version 7 machen möchte, der sollte sich dies mal anschauen. Feedback ist dort herzlich willkommen.

Auch von dem Magento-Odoo-Connector gibt es Neuigkeiten. Hier gehen die Arbeiten für den Export der Produkte nach Magento voran. Wer sich eine Übersicht über den Stand der Dinge verschaffen will und sich an der Umsetzung beteiligen möchte, ist bei der Projektplanung auf Trello genau richtig.

Habt ihr auch mal überlegt den Standard-WYSIWYG-Editor von OpenERP / Odoo zu tauschen? Es gibt ein Plugin, welches den ACE-Editor für Version 7 verfügbar macht. Das Modul ace_editor findet ihr auf GitHub.

Tools

Wer gerne cProfiler mit Odoo verwenden möchte, für den hat Anybox ein entsprechendes Tool zur Verfügung gestellt. Damit kann man die Ausführung von Odoo genauer analysieren.

Modulentwicklung leicht(er) gemacht. Dies geht mit einem Odoo Modul, welches von BizzAppDev entwickelt wurde. Damit lassen sich innerhalb von Odoo einfache Module konfigurieren und exportieren. Sicherlich kein Tool für einen erfahrenen Odoo Entwickler, aber für einen Einsteiger ein ganz guter Startpunkt, um sich mit der Materie vertraut zu machen. Den Source Code findet ihr auf BitBucket.

Leseempfehlungen

Daniel Reis hat seinen Blog neu gestaltet. Dort gibt es immer wieder interessante Beiträge von einem der geschätzten Mitglieder aus der Odoo Community. Der Blog heißt jetzt: http://odooing.com/

Für alle Fragen rund um App und Modulentwicklung und der Gestaltung von Lizenzen hat Odoo eine ausführliche Dokumentation veröffentlicht. Diese sollte jeder Odoo Entwickler kennen:
https://www.odoo.com/forum/help-1/question/odoo-apps-modules-licensing-faq-55449

Über Markus Schneider

Als Analytiker und Informatiker ist Markus Schneider Experte für Shop- und ERP-Systeme. Dabei setzt er sein fundiertes Wissen insbesondere im Bereich der Open Source Software ein und kann verschiedene
Anwendungssysteme, z.B. Oxid eSales, OTRS, und Solr Suche, darin integrieren. Auch mit der Onlineshopsoftware Magento kennt sich Herr Schneider bestens aus. Zudem greift er auf gesammelte Erfahrungen unterschiedlicher Systeme wie Sage, SAP und speziell OpenERP zurück.

Recommendation im Eigenbau, nicht nur für Magento

veröffentlicht in Consulting,Software Engineering am 16. Jun. 2014 Tags: , ,

Ist der Shop einmal aufgesetzt, fragt sich jeder Shopbetreiber wie man den Umsatz steigern könnte. Dafür gibt es viele Ansatzpunkte. Zum einen könnten durch mehr Werbung mehr Besucher auf die Shopseite gelenkt werden und zum anderen könnte durch eine Optimierung des Shops die Konversionsrate gesteigert werden. Es geht also darum, aus Besuchern Kunden zu machen. Diese beiden Ansatzpunkte sind Prozesse, die jeder Shopbetreiber beherrschen sollte, wenn er seinen Shop voranbringen will.

Ein weiterer Ansatzpunkt, ja sogar die Königsdisziplin, ist den bestehenden Kunden noch zu optimieren, um z.B. den Warenkorbwert zu steigern. Hierbei bietet sich Recommendation-Engine an. Dem Kunden werden so Cross- und Upselling Funktionen zur Verfügung gestellt. Oder wie man das von den großen Portalen kennt: „Kunden, die diesen Artikel gekauft haben, kauften auch:“

Bei Magento kann man Cross- und Upselling für Produkte manuell konfigurieren, was in größeren Shops nicht handelbar wäre. Meist wird dann zu bestehenden Modulen aus Magento-Connect gegriffen. Alternativ fällt die Funktion auch in einem Suchprojekt ab. Beide Lösungen aber haben den Nachteil, dass sie die Informationen über die Produkte und über das Kaufverhalten der Kunden nur oberflächlich verwenden.

recommendation

In Zusammenarbeit mit dem Kunden haben wir deshalb ein eigenes Recommendation für Magento entwickelt. Wir verfügen über das mathematische Know-How um dieses Problem fundiert angehen zu können und der Kunde bringt das Wissen über sein Produkt mit ein. Diese Kombination führt zu einem optimalen Ergebnis. Durch die Steigerung des Umsatzes finanziert sich diese Maßnahme von alleine.

Falls Sie auch ein für Sie optimiertes Produktempfehlungsmodul 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 info@initos.com.

Über Markus Schneider

Als Analytiker und Informatiker ist Markus Schneider Experte für Shop- und ERP-Systeme. Dabei setzt er sein fundiertes Wissen insbesondere im Bereich der Open Source Software ein und kann verschiedene
Anwendungssysteme, z.B. Oxid eSales, OTRS, und Solr Suche, darin integrieren. Auch mit der Onlineshopsoftware Magento kennt sich Herr Schneider bestens aus. Zudem greift er auf gesammelte Erfahrungen unterschiedlicher Systeme wie Sage, SAP und speziell OpenERP zurück.

OpenERP / Odoo Magento Connector: Product import with taxes

veröffentlicht in Consulting,Software Engineering am 6. Jun. 2014 Tags: , ,

Many countries have different tax rates for different kinds of goods and services. For ecommerce applications at least two software components have to know the right taxes for products: the online shop software and the backing ERP system. Once you have configured your products with tax rates correctly in your Magento online web shop, you don’t want to configure them in OpenERP/Odoo again when you have imported them with the OpenERP Magento Connector.
The product import of the connector does not import the taxes because there is no easy mapping between taxes in Magento and the complex tax and accounting functionality of OpenERP/Odoo. But such a mapping can easily be defined in a custom add-on that extends the connector.

Based on the value of tax_class_id-field of the Magento product, we want to fill all four relevant income/expense account and purchase/sale tax rate fields in OpenERP/Odoo that are shown in the following image.

Tax rate and tax account configuration of a product in OpenERP

Tax and account configuration of a product in OpenERP

For a German company with 19% and 7% tax rates, the mapping could be as shown below. If you have not customized your OpenERP Magento Connector yet, you can find a good tutorial at the official homepage of the connector.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
@magento_myversion
class CustomProductImportMapper(ProductImportMapper):
    _model_name = 'magento.product.product'
 
    @mapping
    def tax_class_id(self, record):
        value = record.get('tax_class_id', '-1')
        if value == '1':
            sess = self.session
            tax_ids = sess.search('account.tax',
                [('description', '=', '19% USt'), ('type_tax_use', '=', 'sale'), ('parent_id', '=', False)])
            supplier_tax_ids = sess.search('account.tax',
                [('description', '=', '19% VSt'), ('type_tax_use', '=', 'purchase'), ('parent_id', '=', False)])
            account_income = sess.search('account.account',
                [('code', '=', '440000')])
            account_expense = sess.search('account.account',
                [('code', '=', '540000')])
            result = {'taxes_id': [(6, 0, [tax_ids[0]])],
                      'supplier_taxes_id': [(6, 0, [supplier_tax_ids[0]])],
                      'property_account_income': account_income[0],
                      'property_account_expense': account_expense[0],
                     }
        elif value == '2':
            sess = self.session
            tax_ids = sess.search('account.tax',
                [('description', '=', '7% USt'), ('type_tax_use', '=', 'sale'), ('parent_id', '=', False)])
            supplier_tax_ids = sess.search('account.tax',
                [('description', '=', '7% VSt'), ('type_tax_use', '=', 'purchase'), ('parent_id', '=', False)])
            account_income = sess.search('account.account',
                [('code', '=', '430000')])
            account_expense = sess.search('account.account',
                [('code', '=', '530000')])
            result = {'taxes_id': [(6, 0, [tax_ids[0]])],
                      'supplier_taxes_id': [(6, 0, [supplier_tax_ids[0]])],
                      'property_account_income': account_income[0],
                      'property_account_expense': account_expense[0],
                     }
        else:
            result = {}
        return result

Über Thomas Rehn

Der ausgebildete 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.

Nächste Seite »