vendredi 15 mai 2009

R&D: Feedback of April 09

Well in last month, lots of improvements have been done in the trunk version of Open ERP (server and addons). Here are the most important of it.


The Open ERP report engine has been completely rewritten from scratch to speed up and streamline the report generation process. It uses the same technologies than the proceeding engine (RML, ODT) and is API compatible.

Compared to the old engine, a 150 page report for sales orders:

Old report engine: 1 Minute 40 Seconds

New Report Engine: 9 seconds

It also uses much less memory as the XML report is not any more in memory during the rendering process. This allows to generate very big reports without troubles (10.000 pages).

All transitions have been reviewed: odt->rml, rml->pdf, rml->html. We also added a new engine for the generation html->html. This modification is so important that it have been backported to branche/5.

Besides, there is now a new type of report supported: HTML2HTML.


Since v5 of Open ERP, function fields on objects can be defined as being stored in the database with the store attribute. This has considerably speed up the process, because computations of these fields are done when the user write the record and not any more when it reads the record.

We have now added an extra attribute on store, so that is act like a cache system, and re-evaluate this field, not at each record change but every X minutes. That could be very helpful for stock fields for example that will be automatically updated each hours if they are modified. This allows us to speed up some process (like reading a list of products) by 80% !

'amount_total': fields.function(_amount_all, method=True, digits=(16,2), string='Total',
'account.invoice': (lambda self, cr, uid, ids, c={}: ids, None, 20, 10),
'': (_get_invoice_tax, None, 20, 10),
'account.invoice.line': (_get_invoice_line, None, 20, None),

here amount_total fields will only updated if modified date of account_invoice + given_time(10 hours) <>


Changes made on eTiny:
- speed up (about 7x faster than current stable version)
- replaced kid templates by mako
- removed turbogears dependencies
- use OpenFlashChart 2 -> better graphs
- new widget system

To know more about this, we hereby forward you there

Thanks to Contributor / Partner : ALMACOM


  • Intra-Stat

    We now have a better tracability of exported goods, thanks to the module report_intrastat that is reporting detail of intrastat entry base on valid and paid invoices. Besides, we also developped a module named electronic_report_intrastat that provides a new wizard to export intrastat entry data into .SDV file format and a track log detail of exporting data.

  • Indian Accounting developments

    Some progress have been made in the Indian accounting: see l10n_chart_in (module providing the chart of indian accouting), account_invoice_india, account_reports_india (module providing the 3 most Important Reports for the Indian Accounting: Trial Balance, Profit and Loss Account, Balance Sheet)

  • account_base

    Accounting Base Properties is providing the,Basic properties for the Customer / Suppliers for the Accounting i.e. PAN No, TIN No, Sales Tax No, and Exise related Information.(Added wizard which is taking all related detail of partner.)

  • multi_company_account

    Convert all related object into multicompany compatible format.

  • purchase_number

    * add new feature that will create number on confirmation of the purchase order.

    * modified Format of purchase order report which show the detail purchase order with supplier required detail which are new fields in partner through account_base module. "

  • sale_number

    * add new feature that will create number on confirmation of the sale order.

    * modified Format of sale order report which show the detail sale order with customer required detail which are new fields in partner through account_base module.

  • Direct Marketing

  • CRM Improvements

    Lots of things have been improved. Let's take in example the rules ( that now offer you more possibilities: you can now make condition on the name of case, or in the communication history. The new system also allows you to trigger a server action as ruling effect.

    We also worked on the ergonomy by defining new wizards and shortcuts to simplify the use, by reviewing the views... the list is too long to post everything here! I encourage you to test and suggest improvemnts through blueprints on launchpad.

  • Thunderbird plugin

    * synchronise all type of attachments.

    * added section field in sync mail window so that we can archive mail to directly with selected sections.


Also, things have been made on websites:

* all modules are available online for download in all versions (see modules list)

* contributors can write comments in the documentation

* contributors can vote on modules

Community Work:

This section will list all modules that have been added by contributors in addons-extra and addons-community. Again, thanks to everyone that improves Open ERP!

1. location: lp:~openerp-commiter/openobject-addons/trunk-extra-addons

  • multilogin_portal

    • contributor: La Ferme du Sart

    • description: Allows xmlrpc queries from partners email+password as:
      - Customer standard user
      - Provider standard user
      Allows xmlrpc queries from computers (IP automatically recognized) as:
      - Computer standard user
      Standard users are set into

  • mrp_bom_customization

  • base_vat_unique

    • contributor: vitrum Network

    • description: Check VAT Number is unique

  • l10n_ch_zip_and_bank

    • contributor: Camptocamp SA

    • description: Swiss localisation : Swiss banks and zip codes initialisation

2. location: lp:~openerp-community/openobject-addons/trunk-addons-community

  • zarafa

    • contributor: Sednacom

    • description: New objetcs and views to improve use of OpenERP:

      * shortcuts view

      * module view

      * email object
      * Zarafa tools

  • product_price_update

    • contributor: Gábor Dukai (

    • description: The aim of this module is to allow the automatic update of the price fields of products.
      * added a new pricelist type called 'Internal Pricelist' (currently, we have only 2 pricelist types: Sale and Purchase Pricelist)
      * Created a wizard button in the menu Products>Pricelist called 'Update Product Prices' * After filling in the wizard form and clicking on 'Update', it will change the selected

      price field of all products in the categories that we were selected in the wizard.

  • base_report_unicode

    • contributor: Gábor Dukai (

    • description: This module replaces the standard PDF Type1 fonts with TrueType fonts that have unicode characters. The module contains the DejaVu fonts v2.29 from
      With this module you can continue to use the old font names in the templates, they will be replaced with the DejaVu font names every time before creating a pdf.

  • hnm_heofax

  • stock_period

  • alerts

    • contributor: Sednacom (

    • description: Add an alert generator on every ressources of the system.

  • rollmanagement

  • pricing_policy

    • contributor: Sednacom (

    • description: Pricing policy module. Install this module to enable a strong link between sale and purchase prices.

  • ecotaxe

    • contributor: Sednacom (

    • description: Eco participation' management This module adds the management of 'Eco participation' in TinyERP. 'Eco participation', mostly known as 'Ecotaxe', is a french specificity; its purpose is to finance recycling of products with a high cost of treatment. Install this module if you need to manage 'Eco participation' in your business.
      Module features:
      - amount of 'Eco participation' for product by producer
      - 'Eco participation' management in sale orders, purchases orders and invoices.

  • business

  • supplier_product

  • sednacom_extras

  • catalog

  • hr_medical

  • product_loan

    • contributor:

  • account_bankimport

    • contributor: Tiny / Eddy Boer

    • description: This module can import .asc-files (BRI-layout)

  • fleet_manager

    • contributor: Sharoon Thomas

    • description: The module is a vertical for fleet operations management

  • sale_simple_pos

    • contributor:

    • description: Very Simplified Point Of Sale; if you are not sure about using the official pos module...

  • product_hardware_revision

    • contributor:

    • description: every product can have n revisions and also have a current default revision. Then when receiving a product, in the incoming picking, if a stock.production.lot (eg serial number here) is to be created, then a first line of stock.production.lot.revision is created in the stock.production.lot with values copied from the product default revision. The user can still choose an other revision manually before it gets copied. This is really useful to track the exact hardware of a product with electronic products fro instance.

  • base_partner_security

    • contributor: Gábor Dukai (

    • description: Adds a restricted field to partner categories. That field value is copied to the partners and partner addresses belonging to those categories. With this, it is easy to restrict access to some partner categories using record rules. Example domain to use with record rules or views: [('restricted','=',False)]

  • product_price_decay

    • contributor:

    • description: Product Decay the goal of this module, is to estimate the average price of the remaining product stock using the following assertions: - the remaining stock is based on the invoiced products only (from purchases and sales) - everything happen like if we sale first the more expensive remaining products So it's a bit like FIFO (if prices were always falling it would look like FIFO) but it's certainly not a legal way of valuing your stocks. Actually this module only gives you an indicative price that you could base your sale margin upon, so that: - you always ensure a given margin - you make sure your sale price will follow the market, meaning decay hopefully

  • product_tax_incl

    • contributor:

    • description: Product Tax Include Allows to compute the based sale untaxed amount given a taxed amount entry (change the list_price on on_change)

We are thankful to all Open ERP contributors for their efforts and time to make this possible, we expect the same in future, while being mutually beneficial.

1 commentaire:

  1. I am sure that anyone would like to visit it again and again. After reading this post I got some very unique information which are really very helpful for anyone. Please visit my website and give me any suggestions. web design dallas