L'Agenda du Libre

Logiciels, Arts, Données, Matériels, Contenus, Communs, Internet...

À proximité

Tryton

Actualités des organisations

Tryton

Release 1.6.0 of python-sql


Wallonie
Publié le
vendredi 02 mai 2025 22h01
Importé le
samedi 03 mai 2025 05h04

We are proud to announce the release of the version 1.6.0 of python-sql.

python-sql is a library to write SQL queries in a pythonic way. It is mainly developed for Tryton but it has no external dependencies and is agnostic to any framework or SQL database.

In addition to bug-fixes, this release contains the following improvements:

  • Fix position of order_by parameters in Select query
  • Add support for weak reference on SQL objects
  • Add support for Python 3.13

python-sql is available on PyPI: python-sql 1.6.0.

1 post - 1 participant

Read full topic

Tryton

Tryton Release 7.6


Wallonie
Publié le
mardi 29 avril 2025 08h00
Importé le
mardi 29 avril 2025 13h04

We are proud to announce the 7.6 release of Tryton.
This release provides many bug fixes, performance improvements and some fine tuning.
You can give it a try on the demo server, use the docker image or download it here.
As usual upgrading from previous series is fully supported.

Here is a list of the most noticeable changes:

Changes for the User

Client

We added a new menu entry on the list to reset the column widths to their original size.

A new widget has been added on the form to pick a color.

A simple chat widget has been added on the sidebar in beta.
It allows to chat in live between users on specific document.

When saving a CSV export, the option to ignore the search limit is now stored also on the server.

Web

It is now possible to resize the column widths (like on the desktop client).

Accounting

As creating payment term is not always easy, we provide now by default the most common payment terms like “Net 30 days”, “Net 30 days End of Month” etc.

The legacy numbering of account move based on journal has been removed and the Post Number field has been renamed to Number.
Also the numbering of account move is using now a strict sequence to guarantee any missing number.

The sign of the amount of account and analytic budgets has been inverted to be the same as the income statements.

The Spanish AEAT reports is not using a start and end periods instead of a list which may not be continus.

Depending on the payment method, it is no more always needed to group payments to process them. For example, Stripe and Braintree payments do not create a payment group as they are managed individually.

It is now possible to download all the SEPA message at once.

When entering manually, the statement is using its start date to compute the start balance instead of balance of the last statement. This is useful if for some reasons, you are not entering the statements in the chronological order.

We added a new report displaying each statement journal with its latest date and balance.

It is now possible to order by preferences the bank account of a party. Currently Tryton always pick the first one by default.

Sale

We manage now the expiration of quotation. A validity duration can be configured for the quotations. It is not possible to confirm a quotation with a sale date after the expiration date. When a quotation reaches its expiration without being confirmed, it will be automatically cancelled.

It is now possible to open a list of all the products from a sale order. This is useful for example to verify the available quantities at once.

A new action has been added to the complaint to create automatically a coupon number from a promotion. It is a common practice to answer to customer complaint by giving them such coupon. This feature prevents to give the access right to create coupon to the user managing the complaints.

The actual quantity of the sale line is now used when processing a complaint instead of the ordered quantity.

We added on the sale the original amount and total before any promotion was applied. This is useful if you want to show those amount to the customer.

We added a menu entry to open all the coupon numbers of promotion. This eases the management when you have a lot of coupon numbers.

Now if a secondary unit is defined on the product customer, then it is filled automatically on the sale line.

Purchase

A date has been added to the purchase orders to store when the quotation will expire. This improves the following of quotations before they expire.

Now if a secondary unit is defined on the product supplier, then it is filled automatically on the purchase line.

Stock

We display the quantity of product when searching for a location; product or lot from a stock move.

The internal shipment gains a packed state when it is between two warehouses. This way we support also to create packages and shipping labels for such shipment.
We also compute the measurements for the internal shipments as needed for some carrier.

The location place is now displayed on inventory line to help finding the products in the location.

Company

It is now possible to define which tax identifier to use for a company per country and/or organization. For example a Belgian company with a Belgian VAT may have a French VAT number when doing business in France.

Country

Tryton can now search subdivision by their shorted code. This provides a better user experience as the full subdivision codes are often prefixed with the country code that the user usually do no type.

Incoterm

We do not require anymore the Incoterm for sale between European countries.

Notification

It is now allowed to set a fallback user on notification without a field set. So the user is always notified.

Party

We support now to enter structured address (with entries for the street name, building number, post box etc), then such address will be formatted following its country. We include in standard the format of 222 countries.

We notify the user if he is about to create a contact mechanism that already exists.

We added new tax identifiers such as the Brazilian Company Identifier, the Canadian Business Number and the Croatian Identification Number.

Web Shop

On Shopify, we archive products that are removed from the shop instead of deleting them. This way if they are added back, we do not loose any customization done in Shopify admin.
In the same way, we do not update the product description if it is empty so they can be fully managed in Shopify admin.

Changes for the System Administrator

Web User

We allow users of the *Party Administrator" group to edit web users.

Changes for the Developer

Server

To follow the official supported Python version, the support of Python 3.13 has been added and support of Python 3.8 has been removed.

We lock now records at the transaction start like for the table.

We include a DecimalNull in the tools that behaves like the SQL NULL by with Decimal.

We introduce a chat backend as beta.

Transaction.check_warnings is now a dictionary used to delete warnings all at once at the end of the transaction.

The target model of a field is now stored in ir.model.field.

The ModelStorage has been reworked to add dedicate hooks that replace and simplify in many cases the need to extend the create, write and delete methods. There is now:

  • preprocess_values: to prepare the values before create or write
  • on_modification: to trigger processes when some records and fields have been modified
  • check_modification: to verify if a modification is permitted
  • on_write: to set methods to be called once the records have been modified
  • on_delete: to set methods to be called once the records have been deleted

And there is now a ModelStorage.compute_fields method used to store new values for computed fields.
All those changes allowed to remove almost all the extension of the CWD reducing the complexity and improve the performance.

The select timeout for the cache channels is now configurable.

The series of trytond is now stored in the database. This allows the server to prevent to use by mistake a database from a different series.

The wizard state views are now filled with the default values. This removes the need to use getattr with a default value.

As passlib does not support Python 3.13, it has been replaced by pwdlib.

It is now possible to limit the size of the RPC arguments. All the standard RPC methods have been reviewed to add such limitation when it makes sense.

The field_names argument is now optional when calling Model.default_get.

The XML data are now always synchronized with the database. So the ModelStorage.check_xml_record method has been removed.

When searching on Char and Text, the None values are converted as empty string which is the expected behavior by users.

It is now allowed to return instances as default values instead of id. The server will convert them automatically into ids for the client.

The metadata columns are now added automatically to the query of the ModelSQL.table_query.

The Report.header_key receive now also the data on which the report is executed. This permits to group records based on data from a wizard for example.

The integer part of the digits attribute is now also validated by the server.

We added the support for DATE_TRUNC and EXTRACT from INTERVAL to the SQLite backend.

Tryton now supports up to 4 translations depending on the plural setup of the language.

The methods msg_gettext and msg_ngettext are now available in the report context.

Tryton set the Decimal precision of the default context from the TRYTOND_DECIMAL_PREC environment variable.

We replaced the use of docstring of Model by a __string__ attribute filled with a default value based on the __name__ value. This allow to run the server with the level 2 of optimization of Python.
The name field of ir.model has been renamed into string and model into name and the field_description of ir.model.field into string.

Proteus

We added an helper function launch_action which allow to launch an action on a lits of records using its XML ID. This ease writing scenario to test those actions.

Client

A new type has been added color for the icon and image.

Accounting

A company argument has been added to method to check the credit limit to be explicit for which company is the amount it checked instead of relying on the contextual value.

The description field on payment has been renamed into reference to follow the Tryton naming convention and reflect the actual usage.

The Stripe checkout is now using the Payment Element.

Party

The name field of address has been rename to building_name.

The co_rut tax identifier has been replaced by co_nit.

Sale

We have added a scheduled task to confirm sales based on payment. This is to strengthen the process in case the payment is succeeded and the sale can not yet be confirmed.

We removed the name field on the promotion coupon.

1 post - 1 participant

Read full topic

Tryton

Newsletter April 2025


Wallonie
Publié le
mardi 01 avril 2025 08h00
Importé le
mardi 01 avril 2025 13h03

Last month we focused on fixing bugs, improving the behaviour of things, speeding-up performance issues - building on the changes from our last release. We also added some new features which we would like to introduce to you in this newsletter.

For an in depth overview of the Tryton issues please take a look at our issue tracker or see the issues and merge requests filtered by label.

Changes for the User

CRM, Sales, Purchases and Projects

Now we notify the user when trying to add a duplicate contact mechanism.

Add quotation validity date on sale and purchase quotations.
On sale we compute the validity date when it goes to state quotation and display the validity date in the report. On purchase we set the date directly.

It is a common practice among other things to answer a complain by giving a promotion coupon to the customer. Now the user can create a coupon from the sale complain as an action.

We now use the actual quantity of a sale line when executing a sale complaint,
when the product is already selected.

Now we add an relate to open all products of sales, to be able to check all the sold products (for quantity or price).

We simplify the coupon number management and added a menu entry for promotion coupon numbers.

Now we display a coupon form on promotions and we remove the name field on promotion coupons.

Accounting, Invoicing and Payments

Now we allow to download all pending SEPA messages in a single message report.

We now replace the maturity date on account move by a combined payable/receivable date field which contains a given maturity date and if it is empty, falls back to the effective date. This provides a better chronology of the move lines.

On account move we now replace the post_number by the number-field. The original functionality of the number field, - delivering a sequential number for account moves in draft state, - is replaced by the account move id.

We now add some common payment terms:

  • Upon Receipt
  • Net 10, 15, 30, 60 days
  • Net 30, 60 days End of Month
  • End of Month
  • End of Month Following

Now we display an optional company-field on the payment and group list.

We now add tax identifiers to the company. A company may have two tax identifiers, one used for transactions inland and another used abroad. Now it is possible to select the company tax identifier based on rules.

Now we make the deposit-field optional on party list view.

We now use the statement date to compute the start balance instead of always using the last end balance.

Now we make entries in analytic accounting read-only depending on their origin state.

We now allow to delete landed costs only if they are cancelled.

Now we add the company field optionally to the SEPA mandate list.

Stock, Production and Shipments

We now add the concept of product place also to the inventory line, because some users may want to see the place when doing inventory so they know where to count the products exactly.

Now we display the available quantity when searching in a stock move
and if the product is already selected:

We now ship packages of internal shipments with transit.

Now we do no longer force to fill an incoterm when shipping inside Europe.

User Interface

In the web client now we scroll to the first selected element in the tree view, when switching from form view.

Now we add a color widget to the form view.


Also we now add an icon of type color, to display the color visually in a tree view. We extend the image type to add color which just displays an image filled with color.

Now we deactivate the open-button of the One2Many widget, if there is no form view.

In the desktop client we now include the version number on the new version available message.

System Data and Configuration

In the web user form we now use the same structure as in user form.

Now we make the product attribute names unique. Because the name of the attributes are used as keys of a fields.Dict.

We now add the Yapese currency Rai.

Now we order the incoming documents by their descending ID, with the most recent documents on top.

New Documentation

Now we add an example of a payment term with multiple deltas.

We now reworked the web_sh‎op_shopify module documentation.

New Releases

We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 7.4 and 7.2.

Changes for Implementers and Developers

Now we raise UserErrors from the database exceptions, to log more information on data and integrity errors.

In the desktop client we now remove the usage of GenericTreeModel, the last remaining part of pygtkcompat in Tryton.

We now make it easy to extend the Sendcloud sender address with a pattern.

Now we set a default value for all fields of a wizard state view.
If the client does not display a field of a state view, the value of this field on the instance record is not a defined attribute. So we need to access it using getattr with a default value, but in theory this can happen for any state in any record as user can extend any view.

We now store the last version series to which the database was updated in ir.configuration. With this information, the list of databases is filtered to the same client series. The remote access to a database is restricted to databases available in the list. We now also return the series instead of the version for remote call.

Authors: @dave @pokoli @udono spoiler

1 post - 1 participant

Read full topic

Tryton

Newsletter March 2025


Wallonie
Publié le
samedi 01 mars 2025 08h00
Importé le
samedi 01 mars 2025 13h03

During the last month we focused on adding and clarifying documentation,
fixing bugs, improving the behaviour of things, speeding-up performance issues - building on the changes from our last release. We also added some new features which we would like to introduce to you in this newsletter.

For an in depth overview of the Tryton issues please take a look at our issue tracker or see the issues and merge requests filtered by label.

Changes for the User

Sales, Purchases and Projects

Now we add the company and the warehouse to the supplier return form.

Accounting, Invoicing and Payments

Now the reconciliation reconciles only account move lines in state valid.

Payments made on journals with clearing setup must always create clearing moves even if no account or line is set. Now we use the payable or receivable account as fallback at the clearing date for the clearing move.

When defining an analytic account of type distribution now it is only allowed to choose from account types normal and distribution .

Stock, Production and Shipments

Now we add measurements on the internal shipments.

User Interface

Now we allow to select and copy the sum in tree views for reusability.

System Data and Configuration

Now we also store the ignore-search-limit-option of each export when saving the export for future use.

New Documentation

We unified the navigation in the documentation by using the base URL as logo link and include the homepage in the TOC.

We now clarify the search widget behaviour when using semicolon; on string fields.

Now we better describe how the configured sequence is used to fill the SEPA mandate identification.

We now updated the documentation of the product_attribute module. Have a look.

Now we explain that the database user isn’t the same as the tryton-user.

We improve the modules topic documentation. Have a look.

On the tutorial module we now explain how to alter the definition of existing fields.

Now we add a help text for the stock location, stock move and shipment states.

New Releases

We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 7.4 and 7.2.

Changes for the System Administrator

We added a size limit for RPC arguments and documented it. E.g. it is useful to limit too resource consuming operations.

Now we allow to pass an empty email address to the trytond-admin command.

Changes for Implementers and Developers

Now we treat the following environment variables, - if defined empty, - the same way as if they weren’t set:

  • DB_NAME
  • TRYTOND_CONFIG
  • TRYTOND_DATABASE_URI
  • TRYTOND_LOGGING_CONFIG
  • TRYTOND_LOGGING_LEVEL
  • TRYTOND_TZ

Dependencies

We replaced the passlib by pwdlib.

Now we updated the gettext.js dependency to version 2.

Authors: @dave @pokoli @udono

2 posts - 2 participants

Read full topic

Tryton

Newsletter February 2025


Wallonie
Publié le
samedi 01 février 2025 08h00
Importé le
samedi 01 février 2025 13h04

In the last month we focused on fixing bugs, improving the behaviour of things, speeding-up performance issues - building on the changes from our last release. We also added some new features which we would like to introduce to you in this newsletter.

For an in depth overview of the Tryton issues please take a look at our issue tracker or see the issues and merge requests filtered by label.

Changes for the User

Accounting, Invoicing and Payments

In order to unify our terminology, we now use a reference field instead of the former description field for payments. The idea of the field is more about storing external references than describing the payments. As a reference, it also becomes part of the record name. This helps when using payments with bank checks, as the number of those checks is usually set in the reference field. It is implemented in the following modules:

  • account‎_payment‎
  • account_paym‎ent_braintree‎
  • account_pa‎yment_sepa‎
  • account_pay‎ment_stripe‎

User Interface

Now we implemented a generic sidebar to display attachment previews and in preparation of the coming chat functionality.

We now add the same bottom padding on the panel body as the top padding.

New Documentation

We re-worked the documentation of the product_classification module.

New Releases

We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 7.4 and 7.2.

Changes for Implementers and Developers

To make the customization of accounting move lines from receivable rules we now return the move and lines unsaved. When now applying a rule, the move and the lines are no longer saved before being returned by _reconcile. So it’s now possible to customize the content.

Authors: @dave @pokoli @udono

1 post - 1 participant

Read full topic

Tryton

Newsletter January 2025


Wallonie
Publié le
mercredi 01 janvier 2025 08h00
Importé le
mercredi 01 janvier 2025 13h04

During the last month we continued to fix bugs, improve the behaviour of things, and resolve performance issues - building on the other changes since our last release. We also added some new features which you can find out more about in this newsletter.

For an in depth overview of Tryton development you can take a look at our issue tracker and also see the issues and merge requests filtered by label.

Changes for the User

Sales, Purchases and Projects

It is common, for marketing purposes, to show the sale amount before the promotion and also the amount once the promotion has been applied. So we’ve now added the original amounts before the promotion.

We’ve strengthened the process of confirming sales with a payment and added a scheduled task to confirm sales based on payments.

Accounting, Invoicing and Payments

We now use the payment-element for Stripe checkouts.

To help users decide if they really want to overrule a credit limit, we now show the amount the credit limit has been exceeded by, the dunning level, the amount and the account code.

We’ve now added reporting with latest date and amount per statement journal.

The move description and description on the general ledger line have been merged together. As the move origin is a fall-back of the line origin, the description is now calculated as the move description.

Stock, Production and Shipments

Most of the time users are only interested by the storage, view and warehouse location types, so we filter out the other location types by default now.

User Interface

We’ve now added the relation to a foreign model for relational fields listed in Administration → Models → Models.

The search on model.fields.Char and model.fields.Text in the client will give different results when using Text: = or Text: ="" depending on whether the text is NULL or an empty string. So we now convert NULL values for Char and Text fields to an empty string when searching for Char or Text field values.

We now display the link symbol when hovering over a many2one or reference column in tree views.

We now prevent iOS input zooming in Sao.

The icons that we use are now more explicit:

Form List Form List Tree

System Data and Configuration

We updated the country subdivision types:

More (click for more details)

We now support searching on subdivision codes when searching a pattern.

We’ve merged the Colombian Business Tax Number (co_rut) tax identifier into the Colombian Identity Code (co_nit).

We’ve also updated the tax identifiers:

More (click for more details)

New Documentation

The contents of the Migration Topic have been moved into the Migration section of the Tryton documentation.

New Releases

We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 7.4 and 7.2.

Security

We enforce the record rules for resources now like we did with model access rules.

We now also use the party access rules for address, contact mechanism and identifier.

Changes for the System Administrator

We now log the request-duration at the wsgi-app-level instead of the with_pool level to get more accurate timings.

Changes for Implementers and Developers

We now test that the on_change_with getter has the same name as the Function-field using it.

Updating XML-records which could be modified manually by the users is a complex task. In general the process works automatically, but sometimes the user has to manually check and decide whether to synchronize the model data from the menu entry Administration → Models → Data.
As we no longer import data like countries or currencies from the XML files, the whole mechanism is no longer necessary.
So we now, in general, forbid the manual modification of XML introduced data and always synchronise the XML-data with the database, even if it was modified. The only exception to this is if the noupdate flag is set on the XML data, in this case we just apply the XML-data once when the module is activated and leave the maintenance of that data to the users.

We now propagate notifications to the parent group on screens without an info bar, like a One2Many with an editable list.

Also we now call on_change_notify for fields updated by on_change and on_change_with methods.

We now support object-instances in addition to object-ids as default values.

We’ve added the metadata columns, by default, to ModelSQL based on table queries:

More (click for more details)

The data is now included as part of the ir.model.Report header key.

We now test that ids are of the right type when instantiating ModelStorage.

We now validate integer digits when they are not None.

We support EXTRACT from INTERVAL in the SQLite backend to be able to extract epoch durations.

Both msg_gettext and msg_ngettext have been added to the Report context.

Authors: @dave @pokoli @udono

1 post - 1 participant

Read full topic

Tryton

Release of Relatorio 0.11.0


Wallonie
Publié le
lundi 09 décembre 2024 08h00
Importé le
lundi 09 décembre 2024 13h04

We are proud to announce the release of Relatorio version 0.11.0.

Relatorio is a templating library mainly for OpenDocument using also OpenDocument as source format.

This is a feature release which:

  • Allow setting zip file generation options on opendocument templates

The package is available at https://pypi.org/project/relatorio/0.11.0/
The documentation is available at https://docs.tryton.org/relatorio/0.11.0/

1 post - 1 participant

Read full topic

Tryton

Newsletter December 2024


Wallonie
Publié le
dimanche 01 décembre 2024 08h00
Importé le
dimanche 01 décembre 2024 13h05

During the last month we focused on fixing bugs, improving the behaviour of things, speeding-up performance issues - building on the changes from our last Tryton Release 7.4. We also added some new features which we would like to introduce to you in this newsletter.

For an in depth overview of the Tryton issues please take a look at our issue tracker or see the issues and merge requests filtered by label.

Changes for the User

Accounting, Invoicing and Payments

Now we compute the maturity date of grouped account move lines per debit/credit.

New Releases

We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 7.4 and 7.2.

Changes for the Translators

Now we support plural translations for report and ir.message. The other translatable strings are labels that have no count. The plural rule is a Python expression which returns an integer following the gettext design. For the report, it is possible to use the Genshi i18n:choose, i18n:singular, i18n:plural and for OpenDocument the gettext and ngettext methods are added to the evaluation context.

Changes for the System Administrator

Now we can set the decimal precision of default context from the environment variable TRYTOND_DECIMAL_PREC.

Changes for Implementers and Developers

To provide better feedback to the user, now we also add equivalent domains of SQL constraints.

Now we extract the timesheet cost computation from the _get_cost method to allow customization e.g. to use a different composition of the costs.
Also we round the work total with currency digits in get_total method now, to allow extending the computation methods, without rounding too early.

A trytond.model.Model is defined by a python class:

from trytond.model import ModelSQL, fields class Party(ModelSQL): """Party""" __name__ = 'party.party'

It was needed to define three different identifiers:

  1. Python class name: Party
  2. class doc-string: Party
  3. trytond.model.Model.__name__: party.party

The translated text string of the model which is shown in the user interface was extracted from the __doc__ (doc-string) of the class definition.

Now we replaced the class doc-string extraction by parsing the trytond.model.Model.__name__ attribute and try to make it human readable. Changing an existing __name__ attribute usually implies a database migration.
To work-around existing not so useful __name__ values we introduced the new class attribute trytond.model.Model.__string__ which let you define the model string directly.

We also take the chance and clean-up the name-space by renaming

Finally we removed most of the former doc-strings from all the classes, only in some rare cases we add the __string__ attribute.

Authors: @dave @pokoli @udono

1 post - 1 participant

Read full topic

Tryton

Tryton Release 7.4


Wallonie
Publié le
mardi 05 novembre 2024 08h00
Importé le
mardi 05 novembre 2024 13h04

We are proud to announce the 7.4 release of Tryton .
This release provides many bug fixes, performance improvements and some fine tuning.
You can give it a try on the demo server, use the docker image or download it here.
As usual upgrading from previous series is fully supported.

Here is a list of the most noticeable changes:

Changes for the User

Clients

The Many2Many widget now has a restore button to revert the removal of records before saving.

The CSV export window stays open after the export is done so you can refine your export without having the redo all of the configuration.
It also supports exporting and importing translatable fields with a language per column.
The error messages displayed when there is a problem with the CSV import have been improved to include the row and column number of the value that caused the error.

The management window for the favourites has been removed and replaced by a simple “last favorite first” order.

The focus goes back to the search entry after performing a search/refresh.

You can now close a tab by middle clicking on it (as is common in other software).

Web Client

The left menu and the attachment preview can now be resized so the user can make them the optimal size for their screen.

Accounting

The minimal chart of accounts has been replaced by the a universal chart of accounts which is a good base for IFRS and US GAAP.

It is now possible to copy an accounting move from a closed period. The closed period will be replaced by the current period after accepting the warning.

The payments are now numbered to make it easier to identify them inside the application.
An option has been added to the parties to allow direct debits to be created based on the balance instead of the accounting lines.
We’ve added a button on the Stripe payments and Stripe and Braintree customers to allow an updated to be forced. This helps when fixing missed webhooks.

When a stock move is cancelled, the corresponding stock account move is now cancelled automatically.
But it now no longer possible to cancel a done stock move which has been included in a calculation used for anglo-saxon accounting.

Commission

It is now possible to deactivate an agent so that they are no longer used for future orders.

Company

It is now possible to add a company logo. This is then displayed in the header of generated documents.

Incoterm

A warning is now raised when the incoterm of a shipment is different from the original document (such as the sale or purchase).

Party

We’ve added more identifiers for parties like the United Kingdom Unique Taxpayer Reference, Taiwanese Tax Number, Turkish tax identification number, El Salvador Tax Number, Singapore’s Unique Entity Number, Montenegro Tax Number and Kenya Tax Number.

Product

We’ve added a wizard to manage the replacement of products. Once there is no more stock of the replaced product in any of the warehouses, all the stock on all pending orders are replaced automatically.

A description can now be set for each product image.

There is now a button on the price list form to open the list of lines. This is helpful when the price list has a lot of lines.

Production

It is now possible to cancel a done production. All its stock moves are then cancelled.

The Bill of Materials now have an auto-generated internal code.

Purchase

The wizard to handle exceptions has been improved to clearly display the list of lines to recreate and the list of lines to ignore.

The menu entry Parties associated to Purchases has been removed in favour of the per party reporting.

The purchase amendment now supports amending the quantity of a purchase line using the secondary unit.

Quality

It is now no longer possible to delete non-pending inspections.

Sale

The wizards to handle exceptions have been improved to clearly display the list of lines to recreate and the list of lines to ignore.

The menu entry Parties associated to Sales has been removed in favor of the per party reporting.

A warning is now raised when the user tries to submit a complaint for the same origin as an existing complaint.

The reporting can be grouped per promotion.

From a promotion, it is now possible to list of the sales related to it.
The coupon number of promotion can now be reused once the previous promotion has expired.

The sale amendment now supports amending the quantity of a sale line using the secondary unit.

Stock

It is now possible to cancel a done shipment. When this happens the stock moves of the shipment are cancelled.

The task to reschedule late shipments now includes any shipment that is not yet done.

The supplier shipments no longer have a default planned date.

The customer shipments now have an extra state, Shipped, before the Done state.

The lot trace now shows the inventory as a document.

The package weight and the warehouse are now criteria that can be used when selecting a shipping method.

Changes for the System Administrator

The clients automatically retry 5 times on a 503 Service Unavailable response. They respect the Retry-After value if it is set in the response header. This is useful when performing short maintenance on the server without causing an interruption for the users.

The scheduled tasks now show when they are running and prevent the user from editing them (as they are locked anyway).
We also store their last duration for a month by default. So the administrator can analyze and find slow tasks.

It is now possible to configure a license key for the TinyMCE editor.
Also TinyMCE has been updated to version 7.

It is now possible to configure the command to use to convert a report to a different format. This allows the use of an external service like document-converter.

Accounting

The Accounting Party group has been merged into the *Accounting" group.

We now raise a warning when the user is changing one of the configured credentials used on external services. This is to prevent accidental modification.

Document Incoming

It is now possible to set a maximum size for the content of the document incoming requests.

Inbound Email

It is now possible to set a maximum size for the inbound email requests.

Web Shop

There is now a scheduled task that updates the cache that contains the product data feeds.

Changes for the Developer

Server

The ORM supports SQL Range functions and operators to build exclusion constraints. This allows, for example, the use of non-overlapping constraints using an index.
On PostgreSQL the btree_gist extension may be needed otherwise the ORM will fallback to locking querying the table.
The SQLite backend adds simple SQL constraints to the table schema.

The relational fields with a filter are no longer copied by default. This was a frequent source of bugs as the same relational field without the filter was already copied so it generated duplicates.

We’ve added a sparkline tool to generate textual sparklines. This allows the removal of the pygal dependency.

The activate_modules from testing now accepts a list of setup methods that are run before taking the backup. This speeds up any other tests which restore the backup as they then do not need to run those setup methods.

The backend now has a method to estimate the number of rows in a table. This is faster than counting when we only need an estimate, for example when choosing between a join and a sub-query.

We’ve added a ModelSQL.__setup_indexes__ method that prepares the indexes once the Pool has been loaded.

It is now possible to generate many sequential numbers in a single call. This allows, for example, to number a group of invoices with a single call.

The backend now uses JSONB by default for MultiSelection fields. It was already supported, but the database needed to be altered to activate the feature.

You can now define the cardinality (low, normal or high) for the index usage. This allows the backend to choose an optimal type of index to create.

We now have tools that apply the typing to columns of an SQLite query. This is needed because SQLite doesn’t do a good job of supporting CAST.

The RPC responses are now compressed if their size if large enough and the client accepts it.

The ModelView._changed_values and ModelStorage._save_values are now methods instead of properties. This makes it is easier to debug errors because AttributeError exceptions are no longer hidden.

The scheduled task runner now uses a pool of processes for better parallelism and management. Only the running task is now locked.

We’ve added an environment variable TEST_NETWORK so we can avoid running tests that require network access.

There is now a command line option for exporting translations and storing them as a po file in the corresponding module.
Tryton sets the python-format flag in the po file for the translations containing python formats. This allows Weblate (our translation service) to check if the translations keep the right placeholders.

Accounting

The payment amounts are now cached on the account move line to improve the performance when searching for lines to pay.
The payment amounts now have to be greater or equal to zero.

Purchase

Only purchase lines of type line can be used as an origin for a stock move.

Sale

Only sales lines of type line can be used as an origin for a stock move.

The fields from the Sale Shipment Cost Module are now all prefixed with sale_.

Stock

Cancelled moves are no longer included in the shipment and package measurements.

1 post - 1 participant

Read full topic

Tryton

Security Release for issue #93


Wallonie
Publié le
mercredi 02 octobre 2024 08h00
Importé le
mercredi 02 octobre 2024 21h06

Cédric Krier has found that python-sql does not escape non-Expression for unary operators (like And and Or) which makes any system exposing those vulnerable to an SQL injection attack.

Impact

CVSS v3.0 Base Score: 9.1

  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: Low
  • User Interaction: None
  • Scope: Changed
  • Confidentiality: High
  • Integrity: Low
  • Availability: Low

Workaround

There is no known workaround.

Resolution

All affected users should upgrade python-sql to the latest version.

Affected versions: <= 1.5.1
Non affected versions: >= 1.5.2

Reference

Concerns?

Any security concerns should be reported on the bug-tracker at https://bugs.tryton.org/python-sql with the confidential checkbox checked.

1 post - 1 participant

Read full topic

Tryton

Newsletter September 2024


Wallonie
Publié le
mardi 01 octobre 2024 08h00
Importé le
mardi 01 octobre 2024 13h04

During the last month we mainly focus on bug fixes, behaviour improvements of several things and speeding-up performance issues stepping forward to our next release 7.4 scheduled to the 4th of November. We also added some new features which we would like to introduce to you in this newsletter.

For an in depth overview of the Tryton issues please take a look at our issue tracker or see the issues and merge requests filtered by label.

Changes for the User

Sales, Purchases and Projects

We add a new sale reporting per promotion.

We add now a relate from promotions to their sales.

We improved the exception handling wizards on sales and purchases. We added two fields to let the user explicitly fill with the records to ignore or to re-create.
Any cancelled record that is not added to one of the fields, will stay in exception state to be proceeded later. Also we changed the view between a MultiSelection to a Many2Many field depending on the number of records in the exception state.

Now, Tryton doesn’t add extra lines on sale orders for inactive products. Also Tryton does no longer recommend inactive products.

We removed the Menu: Parties → Parties → Parties Associated to Sales/Purchases entries, because the result is not limited to sales or purchases in state validated or processing. A draft, quotation or cancelled order doesn’t qualify a party as a customer or supplier. The functionality is already replaced by the reports in Menu: Sales → Reporting → Sales, Sales per Customer and Menu: Purchases → Reporting → Purchases, Purchases per Supplier which adds the ability to filter per state and per period.

Accounting, Invoicing and Payments

Now we re-launch the update of the payment customer for Stripe and Braintree in case it failed. Also the users can manually initiate the update process.

Stock, Production and Shipments

Now we round up weights and the other measurements to two decimals for the shipping carriers DPD, Sendcloud and UPS.

We make package measurements read-only once they are closed.

User Interface

We remove the favourite management from the favourite menu, because of
several issues [1] [2] and duplicated functionality.

Now we group links with a similar functional scope together.

In Menu: Administration → User Interface the entries

  • View Tree Widths,
  • View Tree Optionals,
  • View Tree States and
  • View Searches

are moved to the Open related records toolbar-menu of Menu: Administration → Models → Models.

We improve the widget for MultiSelection fields in the Tryton clients by adding checkboxes which display the selection state of the row. If the users clicks on a row, the selection state will be changed.

Now we visually remove records from Many2Many fields used in Wizard instead of greying them out.

We keep the CSV export dialogue now opened after exporting, to have a better user experience when fixing bugs, export and again fixing bugs.

Since we moved the functionality from product_price_list_dates to product_price_list, you can open price list lines in a new tab to be able to filtering, search or import import them.

New Documentation or Naming

We improved and unified the stock action naming and re-worked documentation:

New Releases

We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 7.2.

Security

Please update your systems to take care of a security related bug we found last month: trytond allows to execute reports for records for which the user has no read access and also for reports limited to a set of groups that the user is not member of.

Changes for the System Administrator

Now we use a random value for cron next call field when no value is defined.

Now we log the last cron scheduler runs and their durations. A new cron task periodically cleans the log entries. The new cron-section configuration variable clean_days (default 30) sets this period.

Changes for Implementers and Developers

The Tryton view-tests now check for some more attributes like sequence and on_write in tree-views or dtstart and dtend in calendar-views.

Now we unify the term “email”, as it is now the most common and recommended form.

We add to all “cost”-terms a “sale”-suffix in sale shipment cost fields to improve the naming convention and to avoid collisions or misinterpretations.

Authors: @dave @pokoli @udono

1 post - 1 participant

Read full topic

Tryton

Security Release for issues #13505 and #13506


Wallonie
Publié le
mardi 17 septembre 2024 08h00
Importé le
mardi 17 septembre 2024 13h04

Albert Cervera has found that trytond allows to execute reports for records that user has no read access and also for reports limited to a set of group that the user is not.

Impact

CVSS v3.0 Base Score: 4.3

  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: Low
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality: Low
  • Integrity: None
  • Availability: None

Workaround

There is no known workaround.

Resolution

All affected users should upgrade trytond to the latest version.

Affected versions per series:

  • trytond:
    • 7.2: <= 7.2.8
    • 7.0: <= 7.0.17
    • 6.0: <= 6.0.51

Non affected versions per series:

  • trytond:
    • 7.2: >= 7.2.9
    • 7.0: >= 7.0.18
    • 6.0: >= 6.0.52

Reference

Concerns?

Any security concerns should be reported on the bug-tracker at https://bugs.tryton.org/ with the confidential checkbox checked.

1 post - 1 participant

Read full topic

Tryton

Newsletter August 2024


Wallonie
Publié le
dimanche 01 septembre 2024 08h00
Importé le
dimanche 01 septembre 2024 13h04

In the last month we focused on fixing bugs, improving the behaviour of things, speeding-up performance issues - building on the changes from our last release. We also added some new features which we would like to introduce to you in this newsletter.

For an in depth overview of the Tryton issues please take a look at our issue tracker or see the issues and merge requests filtered by label.

Changes for the User

Sales, Purchases and Projects

Now Tryton warns the user when submitting another complaint for the same origin.

Accounting, Invoicing and Payments

Now Tryton allows to copy account moves from closed periods. When copy a move from a closed period we now set the period of the duplicate to the current period and the date to the actual date, while informing the user about the changes.

Stock, Production and Shipments

Our sendcloud integration now adds package weight and warehouse as shipping method criteria.

User Interface

Now we add a searcher for summary fields, which searches the whole description.

We’ve now merged the HTML edit and translate buttons into a single button that asks for the language before opening, with the current language pre-selected.

System Data and Configuration

Now you can configure the license key for TinyMCE.

Now Tryton supports the UTR (United Kingdom Unique Taxpayer Reference) identifier.

New Documentation

We've created or updated the following documentations:

New Releases

We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 7.2.

Authors: @dave @pokoli @udono

1 post - 1 participant

Read full topic

Tryton

Newsletter July 2024


Wallonie
Publié le
jeudi 01 août 2024 08h00
Importé le
jeudi 01 août 2024 13h04

During the last month we focused on fixing bugs, improving the behaviour of things, speeding-up performance issues - building on the changes from our last release. We also added some new features which we would like to introduce to you in this newsletter.

For an in depth overview of the Tryton issues please take a look at our issue tracker or see the issues and merge requests filtered by label.

Changes for the User

Sales, Purchases and Projects

We’ve now added optional reference and warehouse fields to the purchase_request_quotation list view.

Accounting, Invoicing and Payments

We now allow users in the account admin group to update the invoice line descriptions in a revised invoice.

Until now a direct debit was created for each unpaid line. However, this may not be wanted when there are many payable lines. In these cases the company may want to have a single direct debit for the total amount of the payable lines. So, we’ve now introduced an option to define if a recept of a direct debit should be based on the lines or the balance.

Stock, Production and Shipments

Now we’ve extend the lot trace information by moves generated from an inventory. This way we are able to show the origin of a lot.

We removed the default planned date on supplier shipments.

User Interface

It is now possible for the users to resize the preview panel of attachments.

Now users are able to type search filters immediately after opening a screen with a search entry.

System Data and Configuration

We’ve added the following party identifiers:

  • Taiwanese Tax Number
  • Turkish tax identification number
  • El Salvador Tax Number
  • Singapore’s Unique Entity Number
  • Montenegro Tax Number
  • Kenya Tax Number

New Documentation

The documentations for the following modules has been improved:

We’ve added a warning that because the database is modified in place it is important to make a backup before running an update.

We’ve migrated what were previously links to the configuration section to config-anchors like this :ref:trytond:topics-configuration.

New Releases

We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the current series 7.2.

Changes for the System Administrator

Now when running trytond-admin with the --indexes argument but without any modules to update, the indexes of all models are updated.

Changes for Implementers and Developers

We are now able to run tests with PYTHONWARNINGS="error" to catch future issues earlier. Warnings from third-party-libraries can be ignored by the filters defined in the TEST_PYTHONWARNINGS environment variable.

Authors: @dave @pokoli @udono

1 post - 1 participant

Read full topic

Tryton

Newsletter June 2024


Wallonie
Publié le
mardi 02 juillet 2024 08h00
Importé le
mardi 02 juillet 2024 13h05

In the last month we focused on speeding-up performance issues, fixing bugs and improving the behaviour of things - building on the changes from our last release. We also added some new features which we would like to introduce to you in this newsletter.

For an in depth overview of the Tryton issues please take a look at our issue tracker or see the issues and merge requests filtered by label.

Changes for the User

Sales, Purchases and Projects

We use a dedicated Web Shop-page on the product form which contains web shop related fields.

We’ve added relates from sale and purchase lines to their stock moves and invoice lines.

Purchase and sale amendments now allow to update the secondary unit of its lines.

Now Tryton deletes a purchase request when its related product is deleted. Previously such a purchase request was kept in the system, but we decided that is better to remove it.

Accounting, Invoicing and Payments

Payments with zero amount are allowed again in the system. This allows to correctly handle full refunds for some payment gateways that use zero amounts on them.

Stock, Production and Shipments

When counting inventories with lots we now also show the lot in addition to the product, as a product may have many lots.

User Interface

Sao now uses a grid to display trytond.model.fields.Dict items to add more flexibility.

To make Tryton more accessible we now make the contents of the message-dialog selectable and copiable.

Data and Configuration

We improved the user experience when importing CSV data. This eases the adoption of Tryton by lowering the barrier to load initial data in to the system. Here is a list of the relevant changes:

The CSV export also got new features. It now supports different languages per column in one export. This is specially useful when working with translatable master data like for example product names.

We now replace the “Accounting Party” user access group by the “Accounting” user access group. There is no need to limit accounting fields from party to a specific group by default.

New Documentation

The ldap_authentication module is now documented.

Did you know, that a Model._rec_name must point to a trytond.model.fields.Char field?

New Releases

We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 7.2.

Changes for the System Administrator

We added a new configuration section [report] with option convert_command to be able to use a different document converter.

Now the trytond-admin command validates the email-value. The interactive email input loops until a valid email address is entered.

Changes for Implementers and Developers

We added the option --export-translations to the trytond-admin command. It exports the translation of any activated module to their respective locale folder.

Authors: @dave @pokoli @udono

1 post - 1 participant

Read full topic

Tryton

Security Release for issue #92


Wallonie
Publié le
lundi 10 juin 2024 10h00
Importé le
lundi 10 juin 2024 13h04

Ashish Kunwar has found that python-sql accepts any string in the offset or limit parameters when python is ran with -O which makes any system exposing those vulnerable to an SQL injection attack.

Impact

CVSS v3.0 Base Score: 9.1

  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: Low
  • User Interaction: None
  • Scope: Changed
  • Confidentiality: High
  • Integrity: Low
  • Availability: Low

Workaround

Do not use the -O switch or PYTHONOPTIMIZE environment variable when executing python.

Resolution

All affected users should upgrade python-sql to the latest version.

Affected versions: <= 1.5.0
Non affected versions: >= 1.5.1

Reference

Concerns?

Any security concerns should be reported on the bug-tracker at https://bugs.tryton.org/python-sql with the confidential checkbox checked.

1 post - 1 participant

Read full topic

Tryton

Newsletter May 2024


Wallonie
Publié le
samedi 01 juin 2024 08h00
Importé le
dimanche 02 juin 2024 05h05

During the last month we focused on fixing bugs, improving the behaviour of things, speeding-up performance issues - building on the changes from our last release. We also added some new features which we would like to introduce to you in this newsletter.

For an in depth overview of the Tryton issues please take a look at our issue tracker or see the issues and merge requests filtered by label.

Changes for the User

CRM, Sales, Purchases and Projects

We’ve moved the language field on the party form to the header.

Accounting, Invoicing and Payments

Tryton now ensures the payment amount is greater than zero.

Stock, Production and Shipments

We’ve added a code with a sequence to the production bill of materials (BOM) to clearly distinguish similarly named BOMs.

We’ve also added a shipped state to the customer shipments.
The shipped-state becomes handy when the delivery process takes a long time.
After being packed now the delivery can become shipped or done (similar to internal and drop-shipments). The transition packed → shipped will delete the staging outgoing moves.

As stock lots are not associated with a company, we now ensure that sequences used to generate their numbers are not be linked to a specific company to avoid access right errors.

User Interface

We updated the TinyMCE in Sao to version 7 (see external changelog).

In all of our Tryton clients the user can now close tabs by clicking on them using the middle mouse button.

To avoid accidentally changing configuration values for external services, we now raise a confirmation warning when changing the credential settings in the following modules:

  • account_payment_braintree
  • account_payment_stripe
more… (click for more details)

System Data and Configuration

We’ve standardized the format of pictures used in Tryton. Product and avatar images are converted to RGB with a resolution of 300 DPI, so we can rely on a consistent printed size.

We added a description field to the product image which can be used as the alt property on websites.

Now reports in Tryton can be printed with a company logo in PNG-format (for transparency support).

New Documentation

We added section anchors to each option of the configuration documentation. To refer to the docs of an option, you can now use e.g. Email settings <config-email>.

New Releases

We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 6.8.

Changes for the System Administrator

The logging messages generated by modules and the bus have been unified.

The CSV import now handles the :lang= suffix when it is appended to a translatable field name.

Changes for Implementers and Developers

We’ve added partial support for the Unique and Exclude constraints in the SQLite backend with UNIQUE INDEX as long as they do not use parameters.

A python-format flag is now added to the PO-files.

Authors: @dave @pokoli @udono

1 post - 1 participant

Read full topic

Tryton

Release 1.5.0 of python-sql


Wallonie
Publié le
lundi 13 mai 2024 19h05
Importé le
lundi 13 mai 2024 21h04

We are proud to announce the release of the version 1.5.0 of python-sql.

python-sql is a library to write SQL queries in a pythonic way. It is mainly developed for Tryton but it has no external dependencies and is agnostic to any framework or SQL database.

In addition to bug-fixes, this release contains the following improvements:

  • Add MERGE query
  • Support “UPSERT” with ON CONFLICT clause on INSERT query
  • Remove default escape char on LIKE and ILIKE
  • Add GROUPING SETS, CUBE, and ROLLUP clauses for GROUP BY.

python-sql is available on PyPI: python-sql 1.5.0.

1 post - 1 participant

Read full topic

Tryton

Tryton Release 7.2


Wallonie
Publié le
mercredi 01 mai 2024 18h00
Importé le
mercredi 01 mai 2024 21h04

We are proud to announce the 7.2 release of Tryton.
This release provides many bug fixes, performance improvements and some fine tuning. It also adds 5 new modules.
You can give it a try on the demo server, use the docker image or download it here.
As usual upgrading from previous series is fully supported but some manual steps are needed to update from 7.0 to 7.2.

Here is a list of the most noticeable changes:

Changes for the User

Clients

You can now request to reset your password from the login dialog. Doing this sends a temporary password to your email address.

The PYSON widgets display the value using operators which are more user-friendly.

Web Client

The binary and image widgets now support drag and drop to set their value.

Desktop Client

On list and tree views, there is now a contextual menu that allows you to copy the contents of a cell or a column.

Accounting

It is now possible to modify the dates of a period even if it contains posted moves as long as the existing moves stay inside the new period dates. This useful to correct mistakes or even extend a period.

A warning is now raised when you validate an invoice for which some lines do not have the expected default taxes. This helps to detect mistakes.

When an invoice in another currency is paid, the currency exchange amount is now booked automatically into a configured account.

You can now enter the amount of the transaction in a second currency on statements. This makes it easier to do the reconciliation between the statement and invoices based on a second currency.

Company

Employees are now automatically deactivated once their end date has passed.

It is now possible to use some placeholders in the header and footer of company reports like the company name, phone, website etc.

Marketing

Some reports are now available on marketing scenario and activities. They calculate and display the open, click and click-through rates.

UTM parameters can be added to marketing emails so you can follow their results.

Product

You can now store the Manufacturer Part Number and brand as a product identifier.

Tryton now supports to adding images to product categories.

You can now use non-square images on products. The module resizes the images to fit the requested size but keeps the aspect ratio.

Production

The production number is now only set when the order progresses to waiting. This prevents the supply module from consuming number for production request that are subsequently deleted.

Purchase

It is now possible to remove ignored invoices and stock moves from purchases. This is useful when you have ignored the invoice or shipping exception by mistake and need to correct it.

Sale

It is now possible to remove the ignored invoices and stock moves from sales. This is useful when you have ignored the invoice or shipping exception by mistake and need to correct it.

The product on sale opportunity lines can be omitted, a description and a note can be used instead.

Stock

The drop shipment (like the other shipments) can now be split. This is useful to match exactly how the supplier shipped the products.

The shipment numbers are now only set when it progresses to a waiting state. This prevents consuming sequences numbers for requests that are going to be deleted.

The lot trace now optionally displays the source and destination locations. This can be useful when investigating the traceability of a lot.

Web Shop

It is now possible to limit a web shop by country.

The web shop supports price lists to calculate the sale price and the non sale price.

New Modules

Stock Product Location Place

The Stock Product Location Place Module allows defining the place where each product is stored within each location.

Account SYSCOHADA

The Account SYSCOHADA Module provides templates for the chart of account for OHADA countries.

Account Export

The Account Export Module provides the basis to allow accounting moves to be exported to external accounting software.

Account Export WinBooks

The Account Export WinBooks Module adds support to export accounting data to WinBooks.

Web Shop Product Data Feed

The Web Shop Product Data Feed Module exposes web shop products as a data feed for Google Merchant and Meta for business.

Changes for the System Administrator

Server

It is now possible to update the database without updating the indexes or to create the indexes concurrently. These are useful options when updating busy system.

It is possible to define a timeout for some RPC calls. This helps preventing users from overloading the system with expensive requests.

Changes for the Developer

Server

We added send_message methods to simplify sending emails using python’s Message.

A new kind of field fmany2one is now available, which is a type of many2one field but stores a different field to the id. It is used mainly in the infrastructure to create foreign keys based on a model or field name.

The read-only relational fields are no longer copied by default. This was source of various bugs as developers often forgot to disable these from the copy.

Clients

The clients read the xxx2many fields using dotted notation. This avoids making multiple requests when displaying a form with these fields.

The XML ID of a record is now displayed in the log window.

Script

It is possible to configure the scripting client to skip any warning.

Product

It is now possible to generate barcodes for a product using a different type than the one on the identifier.

Stock

The done buttons have been renamed to do.

Location name fields have been added to stock moves. This is useful to customize the information displayed in reports about the source and destination locations.

1 post - 1 participant

Read full topic

Tryton

Security Release for issue #13142


Wallonie
Publié le
mercredi 17 avril 2024 18h00
Importé le
mercredi 17 avril 2024 21h04

Cédric Krier has found that trytond accepts compressed content from unauthenticated requests which makes it vulnerable to zip bomb attacks.

Impact

CVSS v3.0 Base Score: 5.3

  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality: None
  • Integrity: None
  • Availability: Low

Workaround

A proxy can be deployed in front of the trytond server to forbid this kind of request.

Resolution

All affected users should upgrade trytond to the latest version.

Affected versions per series:

  • trytond:
    • 7.0: <= 7.0.9
    • 6.8: <= 6.8.14
    • 6.0: <= 6.0.44

Non affected versions per series:

  • trytond:
    • 7.0: >= 7.0.10
    • 6.8: >= 6.8.15
    • 6.0: >= 6.0.45

Reference

Concerns?

Any security concerns should be reported on the bug-tracker at https://bugs.tryton.org/ with the confidential checkbox checked.

1 post - 1 participant

Read full topic

Tryton

Newsletter April 2024


Wallonie
Publié le
lundi 01 avril 2024 08h00
Importé le
lundi 01 avril 2024 13h04

During the last month we focused on fixing bugs, improving the behaviour of things, speeding-up performance issues and adding new features for you.

Changes for the User

Sales, Purchases and Projects

When processing an exception on an order, the user can ignore the exception and so no more related lines/documents will be re-created. But in case of a mistake it was not possible to cancel the ignore. Now we allow the Sale and Purchase administrator group to edit the list of ignored- lines to be able to remove mistakes. After changes to the list of ignored lines the user needs to manually reprocess the order, using the Process button, to restore it to a coherent state.

Accounting, Invoicing and Payments

Account users are now allowed to delete draft account moves.

Stock, Production and Shipments

When creating a stock forecast the warehouse is now filled in automatically.

Now the scheduled task maintains a global order of assignations for shipments and productions. A global order is important because assignations are competing with each other to get the products first.

User Interface

We now hide the traceback from an error behind an expander widget, as it may scare some users and it is not helpful for most of them.

System Data and Configuration

Employees are now activated based on the start and end date of their employment.

New Modules

The new stock_product_location_place module allows a specific place to be defined where goods are stored in their location. You can refer to its documentation for more details.

New Documentation

We reworked parts of the Tryton documentation.

How to enter in an opening balance.

We changed our documentation hub from readthedocs to self hosting.

New Releases

We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 6.8.

Security

Please update your systems to take care of a security related bug we found last month.

Changes for the System Administrator

We now make cron and workers exit silently on a keyboard interrupt.

We also introduced a switch on trytond-admin to be able to delay the creation of indexes. This is because the index creation can take a long time to complete when updating modules on big databases. Using this switch the database schema can be quickly created, but will be without the performance gain from the new indexes, which are not available yet. Another run at a more appropriate time without the switch can then be used to create the indexes.

For history records we now display the date time on access errors.

Changes for Implementers and Developers

We now use dot notation and binary operators when converting PYSON to a string when it is to be displayed to the user.

Authors: @dave @pokoli @udono

1 post - 1 participant

Read full topic

Tryton

Newsletter March 2024


Wallonie
Publié le
vendredi 01 mars 2024 08h01
Importé le
vendredi 01 mars 2024 13h04

During the last month we mainly focused on fixing bugs, adjusting how things work, improving performance and adding new features.

Changes for the User

Sales, Purchases and Projects

Now we assume that most businesses will try and deliver to customers as fast as
possible. So we set the default lead time for products to 0.

Accounting, Invoicing and Payments

Statement journals can now be searched for by the bank account number and the currency.

Tryton now supports the payment of invoices using a different currency to the statement’s currency.

Now Tryton only uses the sign of the combined debit and credit to calculate the kind of payment of the move line.

Stock, Production and Shipments

Now we only set the number on productions and on shipments when they first enter the “waiting” state.

The stock lot trace functionality now shows the stock locations a lot was moved between and also all related stock moves.

Now Tryton manages the stock assignation for customer shipments even when the picking and output locations are the same to ensure the stock is assigned and not available for use by someone else.

Now we use the warehouse of the corresponding location on the internal shipment, in case the transit location is used.

User Interface

Sao now supports drag and drop on the image widget and binary select button.

Editable lists are now selected on the first first click and become editable on the second.

Sao now provides a contextual menu to copy cells and columns.

System Data and Configuration

Now we calculate the name of a product for sales, purchase and invoice lines and stock moves. For example, showing the customer product name or the supplier product name instead of product name in reports.

Now you can use template substitutions for the company header and footer fields used in reports.

New Documentation

We reworked parts of the Tryton documentation.

New Releases

We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 6.8.

Changes for the System Administrator

We rewrote the worker using concurrent.futures replacing the former multiprocessing to be able to have a better control of dead child processes which can’t accept further tasks. Also be aware of the new maxtasksperchild option for Python >= 3.11.

Changes for Implementers and Developers

We introduced two mix-ins for deactivating products and templates:

  • trytond.modules.product.ProductDeactivatableMixin
  • trytond.modules.product.TemplateDeactivatableMixin

By default, the copy method no longer copies readonly=True relation fields. But we do keep copying readonly moves on shipments.

The UI now considers the null value as valid empty data for binary fields.

Authors: @dave @pokoli @udono

1 post - 1 participant

Read full topic

Tryton

Newsletter February 2024


Wallonie
Publié le
jeudi 01 février 2024 14h30
Importé le
jeudi 01 février 2024 21h04

During the last month we’ve worked hard on fixing bugs, improving how things work, increasing performance and adding new features.

Changes for the User

Sales, Marketing, Purchases and Projects

When ignoring a shipment exception the ignored quantities are now deduced from the remaining quantity.

On assigning a sale supply stock move now only the children locations of the original are picked, to avoid an invalid pair of from- and to- locations.

When computing stock quantities sale lines without a shipping date are now sorted at the end of the list.

Now on cancellation of a purchase request only the staging moves are cancelled, too and the supply states of the sale lines are also cancelled.

It is allowed to select a blanket agreement line without a given supplier or customer product.

The marketing automation now provides reporting for scenarios and activities.

Accounting, Invoicing and Payments

Now an exchange rate account is implemented on the invoice to book currency exchange differences amount.

The use of a deposit account is again permitted for payments.

Stock, Production and Shipments

Now it is allowed to assign moves with zero quantity using a location with type view

The planned date of assigned moves from shipments and productions is now updated accordingly to avoid low stock levels.

There is no longer a warning raised, when the shipment quantity difference is 0.

Now the actual date is used to set the planned date of assigned moves for getting accurate computation results.

The sale supplies are now processed for the same warehouse and for the same company. Also the supply now always uses the forecast quantity to compute the supply with an activated stock first option. This is done to minimize the number of created purchases.

When a purchase request is deleted and the process does not require to recreate a new purchase request, the request stock moves now is updated to state draft.

User Interface

Now we order cancelled documents without a number at the end. Because they are usually the least interesting documents.

The GTK and the Sao client now support password reset from the user.

New Documentation

We also reworked parts of the Tryton documentation.

New Releases

We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 6.8.

Changes for the System Administrator

Now the trytond-admin command supports the delay of database index creation. The new command line option --indexes is useful to separate the database update from the index creation, which can be a long running process.

Changes for Implementers and Developers

The csb43 package is now replaced by the aeb43 package to parse AEB43 statements.

The doctest tool set gets some useful enhancements:

Cached properties on objects with __slots__ are now supported.

Authors: @dave @pokoli @udono

1 post - 1 participant

Read full topic

Tryton

Newsletter January 2024


Wallonie
Publié le
lundi 01 janvier 2024 08h00
Importé le
lundi 01 janvier 2024 13h07

During the last month we mainly focused on fixing bugs, adjusting how things work, improving performance and adding new features.

Changes for the User

Sales, Purchases and Projects

Related shipments and moves are now reset and cancelled when a purchase request is cancelled.

When creating a sale from an opportunity the sale now has default addresses and payment terms, if they are not defined on the opportunity.

The blanket agreement record names now contain the reference and will fallback to the id if there isn’t a number or a reference available, like we do for sales and purchases.

We added some UTM parameters to emails sent by the marketing modules. The following parameters were added:

  • utm_campaign
  • utm_medium
  • utm_source

The create purchase wizard on purchase requests now opens the newly created purchases.

Since Tryton defaults to the most used currency for new purchases, we’ve now updated it to also do the same for purchase requests.

Accounting, Invoicing and Payments

When using sale advance payments Tryton no longer sets the invoice date if the advance payment condition has no invoice delay. If you’d like the invoice date to default to today’s date, set a delay of 0.

Stock, Production and Shipments

On an unaltered system modification of product locations is now restricted to the Stock Administrator access group.

The progress of a move is now rounded to four digits.

Tryton now only checks if a lot is required when a move is going to the done state.

The stock location code is now included in the record name of a location.

We added a confirmation dialogue to the cancel- buttons on shipments.

When moving consumable products the default to-location is now preset with the default product location.

User Interface

The URL button is now hidden, when a URL field is empty, as disabling it did not prevent the user from clicking on it.

Each button in a list-view is now rendered read-only when the appropriate record is also read-only.

We improved the behaviour of button clicks. Now clicking rapidly on a button only launches the action once. This same behaviour has also been implemented for widget buttons.

Now labels are aligned to the start of the line on extra small screens.

On small screens we now hide the search widget on list views. A toolbar button shows the search widget on demand.


The workflow graphs for models no longer overlap and incorrectly share states.

More (click for more details)

Documentation

We reworked parts of the Tryton documentation.

In validation error messages the record name is now prefixed with the word “record” in order to make the message clearer.

New Releases

We released bug fixes for the currently maintained long term support series
7.0 and 6.0, and for the penultimate series 6.8.

Changes for the System Administrator

For the Tryton desktop client we now support the arm64 darwin architecture allowing it to be built on Apple Silicon.

Changes for Implementers and Developers

The order of keys is now retained when changing a fields.Dictionary through an on_change method.

For selection and multiselection fields we now use the string version of the value in error messages.

Authors: @dave @pokoli @udono

1 post - 1 participant

Read full topic

Tryton

Newsletter December 2023


Wallonie
Publié le
vendredi 01 décembre 2023 09h00
Importé le
vendredi 01 décembre 2023 13h05

In the last month we focused on fixing bugs, improving the behaviour of things, speeding-up performance issues and adding new features for you.

Changes for the User

Accounting, Invoicing and Payments

We ease the former unique constraint on IBAN account numbers to allow now multiple equal deactivated IBAN account numbers.

When changing the company or party of an invoice, now the tax identifier are cleared when they are no longer valid.

On payment terms we now display the fields to define the payment term delta in the correct order of application.

Now it is possible to shorten or extend the fiscal year as long as all periods are still in its date range.

On refunds we now show the external payment ID from the payment provider.

Now we order payable/receivable lines by maturity date or move date.

Parties and CRM

The height of the street widget is now reduced to three lines.

New Releases

We released bug fixes for the currently maintained long term supported series
7.0, 6.0 and the penultimate series 6.8.

Changes for the System Administrator

Tryton now fully supports the update of database records via CSV data. The missing piece has been the handling for removing links in xxx2Many fields on update, which is done now. To unlink or remove existing xxx2Many target records, just exclude them in the CSV data to import. This way the imported data is similar to the stored records in the database.

Now the Tryton client cleans-up all temporary files and directories on exit.

Changes for Implementers and Developers

Now it is possible to specify a database statement timeout on RPC calls. The new timeout parameter on RPC calls helps to avoid costly database queries. The default value is 60 sec and can be modified in the configuration.

We included a new policy to require documentation update for modules when contributing new feature to an existing module. We’ve been applying such rule for one month, which already improved the documentation of some modules.

A new contrib group have been included on the heptapod repository. This includes some tools related to Tryton which provide web integration, filestore integration and even a module to send SMS. We are happy to include more similar projects in the group, feel free to contribute yours!

Authors: @dave @pokoli @udono

1 post - 1 participant

Read full topic