10 min read

Interesting new features Odoo V10 vs Odoo V8

Interesting new features Odoo V10 vs Odoo V8

Written by Alexis de Lattre (Nouveautés intéressantes Odoo v10 par rapport à Odoo v8).

Translated by Audrey Braun (Anybox) & Aline Vanhalewyn (frenchie.aline@gmail.com).

Date of last update: 14th September 2017

License: This document is published under the Creative Commons License (CC BY-SA 3.0).


Possibility to create an advanced "group by" on any field, and not only on the fields proposed as default by Odoo for the "group by".

group by

Possibility to use an advanced search filter by month or fiscal year. In v8, to filter on July 2017 for example, it was necessary to create 2 filters: "Date greater than or equal to 07/01/2017" then a second filter "Date less than or equal to 07/31/2017", which was long and tedious. Now, you just have to create an advanced search filter on "Date in month 2017-07" (feature provided by the OCA module "date_range").

Possibility to create a "drill-through" on Odoo's dynamic crosstab tables. When you are on a dynamic crosstab, the measurement cells are clickable; when you click on them, a ListView of the lines that make up the figure is displayed. It helps us to "understand" a figure that would have seemed unclear to us. This possibility is provided by the framework, unfortunately some Odoo’s crosstabs do not benefit from it (lack of a ListView on the basic object used for the dynamic crosstab table, but it is not complicated to add it).

When you create an object with translatable fields or modify one of the translatable fields of these kind of objects on their FormView, a blue banner is showed up at the top of the screen, reminding you to update the translation and this banner. The banner contains a clickable link to enter the translation. The purpose of this modification is to avoid omissions such as "a user changes the name of an article in French... but forgets to modify the wording of the article in English", which can lead to serious misunderstandings the next time somebody will try to create a quotation in English with this article.

warm Odoo

On a One2many view editable in ListView (bill lines for example), you can access the FormView of a line by clicking on it (this was not possible with v8).

"Archive" or "Unarchive" button, which replaces the "Active" checkbox for partners, articles. "Archived" filter can be found in the search.

By default, the partner list only displays companies or individuals (partners without a parent) and not all contacts.

Big improvements on the sequences: possibility of automatically having a counter per calendar year, without user intervention at the turn of the year. It is also possible to configure, for a given sequence, a different counter by date interval via a pre-configuration. And (FINALLY!) Odoo takes into account the document date to calculate the sequence instead of taking into account the current date (it works for most of the documents such as the invoice, but it is not systematic on all objects because it depends on how it was developed). This is very convenient when you validate on January 2, 2017 an invoice dated December 31,2016 and you do not want the invoice number INV-2017-0042 but rather INV-2016-0042.


Monetary widget on ListView (available only on FormView in v8): allows you to have the currency symbol next to the amount.



The concept of “accounting period” was removed. This newer version only counts the accounting entry date, which simplifies the editor tool for the accounting reports.

All the accounting reports (ledger, balance sheet, aged trial balance...) have been completely re-developed. They are all available in PDF and XLSX (instead of XLS, which, due to its limitation of 65,536 lines, was sometimes problematic for large accounting books). Moreover, the report’s structure and its calculation are now aligned both in PDF and XLS reports (this was not always the case in v8, where we could have a calculation error in the XLS balance sheet that was not in the PDF balance sheet).

Simplified management in the account statement interface of all book entries posted "in advance" in the expenses account (for example a bank check or a bank transfer to the supplier where the counterpart entry was not into a suspense account but directly into an expenses account). When we are working in an account statement on the special interface editor, it recommends the selection of the black lines to create a book entry from the account statement line (as in v8) but also blue lines (accounting entries already included in the expenses account but not yet linked to any line in the account statement). When selecting one or more blue lines, Odoo will not create a new accounting entry but will simply link the pre-existing accounting entry to the account statement line.

I have developed a small XLS report for bank reconciliation (the report only works for the current date). For each bank journal, it displays the current balance account, enumerates the entries in the expenses account (linked to the bank journal and not linked to an account statement line) and then enumerates the account statement lines that have not yet been "processed" (so, not linked to an accounting line), then displays the theoretical balance of the account statement (to be compared to the balance given by the bank).

Possibility to easily settle (and unsettle) from the FormView of an invoice. This is very useful, for example, when creating a supplier invoice whose payment has already been recorded in accounting: when we validate this supplier invoice, Odoo displays a blue banner at the top of the screen "You have debits in circulation for this supplier. You can allocate them to mark this invoice as paid " and it displays the accounting entries list of unreconcile payment in that provider's account or the unsettled supplier credit note. In one click from the FormView of the invoice, you can select the corresponding payment, which will trigger the lettering in the payable account between the invoice and the payment, marking the invoice as paid. In the same way, from the FormView of a paid invoice, it is possible to disassociate the invoice of a payment, which will return the invoice to the "open" state (and triggers the display of the blue banner and a proposal to settle again). This feature is also available on customer invoices (convenient for customers who have paid a deposit!).


It is no longer mandatory to have a journal entries of credit note separated from the sales journal (same for purchases). In the case of choosing a single sales journal for customer invoices and customer credit note, you can still have 2 different sequences.

It is not possible to save an unbalanced journal entry (in v8, the unbalanced journal entry was only creating issues in the transition from the "draft" state to the "posted" state so the entry could remain unbalanced while providing strange results in the accounting reports for a while).

The accounting report wizard remains open with its specifications saved after editing a report. Thanks to that, if you have made a mistake setting the parameters of the report and only realize it when reading the result, it is not necessary to start from scratch.

Pre-configured time periods can be selected in the accounting reports.


The SEPA / LCR community payment module has been completely rewritten (by me!). The new module is simpler and more ergonomic.

In v8, when creating a transfer order, for example, you had to create the transfer order and then launch a wizard to select the lines to add to the payment order ("pull" method). In V10, we can go to the list of outstanding suppliers’ invoices, tick the invoices we want to pay and ask to add them to the transfer order (if a transfer order does not already exist, it will be created on the fly); this is what I call the "push" method. Therefore, version 10 supports both - the "push" and the "pull" method - to add lines in a transfer order.

You can (finally!) have a "Supplier Transfer" payment method not related to a specific bank account. In v8, the payment method was always related to a "fixed" bank account, which, for a company with 2 bank accounts (for example, one at the BNP and the other at the CIC) required the creation of 2 payment methods "BNP Supplier Transfer" and "CIC Supplier Transfer". But, if the suppliers were not always paid from the same bank account, it was not possible to choose a payment method in the supplier master record! In v10, you can create a payment method "Supplier Transfer" not related to a fixed bank account. To be debited, the bank account will be selected when confirming the transfer order in Odoo.


In v10, there are now 3 “quantity” fields in the customer order lines:

  • qty ordered (value entered by the user)
  • qty delivered (calculated automatically thanks to the delivery notes forms of this order)
  • qty invoiced (calculated automatically thanks to invoices for this order)

Thereby, the form view of customer order allows you to see the complete order status, without having to check several views.

In v8, with the “on demand” invoicing method, the invoice generation button was on the order; with the “from the delivery note” invoicing method, the invoice generation button was on the delivery note. In v10, the button is always on the order. And, you can set the invoicing policy for each item:

  • invoicing depending on the quantity ordered
  • invoicing depending on the delivered quantity

When you create the customer invoice from an order, if you reduce the quantity invoiced in the draft order line (for example for a service that was set to " invoicing depending on the delivered quantity " and you do not want to invoice in full for the moment), Odoo will propose you this item with the remaining quantity to be invoiced at the next invoice creation.

Possibility to add an item to an order already validated, or to increase the quantity of an item already present in the order (only if this option has been enabled in the sales module settings).

By default, the stock reservation is immediate after validation of a sales order (no need to wait for the procurement scheduler or to create a community module to make an immediate reservation).

Simplified pricelists management (for each pricelist, the pricing is set directly in the material master record) => However, it will not be used by Encres Dubuit, which will keep the advanced pricelist management without using this possibility).

The notion of pricelist “versions” was removed. You can choose a start and / or an end date directly in a pricelist rule.

Automation of the "sequence" field on pricelist rules, which was a very important field in v8 and had to be entered manually; it is now automatically filled in by Odoo based on the rule type (global, by article category, by article, by article variant, etc.)


The invoicing of products with a “kit-type” nomenclature has been improved (if “invoicing depending on delivered quantities”): when all the kit components have been delivered, the delivered quantity of the item becomes equal to the quantity ordered. Thus, the product sold is the invoiced product (in v8, if the order was set to "invoicing from the delivery note", the components were on the invoice but not the product sold). However, this does not work in the case of a partial delivery of the kit components (too complicated to manage).


Same improvements as for the sales administration part:

  • the 3 “quantity” fields on order lines
  • the invoicing method depending on the quantity ordered or the configurated delivery quantity on the item
  • modification of a confirmed purchase order (adding an item, increasing the quantity of an item, impossible to delete an item or to reduce its quantity)


When making a partial order delivery or receipt, Odoo gives the choice to the user between "Create a backorder" or "No backorder" (in the latter case, the picking of backorder is still created but it is automatically switched to the canceled state).


The transfer pop-up has been removed. The selection/creation of batches and the selection of quantity modification is done directly in the picking operation lines, which permit to have more "space" on the screen to do this task than in the " small " transfer pop-up.



Possibility to enter a barcode other than EAN13 (EAN8, etc.), whereas in version 8, Odoo only supported the EAN13 barcodes.

If an article has only one restocking rule, the minimum and maximum quantity can be seen directly on the material master record without having to click on the shortcut button to access to the restocking settings.



When an opportunity is marked as lost, the wizard requests the reason. The lost opportunity is automatically archived.


In v10, the old API has been removed. The new API was introduced in Odoo v8 with a compatibility layer between the old and new API. The discontinuation of the old API in Odoo v10 implies that all the official modules have been brought into a new API (the code is simpler, more readable and easier to inherit in many cases). The compatibility layer with the old API has been removed, which implies a performance gain estimated by the editor to 10%, as well as a greater ease of debugging).


Another reason for migration: Odoo S. A. maintains the last 3 major releases. With the release of Odoo v11 at Odoo Experience in October 2017, the editor will officially maintain only Odoo v9, v10 and v11 and will no longer maintain Odoo v8. This argument is to be moderated by the fact that Odoo v8 is still used by many companies and that, even if the editor no longer provides maintenance, the community will most certainly take over, even if it does not have the same human resources as the editor...


The account hierarchy has been removed: there are no more "view" accounts type that are "parent" accounts of other accounts. These accounts were used to make sums in the accounting reports. This functionality should be reintroduced in version 11 with the introduction of a new object "Account categories" comparable to the "Item categories": the categories of accounts will be hierarchical and each account must be assigned to a category.

In the account list view (in v8, Accounting menu> Settings > Accounts> Accounts), the debit / credit / balance fields are no longer displayed. This feature is in a way "replaced" by the accounting dashboard, which displays by default the account balance for each journal, which allows for example to immediately see the balance of each business bank account.

No more "completion" automatism when entering an accounting entry manually: the new entry line no longer displays the correct amount in the debit or credit field to balance the entry.