# Tryton Release 6.6

**URL:** <https://discuss.tryton.org/t/tryton-release-6-6/5632>\
**Category:** News\
**Created:** [October 31, 2022, 7:00pm UTC](https://discuss.tryton.org/t/tryton-release-6-6/5632 "2022-10-31T19:00:05Z")\
**Posts on this page:** 3\
**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:** [October 31, 2022, 7:00pm UTC](https://discuss.tryton.org/t/tryton-release-6-6/5632/1 "2022-10-31T19:00:05Z")

</div>

![Free Making Halloween Drawings Stock Photo](https://discuss-cdn.tryton.org/uploads/default/original/2X/3/3a2ea939659ac2b414f43f6e4cdaaae253a7378b.jpeg)

We are proud to announce the 6.6 release of [Tryton](https://www.tryton.org/).  
This release provides many bug fixes, performance improvements and some fine tuning. What is also significant is the addition of 10 new modules and support for the Ukrainian language.  
You can give it a [try on the demo server](https://www.tryton.org/download#demo), [use the docker image](https://www.tryton.org/download#docker) or [download it here](https://www.tryton.org/download).  
As usual migration from previous series is fully supported. No manual operations are needed to migrate from 6.4 to 6.6.

Here is a list of the most noticeable changes:

## Changes for the User

The validation error messages have been improved to include the record name and the value causing the problem to make it easier for the user to solve the issue.

Saved CSV exports now have an option to include a header row or not.

### Accounting

We added a wizard which allows move lines to be delegated to another party. This is useful when a debt is transferred to someone else or when correcting mistakes.  
When a delegation like this is done for an invoice move, the new party is stored as an alternative payee on the invoice. It is also possible to define the alternative payee before posting the invoice.

The statement lines now require a party to be set for any accounts that require a party. This gives direct feedback to the user instead of later raising an error popup.

Now, before posting a landed cost or a shipment cost, we show the user how the cost will be allocated. This helps prevent mistakes. Once posted it’s still possible to see the allocation.

### Commission

It is now possible to create a commission manually. This is useful to record commissions that are calculated by another system.

The commissions can now be included (or not) in the stock margin report thanks to the contextual checkbox.

### Country

We’ve added country organizations, this is used to store a list of countries are currently in a organization. By default we create and setup major economic organizations like the European Union, the North American Free Trade Agreement, and Southern Common Market etc.

 ![European Union form](https://discuss-cdn.tryton.org/uploads/default/original/2X/b/b2953980c2a16f6a428e364af8f4b93539477c25.png)

We’ve also added the [UN M49](https://unstats.un.org/unsd/methodology/m49/) regions which group countries based on their geographical location. This is useful for reporting.

 ![Regions](https://discuss-cdn.tryton.org/uploads/default/original/2X/5/5ed170b4bc5fd7fad5935a8790061bb53638983a.png)

### Incoterm

We now display the transport mode on the carrier list.

### Marketing

It is now possible for a party to unsubscribe from a scenario. This will prevent any new records (like sales) linked to the party from starting a new activity for the scenario.

The number of subscribed emails per list is now calculated. This is often interesting information, and can indicate the popularity of a mailing list.

### Party

The contact mechanisms can now be linked to an address. This is useful to record, for example, that a phone number is at a specific place.

The relationships between parties now have start and end dates. When the current date is no longer between the start and end date of the relationship, the relationship is automatically inactive.

### Purchase

We added reporting for purchases. It shows information such as the quantity, amount of expense and the trend. The reports can be grouped by supplier or product.

### Sale

The sale reporting can now use the new regions to group sales.

Sales now support the collection of goods from the warehouse. This is done by simply using the warehouse address as the shipment address.

We now store which employee has processed the major states of a complaint. This is useful for auditing when something has gone wrong.

The subscriptions now have a revision number that increases each time the subscription is modified by going back to the draft state. All the modifications are also historized.

The sales opportunity now uses the default payment term for the customer if they have one.

The subscription services are now displayed on the product form. This makes it easier and faster to create a new service.

### Stock

It is now possible to cancel a move that is done, if the stock period is not yet closed (but only by code). This allows shipments, that are cancelled in the middle of the workflow (for example after picking), to cancel the intermediary moves (and, for example, leave the outgoing location empty).

Outgoing shipments support pickup at the warehouse, if the address is the warehouse address.

It is now possible to reset packed customer shipments. This is useful when a user discovers a mistake just before shipping.

We no longer check that there are no consumable products in a location that is being deactivated. Only goods are checked.

If a user has set a stock lot on the supplier moves of a drop shipment, we copy the lot to the customer moves.

We added support for the preferred notification method for the DPD carrier.

We now use, by default, the contact mechanism linked to the shipping address for all the shipping services.

## New Modules

### Account Consolidation

The [_Account Consolidation Module_](https://docs.tryton.org/projects/modules-account-consolidation/en/6.6/) allows consolidated accounting reports for multiple companies.

### Account Statement SEPA

The [_Account Statement SEPA Module_](https://docs.tryton.org/projects/modules-account-statement-sepa/en/6.6/) implements importing CAMT.052, CAMT.053 and CAMT.054 [SEPA](https://www.iso20022.org/) files as statements.

### Authentication SAML

The _[SAML](https://en.wikipedia.org/wiki/Security_Assertion_Markup_Language) [Authentication Module](https://docs.tryton.org/projects/modules-authentication-saml/en/6.6/)_ allows delegation of user authentication to an [identity provider](https://en.wikipedia.org/wiki/Identity_provider_(SAML)).

### Carrier Carriage

The [_Carrier Carriage Module_](https://docs.tryton.org/projects/modules-carrier-carriage/en/6.6/) extends carrier support by adding carriers before and after the main carrier.

### Marketing Campaign

The [_Marketing Campaign Module_](https://docs.tryton.org/projects/modules-marketing-campaign/en/6.6/) helps to collect data about marketing campaigns.

### Purchase Blanket Agreement

The [_Purchase Blanket Agreement Module_](https://docs.tryton.org/projects/modules-purchase-blanket-agreement/en/6.6/) manages long-term contracts with suppliers when purchasing a specific quantity of product using multiple orders over a period of time.

### Sale Blanket Agreement

The [_Sale Blanket Agreement Module_](https://docs.tryton.org/projects/modules-sale-blanket-agreement/en/6.6/) manages long-term contracts with customers when selling a specific quantity of product using multiple orders over a period of time.

### Sale Product Recommendation

The [_Sale Product Recommendation Module_](https://docs.tryton.org/projects/modules-sale-product-recommendation/en/6.6/) provides facilities to implement product recommendations during a sale.

### Sale Product Recommendation Association Rule

The [_Sale Product Recommendation Association Rule Module_](https://docs.tryton.org/projects/modules-sale-product-recommendation-association-rule/en/6.6/) implements product recommendations based on [association rule learning](https://en.wikipedia.org/wiki/Association_rule_learning) from previous sales.

### Sale Promotion Coupon Payment

The [_Sale Promotion Coupon Payment Module_](https://docs.tryton.org/projects/modules-sale-promotion-coupon-payment/en/6.6/) includes the matching parties from the payments to count coupon usage per party.

## Changes for the System Administrator

Modules can now register URLs as authentication services. The clients display these at login so the user choose between them. The only restriction is to be web based.

It is now possible to define which SQL method must be used for unaccent and similarity. This is useful to use an [immutable unaccent method](https://discuss.tryton.org/t/how-to-activate-unaccent-search/5586) which can be used to build indexes.

The scheduler now uses the server timezone (instead of UTC) to work out when to run. This makes it easier to plan tasks to run during the office night.

For performance reasons the server now resets the user sessions less often. This makes session expiration slightly less precise.

Some browsers are now using a random name as the origin for requests from web extensions. The server now considers all of them as having a `null` origin.

We’ve added command line completion to all the Tryton’s scripts. For this to work [argcomplete](https://pypi.org/project/argcomplete/) must be installed.

The server now enforces certificate validation when connecting to an SMTP server.

### Web Client

The web client now checks that it is of the same series number as the server (in the same way that the desktop client does). This helps earlier detection of a wrong installation.

### Authentication

LDAP authentication now supports STARTTLS connections.  
It also enforces validation of the certificate.

## Changes for the Developer

We’ve added the method `sql_id` to `Reference` fields which returns the SQL statement to extract the `id` integer from a reference column. This ensures the same syntax is always used so it can also be used to build an index.

`ModelSQL` now uses a [declarative syntax](https://docs.tryton.org/projects/server/en/6.6/ref/models.html#index) to define indexes. The database update process ensures the creation, updating or deletion of indexes based on the declaration.  
The index engine chooses the best type of index to use depending on the definition and features available in the backend database.  
The ORM defines, by default, indexes that are useful for common operations.  
In consequence, `Field.select` has been removed.

It is now possible to define values in a wizard state view that do not trigger on\_change calls. This is useful when the wizard must display an existing record (like the modification header on sale and purchase).

`Char` fields now have a [`strip`](https://docs.tryton.org/projects/server/en/6.6/ref/fields.html#trytond.model.fields.Char.strip) option which automatically strips leading and trailing whitespace from the value. This option is activated by default.

We now strip only one wildcard when testing for fulltext search. This allows the user to double the wildcard when they want to have a non-fulltext search.

The `PYSON` `If` no longer enforces exactly the same type for both branches.

We now allow `PYSON` for the `size` attribute of fields to be `None` like the non-`PYSON` value.

We use a singleton for `TableHandler` to speed up the database update process as we only need to fetch the table definition once.

### Accounting

An _Account Types_ amount now supports a date range in the context.

The chart of accounts, analytic accounts and taxes now use a context model like the other reports.

When the payment service supports it, we mark parties as identical if they used the same payment means. This is useful to prevent people from using the same coupon with different accounts.

### Country

We now calculate the unicode flag for countries and subdivisions.

### Party

We manage dereferenced names in the tax identifier clause of _Party_.

### Sale

We now use a `MultiValue` field for the product lead time. This will allow it to be customized by company, for example. And we removed the `CompanyValueMixin` from the default lead time as the lead time field does not normally depend on the company.

We removed the unused address on complaints.

The sales opportunity reporting has been refactored to follow the same design as the sales reporting.

Coupons can now count the usage for multiple parties. This takes advantage of the identical party feature of payments.

### Stock

The synchronization between moves on a drop shipment has been improved which allows the stock lot to be synchronized.

The transit location can now only be used on internal shipments between different warehouses.

We removed the default currency on stock moves. This was error prone for any users who had to manually enter moves.

It is now possible to group by date the result of products by location. This useful because it is now used to calculate the quantity for each day of a period using a single query.

The service types for UPS have been updated.

We now store the cost of a shipment in the carrier’s currency.

### Web

The reset password emails now display the delay instead of a date and time in UTC. This is easier for the user to understand.

### Web Shop

We now use the fulfillment order instead of the deprecated fulfillment.

---

<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 1, 2022, 7:09am UTC](https://discuss.tryton.org/t/tryton-release-6-6/5632/2 "2022-11-01T07:09:05Z")

</div>



---

<div class="post-metadata">

**Author:** ![system](https://discuss-cdn.tryton.org/uploads/default/original/1X/c6f8ec0a40525cdcd50058c734283450a4b3d38b.png) [@system](https://discuss.tryton.org/u/system)\
**Post date:** [November 30, 2022, 7:00pm UTC](https://discuss.tryton.org/t/tryton-release-6-6/5632/3 "2022-11-30T19:00:27Z")

</div>

This topic was automatically closed after 30 days. New replies are no longer allowed.
