We are now on the home straight leading up to the 5.8 release. However, there will be some more changes over the next few weeks.
You can already contribute to this new release by helping to translate or testing and reporting issues.
Changes for the User
The tax rule lines now have a start and end date which are used as criteria to determine when they are applied. This is useful, for example, for companies that need to start applying VAT for other European countries (because their turnover has reached the appropriate threshold).
It is now possible to open the general ledger accounts that require a party. This displays the balances of the account per party.
Each invoice line can now define a specific tax date. This can be used when a credit note is posted that applies to a previous period during which, for example, the tax rate was different. Now the credit note will have the same tax calculation without the need to change the accounting date of the invoice.
We added some French taxes that were missing:
- Taxes for services purchase outside Europe
- Base for service sales inside Europe to code 0206
- Service sales outside Europe to code 0033
Sometimes you may want to stop using a specific payment journal (e.g. when changing payment provider). So we now allow payment journals to be deactivated.
Sending a report by email from the client has been completely reworked. We no longer rely on the local email client but now the emails are sent by the server on behalf of the user.
It is also possible to setup predefined templates including: the subject, the body, the recipients and the attached reports.
The record names used to generate a report are now added to the report’s file name.
The administrators can now share some bookmarks with all the users.
New Modules
The marketing_email
module manages mailing lists. It allows email addresses to be subscribed and unsubscribed from a list. And can be used to send emails to all the subscribed email addresses (with an unsubscribe link included in the email).
The stock_assign_manual
module adds a wizard to shipments and productions that allows you to decide from precisely which locations you want to pick products.
Changes for the Developer
You can now compare date and datetime values in PYSON statements.
We started to use tempusdominus and Popper.js for the date picker on the web client. This fixes some display issues we’d noticed with the popup.
The report engine now supports Genshi’s MsgDirective. This is very useful when using HTML templates because it allows you to include the formatting tags in the translation.
The report engine no longer uses the relatorio template loader. Instead we keep the parsed report in memory for faster access (and to avoid writing it to a temporary directory).
The default report classes, created on the fly, can now also be extended using registered mixins.
The web client always exports the CSV file in UTF-8 (because browser does not support any other encoding). But we’ve added the UTF-8 BOM on Windows to ensure that programs like Excel open them correctly.
We added a language attribute to the XML <data/>
tag. This allows its contents to be skipped if the language is not translatable. Initially this has been used to only load the appropriate minimal charts of accounts.
The read API has been extended to include the boolean properties _write
and _delete
that define whether the record can be modified or deleted by the user based on the access rules. This allows the clients to preventatively deactivate the corresponding actions in the user interface.
It is now possible to format currency values with a different number of digits than the currency. This is useful, for example, to show unit prices to 4 decimal places.