Newsletter for April 2021

A lot of development has finally landed, laying a solid foundation for the upcoming 6.0 release.

Changes for the User

We’ve improved the default ordering for shipments and production orders. It is now based on either the effective date or the planned date.

The shipping labels can now be stored in the filestore. Doing this can help to reduce the size of the database.

The price list formula can explicitly use the list price of a product. This is useful for some regulated business where the purchase price is fixed based on the public price.

The report that shows the quantities of a product by warehouse can now display it for multiple products. We also added a relate from assigned shipments and productions to show the quantities for all the products included in the document.

It is now possible to modify the dimension of packages. By default, they are filled in with the value from the package type. The main use case is for pallets where the height is only known after it is filled in.

The import and export CSV dialog for the web client now supports drag and drop on the columns to reorder them.

Any stock moves that get cancelled are now automatically removed from the package they were linked to.

The income statement and balance sheet can now be printed.

When exporting tree structures as CSV data the first column is now indented.

The client now allows sending emails with any of the record’s existing attachments.

The stock packages now display the tracking URL for each carrier.

Changes to the shipment cost on shipments has been simplified. This has been done by adding an edit checkbox which helps avoid unexpected re-calculations of the cost when moves are changed.

We replaced the “Print General Journal” with a generic report on accounting moves. This provides more flexibility on what content is printed.

It is now possible to configure the party identifiers that are available.

We removed the unpractical tree structure from companies. The user’s “Main Company” has been replaced by a flat list.

It is now possible to define a supplier invoice line as a price correction to update the cost price of its product.

When the carrier cost is not fully covered by the shipment cost paid by the customer, the unsold part is added to the outgoing moves as a shipment cost.

The return purchases are now linked to the original purchase.

The calculated weight of a shipment parcel now also includes the weight of the package used.

The general ledger lines display now the cumulative balance starting at the balance of the account.

New Modules

The Purchase Price List Module allows price lists to be defined for suppliers.

The Stock Shipment Cost Module adds a shipment cost to outgoing moves. This cost is added to the product margin reports.

The Stock Quantity Issue Module helps to solve stock quantity issues.

The Product Cost Warehouse Module allows the cost price of products to be calculated separately for each warehouse.

The Stock Quantity Early Planning Module helps reduce stock levels by proposing earlier use of stock.

The Incoterm Module is used to manage Incoterms on sales, purchases and shipments.

:fishing_pole_and_fish: The Autopilot Module stores all user inputs in a blockchain, automatically analyses and predicts the best next logical step in business (yes, AI with tensor flow) and finally act autonomous, e.g. purchase products and sell them, without human interaction.

The Avatar Module adds an avatar to each party.

Changes for the System Administrator

The groups can have now a parent from which they inherit their access permissions. This is useful, for example, when creating “Administration” groups which normally have all the rights from the standard group along with some additional rights.

We added a new command trytond-stat which displays the currently processed requests, tasks and jobs for each of the trytond processes on the host.

Changes for the Developer

We’ve added a method to post invoices by batch. It delegates the numbering to a deferred task. This can be used to reduce contention on the invoice numbering sequence.

We’ve added a generic test in the company module that ensures the company context is set on fields that target a company multivalue model.

The MPTT update is now only called for affected fields.

A new route decorator has been added to allow null as its origin. This is useful for web-extensions like Chronos as browsers now use this origin instead of the extension ID.

Model.__access__ is a new attribute which contains the names of a relation field for which the access rights must also be checked. This simplifies the definition of access rights for documents composed of several models like, for example, the invoice with lines and taxes.

The actions can now define whether they run on the selected records (as usual) or the listed records.
Also if the action is run on a tree structure then a path for each record is sent to the server.

The context fields of parent records are now automatically added to the on_change calls. This ensures that records are instantiated with the proper context.

The sequence definition has been simplified. The type is now directly stored on the sequence with a Many2One and the next value is obtained using an instance method.

A field’s dependencies are now also loaded when form is displayed.

When recalling a deposit it is now possible to specify a maximum amount to be recalled.

It is now possible to use a URL as the source of an icon.

The code has been updated to iterate over the database cursor when possible instead of using fetchall.

For the back-ends that support it, Char and Text fields can be searched with full text and similarity. A new internal FullText field type is available which helps to store and index FULLTEXT columns.

The distance between parties has been moved from the party_relationship to the party module. This was done so that third parties can use, by default, the minimal distance field without depending on the party_relationship module.

A new widget document has been added for the Binary field. It relies on the <object/> tag in the browser and on the Evince library. It can display, at the very least, images and PDF documents.

We added an AvatarMixin which adds support for avatars on any model. The avatar is then publicly available through a URL. The URL accept a size parameter that resizes the image on the fly. Each resized image is stored in a cache.

2 Likes

Too bad that it doesn’t guess the best new product (and its name and price) perfectly fitted to the previous clients.
And I definitely miss the bitcoin payment.

1 Like

It’s a must for the next release, thanks for the pointer.

Unfortunately bitcoin is not supported for now, but maybe you have some success with its successor we already implemented in 2010: Issue 1470: Missing Currency - Tryton issue tracker
YMMV