# Tryton Release 3.8

**URL:** https://discuss.tryton.org/t/tryton-release-3-8/5932
**Category:** News
**Created:** [November 2, 2015, 5:00pm UTC](https://discuss.tryton.org/t/tryton-release-3-8/5932 "2015-11-02T17:00:00Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)
#### Post date: [November 2, 2015, 5:00pm UTC](https://discuss.tryton.org/t/tryton-release-3-8/5932/1 "2015-11-02T17:00:00Z")

</div>

We are proud to announce the 3.8 release of [Tryton](http://www.tryton.org/).

For the first time the release contains _sao_, the new web client of Tryton.  
It is the result of the [Indiegogo campaign](https://www.indiegogo.com/projects/sao-a-beautiful-web-client-for-tryton#/). It is developed using mainly [jQuery](https://jquery.com/) and [Bootstrap](http://getbootstrap.com/) and its design is responsive. It requires a recent HTML5 compatible browser.  
Its usage doesn’t require any modification on the server side, every modules are working out of the box with sao just like they do with the GTK client.  
A demo is available at [http://demo.tryton.org](http://demo.tryton.org) using demo/demo as login/password.  
This brings to 3 the number of supported client for Tryton.

A lot of work has been done to improve the accessibility of the GTK and web clients. For the GTK client, we followed the [GNOME Accessibility Developers Guide](https://developer.gnome.org/accessibility-devel-guide/3.8/index.html.en) as much as possible and for the web client, we followed the [Web Accessibility Initiative](http://www.w3.org/standards/webdesign/accessibility) of the W3C.  
You can follow further progress on this topic on the [issue3459](https://bugs.tryton.org/issue3459).

And of course, this release contains many bug fixes and performance improvements.

_As usual, migration from previous series is fully supported._

_The following screenshots are based on sao but the same feature exists also on the GTK client._

Here is a comparison of the render of sao versus tryton:

 ![Sao sale](https://discuss-cdn.tryton.org/uploads/default/original/2X/6/69388dd743f333013c0c1d9556ee8ef02ae986ac.png)

 ![Tryton sale](https://discuss-cdn.tryton.org/uploads/default/original/2X/6/68ecd31502b575d4af25fae4befa6c51b7fc0ada.png)

## Major changes for the user

- The client is now able to generate meaningful error messages for all kind of validation. Those error messages use the same syntax as the search filter.

 ![Error message](https://discuss-cdn.tryton.org/uploads/default/original/2X/7/70a2c3685eea2c03e26ececd7adca4c36fba9312.png)

- For a better accessibility the custom background color on widget is replaced by ‘ **bold** ’ label for required fields and ‘_italic_’ label for editable fields. In the same spirit, the color of rows has been removed and can be replaced by icons.

 ![Label bold and italic](https://discuss-cdn.tryton.org/uploads/default/original/2X/6/6af5f74470c94417170ad97e5f1dac7d2ec13f7f.png)

- A new option for _fast tabbing_ has been added to the client. If activated, it skips read-only fields when navigating with the tab key. This was the previous default behaviour which needed to be optional to allow users with disabilities to navigate on read-only field for reading.

- The export feature now works only on selected records but it can export a tree structure.

### Accounting

- A new report showing the cash journal amounts over a period is added. This is useful to check closing cashier.

- The French accounting generates the FEC (Fichier des Écritures Comptables).

- The wizard that generates payments allows to set a date instead of the default which is today.

- The default revenue and expense accounts can be configured from accounting configuration.

 ![Account configuration](https://discuss-cdn.tryton.org/uploads/default/original/2X/3/3b09d38f0435307793fa4123d01cda2dfa39dfa5.png)

- The date of statements can be corrected after they are posted.

### Party

- The language of the party depends on the company now.

- An extensible list of identifiers replace the field VAT.

 ![Party identifiers](https://discuss-cdn.tryton.org/uploads/default/original/2X/3/306df387d398c942dd2a54f2927d0832b9ce6579.png)

### Project

The computation of the project tree has been hugely improved by grouping the computation and use of better queries.

- There is now a progress field on the projects and tasks and of course a total which is the sum of the children.

 ![Project progress](https://discuss-cdn.tryton.org/uploads/default/original/2X/4/4f77d41555f8ee63b544d13953e8a7989dbf56d9.png)

- A new method to generate invoice from project has been added which is based on the progress field.

- It is now possible to link purchase lines to a project which will be added to the cost field.

- The time sheet works have now a total duration field which compute the duration of the work and its children.

 ![Hours per work](https://discuss-cdn.tryton.org/uploads/default/original/2X/3/393e0a3d0571d96a03262b08dd76c0cb01c3b049.png)

### Sale

- The delivery date on sale line shows the effective date once the goods are delivered.

- It is now possible to deliver the sale to another party from the one on the invoice. This is the other side of the drop shipment which makes Tryton fully support drop shipments.

 ![Sale shipment party](https://discuss-cdn.tryton.org/uploads/default/original/2X/0/035218c9db5da9b54c00842f459ad4810374d3a5.png)

- The drop shipment now uses two distinct moves using an temporary drop location.

### Purchase

- The delivery date on purchase line shows the effective date once the goods are received.

- Stock moves can be cancelled from the purchase view without having to create a supplier shipment.

### Stock

- It is possible to ask Tryton to recompute the average cost price of a product by replaying all the moves since the beginning.

- It is possible to configure another picking location different from the storage location for the warehouses.

 ![Warehouse picking location](https://discuss-cdn.tryton.org/uploads/default/original/2X/b/bed5e482d53af2afc8d25eb38c9d4971e071e157.png)

- It is possible to set an internal provisioning per location which is used for internal order point by default for all products.

#### Landed Cost

Those new modules allow to record landed cost on supplier shipments after their reception. A new document is created to link supplier invoice lines with shipments and to define which method to use for cost allocation. For now, there are two methods available: _By Value_ and _By Weight_.  
And thanks to the _Update Cost Price_ wizard, the cost price of the products can recomputed taking into account the landed cost.

 ![Landed cost](https://discuss-cdn.tryton.org/uploads/default/original/2X/8/89befd2a06e3e005fc2b536c0afb4594341c8489.png)

### Customs

A new module allows to define the Tarif Code from the [Harmonized System](http://en.wikipedia.org/wiki/Harmonized_System) and its duty rate on the products. The duty rate is stored for a country over a period and two computation types are available: a fixed amount or an amount per quantity.

### Sale Complaint

This new module is for managing customer complaint about sales or invoices. Actions can be defined to solve the complaints like returning the sale or crediting the invoice. A work flow for approval of the complaint actions is set up using the access rights.

### Sale Promotion

It is now possible to apply formula based promotions on sales selected thanks to some criteria. The promotion changes the unit price of the line when the sale goes into quotation (and is restored if it goes back to draft) but only if the promotion is in favor of the customer. The available criteria are: the price list, a period, the quantity and the products.

### Sale Stock Quantity

This new module checks at the quotation of the sale if there are enough quantity of products in the warehouse. It also checks that the new sale will not hurt older sale that will be shipped later.

## Major changes for the developer

- The progress bar widget works with float between 0 and 1 to ease usage as percentage.

- The rich text widget uses now a subset of HTML to allow its implementation in _sao_.

- The `Many2One` has a new option `target_search` which define the kind of query to use for dereferenced search. The options are `subquery` and the new `join` (which is the default). The `join` method generate a faster query in most cases.

- The SQL constraints use a similar syntax to [python-sql](https://pypi.python.org/pypi/python-sql). This gives more flexibility to implement backend for other databases.

- Trying to create/write/delete on a `Model` based on a `table_query` raises an exception instead of a silent error.

- The table name of a `ModelSQL` can be overridden with a configuration file. This allows to work around database limitations on the length of table names.

- The new `StateReport` has been added to wizards, to simplify the code of wizards that run a report.

- The style on reports has been removed, experience show that this feature was not used.

- The [PostgreSQL](http://www.postgresql.org/) backend manages now [schema](http://www.postgresql.org/docs/current/static/ddl-schemas.html). This allows different instances of Tryton sharing the same database.

- The generic foreign key to create/write user on all `ModelSQL` has been replaced by a rule that prevent to delete users. This greatly improves scalability in some circumstances.

- The `Property` field supports now `float` and `integer` values.

- A subdirectory `locale/override` is supported for modules that override translations of other modules.

### Accounting

- The charts of account are no longer translatable. Instead we provide translated charts via a template using `XSLT`.

- The invoice doesn’t set a unit price on the line. For this feature the purchase or sale module must be used.

- Some fields of the invoice like the _note_ and the _origin_ are editable after posting the invoice.

### Product

- Conversion between units no longer results in silent failures but an explicit error is risen.

- The volume property has been added to the products.

### Project

- The tree structure of the project and the time sheet have been separated, each object has its own one.

- The price list uses the same decimal precision as the product.

- The cost price of the employee is stored on the time sheet line for the date of the line. This allows to sum the costs of time sheet faster

### Purchase

- The state of the purchase request is now searchable.

- The purchase requests are generated even if the rounded quantity is zero to allow the user to still decide to purchase more.

### Stock

- Many unnecessary restrictions on the edition of move fields have been removed.

- The expected quantity of the inventory lines is always computed even if they are added manually.

- It is possible to create _staging_ and _draft_ moves using _view_ locations. Those locations will have to be changed to really do the move.

- The inventory uses the grouping feature to create the moves. This allows to easily support the lot (or any other extra field).
