vendredi 29 mai 2009

Open ERP made language translation easy with Google Translate


Now translate Open ERP terms / fields / objects etc. in any language, as we have made it easier for you with the integration of Google Translate.

We have developed new module which can translate your terms using google translate, You can find menu here: Administration / Translation / Application terms / need review terms…

Google Translate

After Translation

Enjoy using your favorite OpenERP application with Google Translation.

You can get these modules on launchpad in trunk-extra-addon

Name of the module

1. Google_translate


OpenERP Team.

vendredi 22 mai 2009

Html Reports Using Mako Templates

Hello Every One,

Now you can create your HTML reports using Mako Templates for faster and formatted output.Open ERP has added new type of report called mako2html.

Mako is a template library written in Python. It provides a familiar, non-XML syntax which compiles into Python modules for maximum performance. This enables end user to make changes in format of report easily and faster as per her need.


1. Fast: simple three-sectioned layout mako template report takes 1.10 ms
2. Control structures constructed from real Python code (i.e. loops, conditionals) Which will allow user to create reports faster.
3. Straight Python blocks, inline or at the module-level

You can format the report as you need using HTML.


Mako 0.2.4 should be installed on your system.
openERP-server : Trunk version
openERP-client : Trunk version
openERP-addons : Trunk version

As an overview lets see a small example,

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
<%include file=”mako_header.html”/>
% for o in objects:
<div style=”white-space: nowrap; float: left;”>
<p><small><b>Shipping address :</b></small></br></p>
<small>${ o.partner_id.title or ‘ ‘ } ${ }</small></br>
<small>${ o.partner_shipping_id.title or ‘ ‘ } ${ }</small></br>
<small>${ o.partner_shipping_id.street }</small></br>
<small>${ o.partner_shipping_id.street2 or ‘ ‘ }</small></br></address>

% endfor
<%include file=”mako_footer.html”/>

for your company header you need to include <%include file=”mako_header.html”/>
for your company footer you need to include <%include file=”mako_footer.html”/>
This files will bring the header and footer that you have defined for your company in the database.

Sale Order

For Complete Example of Sale_order please Refer the module sale_report_html from :

Thanks & regards

Open ERP team

vendredi 15 mai 2009

IRC Community Meeting on 18 May 09

Hello Everybody,

We remind you the next IRC meeting of this Monday May 18 at 3:00 PM (GMT+2), we suggest you to take note of the points which we will approach during this event:

  1. Branch stability

  2. Installation of an integration server

  3. Creation of a forum which talking about the specifics developments

  4. Creation of a virtual machine intended to help the new users to start with open erp

  5. Contribution to edition of data demonstrations

  6. Call to volunteers to enrich the data of openerptv

  7. Road map: Talking about the last and future developments

Here thus the principal points which will be approached, but all new topics of discussions are welcome (!!

Thanks and Best regards,

Open ERP team

R&D: Planning of May

Here are the main things we plan to work on for the month of May:

1) Planning Management: the new system will allow you to easily plan the work of employees and see, at the end of the planned period,
  • the ratio between the time spent and the time allocated by projects
  • the total time planned by tasks
  • ...

2) Improve the Server Actions: as we found some lack, like the impossibility of using 'uid' as variable, we plan to make some R&D on this interesting feature to make it more powerful.

3) Implement the search function on osv_memory

4) Speed up timesheets: we realized that they were a little slow, so we decided to check the design and improve the speed.

5) Improve Quality Module

6) in CRM, we plan to add info to connect to existing mail server, like Fetchmail, for people that doesn't want or doesn't have the resource to configure the openerp-mailgateway

7) ETL: we have several people full time on this project

8) Multi-Company: we will add a many2many on res_users to depicts the companies for whom the user is working. And we'll also allow someone to directly change the company used currently easily, without having to log out: directly by going through the user preferences + display it in the status bar

9) Clean Translations Process

10) Integration Server: this point is quite a big project, we will start the development of an integration server that will have for aim (examples):
  • Automatic Test at new Commits: Download Code at each commit and try: to install a new DB, to migrate from 4.2
  • Base Quality: to benchmark automatically addons modules
  • Code Cover at DB Installation: to see that demo data only cover 60% of once module code for example

11) Ergonomic Search + List: This is another big task, since we plan to review the design and ergonomy of search/list because The biggest useability/ergonomy concern on Open ERP are:
  • * The menus: too big, too much entry for the same objects -> not clear
  • * The search:
  • - no easy way to perform complex search (&, |)
  • - no way to have smart search:
  • - My Department's Timesheets to Validate
  • - My Overpassed Pending Tasks
  • * The list view:
  • - quite ugly: no way to group elements:
  • - tasks by projects or
  • - by date: Today's Meeting / Tomorrow's Meetings / Others Meetings
  • - not useful (no way to perform easy actions on records from list view):
  • - mark a task as done
  • - replanning a meeting

If we change these few elements, this will increase a lot the usability and
ergonomy of Open ERP. These changes are planned to be done in GTK and Web client.

12) Explain contextual help in configuration wizard at installation of db.

13) Port everything to etree instead of minidom
Remove completely minidom dependencies and replace by etree.
Most important: reports, fields_view_get

14) Report Engine: Test and clean all reports based on work made last month + Add a new report engine to process HTML reports based on mako

15) Document Management: test and put in production with extra modules

16) Wiki: re-test and provide a more complete documentation
Write a chapter in the book about the wiki, write a more complete wiki page

17) Project Module: Set Task Description as a wiki field

18) eTiny
  • Bugfix Trunk (nearly ok)
  • Speed Improvement (nearly ok)
  • Search and List View Ergonomy
  • Better Dynamic Menu
  • Buttons in wizards in the bottom
  • Contextual doc in new window
  • Things to clean: view editor: gantt support, new attributes for seach view (see related task)

19) Import / Export from client side, GTK + eTiny
Using "id" and "___:id" for man2one and many2many fields

Add an option to export:
  • import compatible: it exports something that can be imported as it:
  • don't export function fields
  • don't export sub-objects of one2many and many2many
  • export many2many as list of arguments

20) Google-Map/Earth : Finnish and clean geo-marketing stuff

21) Finnish and clean l10n_fr: Integrate CERFA declaration

22) Translations: Check that 100% of the software can be translated! Check if google_translate module is a good solution or not. Review manually all translated terms of the french translation.

23) Test Thunderbird plugin

24)Review completly project_gtd module according to new possibilities of
ergonomy of the clients:
Search on timeboxes display as selection box and has two buttons:
Daily Timebox (first one)
Context Search:
One button by Context
Add buttons in list view on the right of Timebox field:
> (move on next timebox, ex: from daily to weekly)
< (move on previous timebox) My Inbox is an action 25) Review completly CRM case views according to new possibilities of ergonomy of the clients: Buttons/Icons in list view (like in forms) Search Criteria 1 Day 26) New Design eTiny 27) Module Recorder / Aspirateur To bugfix and to clean the produced XML: it should be more human readable 28) Backport all bugfixes stable -> trunk:

29) Portal: Make the portal module useable 'out-of-the-box'

30) The ORM layer is being ported to SQL Alchemy. We plan to remain the most
compatible possible so that you will not have to rewrite existing modules,·
while using the most possible of SQL Alchemy features. We planned 3 man*months. on this project and expect to finnish this by the end of may / middle of june. The final result will provide:
  • being database independant: support for MySQL, Oracle
  • use the power of SQLAlchemy in your module's code
  • add features provided by SQL Alchemy
  • data versioning (time dependant dat in fields)
  • better schema migrations/handling
  • more powerful orm, supporting expressions like: == 'Belgium"
  • use less memory due to a better connection pool handling
We will keep the best of SQL Alchemy (object queries, db independance) and the best of Open ERP (smart migration system, workflow integration, smart function fields with cache or dependencies, ...)

31) Finish training / school management modules.

We are expecting same level of enthusiasm and contribution from Open ERP community as past.

Thank you

Open ERP team

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.

jeudi 14 mai 2009

Business Analysis On Click With Open ERP BI

Hello friends we are happy to announce improvement in our BI (Business Intelligence) module. Now one can easily get analysis on various facts and figures based on Sales, Purchase, Production cycles and more....

We have made it very simple for end user, You can enjoy its functionality with just click of mouse and make the analysis of business data in few seconds. Starting with simple drag and drop, end user can make the simple report, which can be refined with the drills to deep levels and making the complex and detail reports based on business data. Filtering of data can be done with one click allowing end user to filter data according to the need. Reports generated can be seen in the form of graphs and charts too. With every step the MDX query is generated, which can be edited to change the output. Output can be saved as query and can be viewed or can be extended later.

Here is an example of sales data analysis using Open ERP Business Intelligence. In this example one can see how end user can easily configure BI cube and analyse sales data for - product category wise total sale, sale of particular product in particular region, date wise product sale, product sale based on number of unit, further end user can increase criteria for analysis as per need.

Cube browser in action

So, enjoy the futuristic BI application with Open ERP application and get the accurate analysis of your data as per your choice.

To get OLAP module go to lp:~openerp-commiter/openobject-addons/trunk-extra-addons

To get Web Client go to lp:~openerp/openobject-bi/client-new-trunk

Please note that these developments are still a prototype developed on trunk version. It’s fully working but not yet fully integrated in the main branch of Open ERP. We plan to integrate new client developments, like BI and Webmail in the new version of the web client, because this new version will integrate a client side plugin system. So, it’s better to wait for a few months before using the BI system, the v5.2 (or v5.4).

Thanks & Regards,

OpenERP Team.

mardi 12 mai 2009

Open ERP Web - What's going on?

Most of you, if following the latest development on Launchpad project area, might be aware of the big changes with Open ERP Web Client. We migrated the web client to CherryPy3 droping the TurboGears completely and migrated Kid templates by faster Mako templates as a major step to make the Web Client much more faster and easier to deploy.

All the Kid templates are converted to faster Mako templates, i18n/l18n features have been partially reimplemented using Python Babel, CherryPy2 (TG is built on top of CP2) was replaced with CherryPy3, the latest, much better version of CherryPy Server.

This greatly reduced the pain of getting started with and deploying of Open ERP Web client. Now the number of third party dependencies are reduced to 3-4 pure Python libraries which you can install within the local lib dir with the help of `` script, found under the same lib directory. Just get the source from Launchpad, run the and launch the web client...

The initial test results are very impressive. We have seen almost 3-5 time speed improvement. Here are the benchmark results of the latest trunk version against the stable 5.0 branch which is running over TurboGears.

The benchmark test was done using Apache Benchmark Tool against relatively bigger Customer Invoice Form view. The command was used like this:

$ ab -C session_id=$session -n 100 "http://localhost:8080/form/edit?model=account.invoice&id=1"

where $session should be replaced with session id (you can use firebug to see the session id).

Here is the comparison between before and after improvements in Open ERP web client

Result of Open ERP Web 5.0 (TurboGears + Kid)

Result of Open ERP Web Trunk (CherryPy3 + Mako)

This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
Licensed to The Apache Software Foundation,

Benchmarking localhost (be patient).....done

Server Software: CherryPy/2.3.0
Server Hostname: localhost
Server Port: 8081

Document Path: /form/edit?model=account.invoice&id=1
Document Length: 79965 bytes

This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
Licensed to The Apache Software Foundation,

Benchmarking localhost (be patient).....done

Server Software: CherryPy/3.1.2
Server Hostname: localhost
Server Port: 8080

Document Path: /form/edit?model=account.invoice&id=1
Document Length: 90394 bytes

Concurrency Level: 1

Concurrency Level: 1

Time taken for tests: 166.323 seconds

Time taken for tests: 42.054 seconds

Complete requests: 100

Complete requests: 100

Failed requests: 0

Failed requests: 0

Write errors: 0

Write errors: 0

Total transferred: 8022000 bytes

Total transferred: 9063400 bytes

HTML transferred: 7996500 bytes

HTML transferred: 9039400 bytes

Requests per second: 0.60 [#/sec] (mean)

Requests per second: 2.38 [#/sec] (mean)

Time per request: 1663.228 [ms] (mean)

Time per request: 420.543 [ms] (mean)

Time per request: 1663.228 [ms] (mean, across all concurrent requests)

Time per request: 420.543 [ms] (mean, across all concurrent requests)

Transfer rate: 47.10 [Kbytes/sec] received

Transfer rate: 210.47 [Kbytes/sec] received

Connection Times (ms)

Connection Times (ms)

min mean[+/-sd] median max

min mean[+/-sd] median max

Connect: 0 0 0.0 0 0

Connect: 0 0 0.0 0 0

Processing: 1556 1663 71.3 1663 1856

Processing: 382 420 27.7 415 523

Waiting: 1555 1662 71.3 1662 1855

Waiting: 381 420 27.7 415 522

Total: 1556 1663 71.3 1663 1856

Total: 382 420 27.7 416 523

Percentage of the requests served within a certain time (ms)

Percentage of the requests served within a certain time (ms)

50% 1663

50% 416

66% 1681

66% 418

75% 1695

75% 420

80% 1715

80% 424

90% 1775

90% 436

95% 1801

95% 512

98% 1829

98% 520

99% 1856

99% 523

100% 1856 (longest request)

100% 523 (longest request)


You can see significant performance boost in second test result. We observed 3-5 time speedup. There are still room to improve the performance further. Like reducing RPC calls, catching results of some computationally heavy functions. Implementing a way to directly call server methods if web client and server are installed on the same system (completely eliminating TCP layer).

What's next?

Besides this, we also planned to make web client modular implementing plugin system which let you create your own plugins to extend the functionality of the web client. We appreciate your ideas and suggestions in this regards.

Also, we have planned for a better main menu & tabified interface (similar to GTK client) where you always have access to the main menu and all views will be opened in tabs inside the same html page instead of utilising browser tabs. We had discussion about such interface previously, you can search the forum for a very good mockup implementation.

We are also thinking of writing some automated unit tests using CP3 testing API. We already wrote some basic tests to check how to proceed. You can run all tests by launching `` script...

We greatly appreciate you ideas, suggestions in this regards...

Thanks and regards to all contributors

Open ERP Team

Save time/money with Open ERP web client.

mardi 5 mai 2009

Integration of Open ERP with Google Calender and Google Blogger

Here is a new development from our core technical team, now enjoy functionalities of google calendar and google blogger with Open ERP.

We have developed a module which synchronize Google-Calender events with Open ERP events. So, now get updates of calender schedules from google calendar in Open ERP and vice-versa. Users can change event schedule form any where, with her google calendar which automatically updates Events in Open ERP.

Google Calender

Open ERP Event Management Module.

Another development is integration of Google Blogger and Open ERP Task Management, which exports task to blogger and one can get comments on his / her activity on mentioned tasks. A very useful feature of blogger, that is open discussion will be enhanced the development efforts. This feature helps in managing large projects with many tasks and many users working on different task (simultaneously), with this functionality all users can share their progress for the task with others and give their comments for the same.

Google Blogger with Open ERP Tasks.

Open ERP Tasks / Project Management Module.

Enjoy using your favourite Open ERP application with Google Calender and Google Blogger.

You can get these modules on launchpad in trunk- extra- addons.

Name of the modules
1. Google_calendar
2. Google_blogger

Open ERP Team.