28
I Use This!
Activity Not Available

News

Analyzed 3 months ago. based on code collected 5 months ago.
Posted over 4 years ago by ced
Person drawing a ghost1280×853 169 KB We are proud to announce the 5.8 release of Tryton. This release provides many bug fixes and some significant improvements. Among other changes you will find big general performance improvements ... [More] , a new theme for the web client and support for web shops. You can give it a try on the demo server, use the docker image or download it here . As usual the migration from previous series is fully supported. Some manual operation may be required, see Migration from 5.6 to 5.8. Here is a list of the most noticeable changes: Changes for the User 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. Sending sale quotation by email1918×985 75.7 KB The clients can now display, next to a value, the symbol from its unit of measure or its currency. This helps lighten the user interface and avoid confusion. All of Tryton’s forms and lists have been update to use this new feature in the appropriate places. When using a list view that uses this feature you can still search for a particular unit or currency. The administrator can share a user’s existing search bookmark with all the users. In this case the shared bookmarks will only be editable by the administrators. This is useful if you want to setup a common search query that is often performed by many users. The clients update the state of the delete button, and whether records can be edited, based on the dynamic access rules defined in the record rules. This of course compliments the existing rules based on access groups. The clients place copied records at the same position as newly created records. This means that the clients inspect the order applied to the list and deduce the correct place for the new record. More The check boxes on editable list views can’t be checked/unchecked without first selecting the row. The report name, proposed by the client when they are saved, now contains the name of the records on which it was based. The CSV export now formats the duration values. It uses the same locale format as the client, or when the locale option is not activated, it uses the total number of seconds. It is now possible to import a duration value from a CSV file. When a view for a model is opened without a name (e.g. using an URL), the client will use the default model name as its title (instead of nothing). The default colors for graphs and calendars can be configured on the client side. The URL, provided on the export CSV dialog, now includes the current context. Web Client The web client now comes with a default Tryton theme (instead of the default Bootstrap theme) based on Bootswatch Paper. The theme can be deactivated or replaced on installation. Party list on web client1918×985 117 KB Party form on web client1918×985 113 KB Party list on web client with small screen375×812 23.2 KB Party form on web client with small screen375×812 23.2 KB If a user opens multiple browser tabs, all connected to the same server, any changes to the preferences are kept per tab and survive a page reload. This allows the user to change companies on one tab, and if they reload the other tab it will stay linked to the original company. The totals shown at the bottom of a list are now always visible even if the list is longer than the screen. List of time-sheet lines with sum stick to the bottom1393×910 145 KB More Tryton now puts the field name in the input name attribute. This helps the browser suggest smarter auto-completion. CSV exports are now always encoded in UTF-8. This is because browsers do not provide a standard way to use a different encoding format. PYSON expressions can now be written using the .get, .in_ and .contains methods as in the desktop client. Tryton now uses a new library for the date time picker which improves where the popup gets positioned. Accounting It is now possible to open any general ledger accounts that require a party. This shows a breakdown of the balances of the account per party. 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). 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. The reconciliation wizard now keeps you on the same account/party after each reconciliation if there are still more lines to reconcile. We’ve added some fields on payment groups to show aggregate information like the amount and the amount succeeded etc. It is now possible to delete or detach a source from a Stripe customer. This is useful if you know that a specific source can no longer be trusted. We can now limit the application of a landed cost to only moves of a shipment that are in a specific category of product or that are for a set of defined products. This is useful when the landed cost is due only for a part of the shipment. We have a rule engine that automatically fills in the analytic accounts on accounting move lines. But sometimes the rule engine is not properly configured or new cases get added. So, we’ve added a button on the lines with missing analytic accounts to reapply the rules after they have been fixed. There is a new option available when creating a credit note for an invoice. This option allows you to keep, or clear out, the commission agent so the commission gets reimbursed when required. The unit price of the stock moves are now automatically updated based on the posted invoice lines that they are linked to. This ensures, for example, correct reporting of price changes between the receipt of stock and it being invoiced. More We’ve added an option to deactivate a payment journal. This is useful when the company stops working with a specific payment provider. We added the lower tax rates for period between 2020-07-01 and 2020-12-31 in the German chart of accounts. The EC Sales list, Spanish VAT list and Spanish EC Operation list are now always reported in the company currency. The credit notes are now reported on the modification tax code for the Spanish chart of accounts. It also contains a tax group for purchased services. The French chart of accounts gains a purchase tax for services from outside the European Union. The base amount for services sold inside and outside Europe are now reported respectively in code 0206 and code 0033. Tryton now supports cancelling a posted landed cost. It is useful if mistakes are detected after posting. We’ve also added a relate from the supplier shipment to open the landed cost applied to it. Tryton no longer forces you to set analytic accounts on the adjustment move that balances the non-deferral accounts at the end of the fiscal year. The selection of the commission agent on a sale can now be based on the employee that fills out the order. We’ve added party identifier validation for more countries: Andorra, Guatemala, Japan, Moldavia, New Zealand, Peru, Paraguay, Uruguay, Venezuela and South Africa. Product On release 5.4 we added the option to set the product code using a sequence. On version 5.6 we split the code between a prefix (on the product) and a suffix (on the variant). To complete the feature we also added the option to set the prefix of the product using a sequence. Production Now is possible to define a production picking and output location on the warehouse. The picking location will be used as source of the production inputs and the output location will be used as destination of the produced locations. This allows companies to have special locations for the products related to productions. The waste locations of the warehouse can also be used to indicate that some of the produced products are broken and can not be stored in the warehouse. A scheduled task has been added to automatically reschedule past productions. Now when a production does not use an input product, the cost of the output product is kept as-is. This is so a blank operation has no effect on the global cost of the product. We’ve noticed that the User Experience, when starting and stopping production works, was a little bit complicated because you needed to create new cycles or find the currently active one. To help fix this we added Start and Stop buttons on the works. This simplifies the workflow by automatically creating and stopping the active cycle. These buttons can also be used as a timer to calculate the time spent on a production. Sale When a product is returned, we use the cost price attributed to it when it was delivered to account for its return. This ensures that the operation has no effect on the global cost price of the product. An optional shipping date has been added to the sale order. This allows the sale’s shipment to be postponed to on or after this date. Until now a promotion was only applied if the price of all of the lines was reduced. But now it is always applied on every line for which the price is reduced. Stock A new picking step has been added to the customer shipment workflow. This step is used to update the outgoing moves based on the inventory moves. This simplifies the packing step especially when lots or packages are used. A scheduled task has been added to automatically reschedule past shipments. It is now possible to throw away damaged and defective products straight from a delivery to a lost and found location. Instead of having to do a separate internal shipment after the delivery has been received. From the locations or warehouse quantity view, it is now possible to open a view that displays the lots contained in the location or warehouse along with their quantities. More The default locations for a product can now be defined on the product instead of the variant. The available waste locations (lost and found) are now defined per warehouse. We added a warning when the user tries to do a move in the future. For large inventory lists, we added a relate that opens the lines in a separate view where searching and ordering can be done. We developed a simplified view for the moves displayed on the shipment. On the product form we added a relate that opens the list of stock moves associated with the product. We also added a similar action to the product quantities by warehouse view. The wizard to create inventories for a set of locations now has the options to empty quantities and complete lines. Marketing The title of marketing email can now use a Genshi expression based on the record. So the email subject can contain the document number for example. Notification It is now possible to consult the logs of the email notifications directly from the document that generates it. A relate entry has been added to each potential source that opens this log view. The email subject can now be customized to replace the name of the report on which the email is based. New Modules Sale Discount We’ve added a new module to manage discounts on sales. This module adds two new fields: discount amount and discount percentage. Both fields can be used to calculate the final price for the customer based on the product’s list price. Account Payment Braintree This new module adds support for using Braintree as a payment processor. It is similar to the existing Stripe module but the main advantage is that Braintree supports Paypal which is an popular payment method for e-commerce. Stock Assign Manual Sometimes the picking workflow of a company may be complex and so it can not rely on an automatic assignation. This module adds a wizard on shipments and production that allows you to decide from which precise location to pick products. Web Shop This new module provides the ability to store the configuration and setup data for an online web shop including things like the products sold per web shop, the currency and language used etc. Vue Storefront This module provides the back-end used to integrate with Vue Storefront, an open-source front-end for e-commerce. Stripe This module extends the Vue Storefront integration to support Stripe payments. Attendance The attendance module allows you to track the entry and exit time of employees. With this information Tryton generates an attendance report where you can see the total duration the employee spent working at the company and the full detail of entries and exits. If the timesheet module is activated, the report also includes the total duration from the employee’s timesheets for the day. Marketing Email This module provides the features needed to manage mailing list subscriptions from your website. It can also send emails to all subscribed addresses on a list and provide statistics about the emails and what links have been opened. Changes for the System Administrator Tryton stores some parameters from the configuration when the database is initialized. These are parameters that cannot be changed later (e.g. the number of digits for the internal prices). Now Tryton will ensure that the configuration value is still the same as the one stored in the database. This prevents the use of a database that contains the wrong configuration. We’ve added a scheduled task that cleans out any old queued tasks. By default it removes any tasks that finished at least 30 days ago. We’ve added an option to run trytond-cron only once. This is useful when you want to delegate the cron wake-up to an external tool like Unix cron or Kubernetes CronJob to avoid running an extra service. We removed the password_sms authentication method because now authentication method can be composed. So you can replace it by password+sms. Changes for the Developer Records are now stored internally using a custom class instead of a generic dictionary. This has reduced memory usage for records by between 30% and 40%. We have also improved the average access time for field values by around 15% by using a shorter execution path. We added an option to sendmail to ensure that emails are correctly sent, if there is a problem sending an email it now raises an exception. The Wizard now has the attributes model, record and records which are cached and simplify the code. An additional advantage is that this also ensures that developer will not make mistakes like using the wrong model to instantiate the ids. It is now possible to define a keyword action that applies to all models. You can now define default values for an application route. This is useful, for example, to create an API without the database name in the path. The authentication methods can be combined which allows multi-factor authentication to be setup without needing any development, just configuration. The server no longer writes to records of xxx2Many fields that are already present. This is useful because the clients always request these operations because they do not know the state of the targets. The fields.depends now also supports the python property attributes. More We removed support for Python 3.5 (which is no longer maintained). Tryton now checks and enforces read access on the records used to execute a wizard. The PYSON statement can now compare date and date time values. We added the format_datetime method to Reports to allow the date time to be formatted according to the language of the report. We now allow the number of digits to be overridden when calling the methods Lang.currency and Report.format_currency. This is useful when displaying internal prices which often have a higher precision than the official currency. It is now possible to limit which data is loaded from the XML files depending on whether a specific language is translatable or not. This is used, for example, to only load the minimal chart of accounts for the active languages. Now when Tryton automatically registers a missing report, it will also apply any mixins that are registered. The parsed report templates are now kept in memory for faster access. This also avoids unnecessary writes to a temporary directory. We now support the Genshi MsgDirective. This may improve the quality of translations. We renamed all the “cancel” and “canceled” states to “cancelled” in all the modules. We added some new tools: sortable_values, cached_property, escape_wildcard and sql_pairing. Accounting It is possible to define a tax date property on the taxable lines. We now allow payments to go back to processing. This is useful when synchronizing the payments with an external provider because it avoids using the failed state just to update the amount. More We’ve added a domain on the invoice’s journal. We now link the Spanish “recargo” tax to its related VAT tax. This is used for reporting. The method Invoice.update_taxes has become a dualmethod (so it can be called from an instance or a class). We now support the Stripe webhook used when payment intents are cancelled. Production We have unified the assignation wizard. Now productions use the same wizard as shipments. Sale The shipment cost calculation has been refactored to allow it to be calculated without needing to create a new line. Stock We have factorized out the cost calculation for the cost price of the moves. This ensures the same mechanism is used everywhere. Now the grouping values, used to assign a move, are set to the assigned move. For example, if you customize Tryton to use the lot for grouping, it will automatically set the lot found on the move. We have unified the assignation wizard. Now all the shipments use the same wizard. It is now possible to override the warehouse of the user with the value from the context. We’ve added the missing access rules to the view “Product Quantities by Warehouse”. We now ensure the cost price is filled in for some moves using a required state. This allows you to detect coding mistakes faster and ensure data integrity. Web The web user can now be attached to a list of secondary parties allowing them to act as any of these parties. 3 posts - 2 participants Read full topic [Less]
Posted over 4 years ago by ced
We are proud to announce the 5.8 release of Tryton. This release provides many bug fixes and some significant improvements. Among other changes you will find big general performance improvements, a new theme for the web client and ... [More] support for web shops. You can give it a try on the demo server, use the docker image or download it here . As usual the migration from previous series is fully supported. Some manual operation may be required, see Migration from 5.6 to 5.8. Here is a list of the most noticeable changes: Changes for the User 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 clients can now display, next to a value, the symbol from its unit of measure or its currency. This helps lighten the user interface and avoid confusion. All of Tryton’s forms and lists have been update to use this new feature in the appropriate places. When using a list view that uses this feature you can still search for a particular unit or currency. The administrator can share a user’s existing search bookmark with all the users. In this case the shared bookmarks will only be editable by the administrators. This is useful if you want to setup a common search query that is often performed by many users. The clients update the state of the delete button, and whether records can be edited, based on the dynamic access rules defined in the record rules. This of course compliments the existing rules based on access groups. The clients place copied records at the same position as newly created records. This means that the clients inspect the order applied to the list and deduce the correct place for the new record. More (click for more details) Web Client The web client now comes with a default Tryton theme (instead of the default Bootstrap theme) based on Bootswatch Paper. The theme can be deactivated or replaced on installation. If a user opens multiple browser tabs, all connected to the same server, any changes to the preferences are kept per tab and survive a page reload. This allows the user to change companies on one tab, and if they reload the other tab it will stay linked to the original company. The totals shown at the bottom of a list are now always visible even if the list is longer than the screen. More (click for more details) Accounting It is now possible to open any general ledger accounts that require a party. This shows a breakdown of the balances of the account per party. 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). 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. The reconciliation wizard now keeps you on the same account/party after each reconciliation if there are still more lines to reconcile. We’ve added some fields on payment groups to show aggregate information like the amount and the amount succeeded etc. It is now possible to delete or detach a source from a Stripe customer. This is useful if you know that a specific source can no longer be trusted. We can now limit the application of a landed cost to only moves of a shipment that are in a specific category of product or that are for a set of defined products. This is useful when the landed cost is due only for a part of the shipment. We have a rule engine that automatically fills in the analytic accounts on accounting move lines. But sometimes the rule engine is not properly configured or new cases get added. So, we’ve added a button on the lines with missing analytic accounts to reapply the rules after they have been fixed. There is a new option available when creating a credit note for an invoice. This option allows you to keep, or clear out, the commission agent so the commission gets reimbursed when required. The unit price of the stock moves are now automatically updated based on the posted invoice lines that they are linked to. This ensures, for example, correct reporting of price changes between the receipt of stock and it being invoiced. More (click for more details) Product On release 5.4 we added the option to set the product code using a sequence. On version 5.6 we split the code between a prefix (on the product) and a suffix (on the variant). To complete the feature we also added the option to set the prefix of the product using a sequence. Production Now is possible to define a production picking and output location on the warehouse. The picking location will be used as source of the production inputs and the output location will be used as destination of the produced locations. This allows companies to have special locations for the products related to productions. The waste locations of the warehouse can also be used to indicate that some of the produced products are broken and can not be stored in the warehouse. A scheduled task has been added to automatically reschedule past productions. Now when a production does not use an input product, the cost of the output product is kept as-is. This is so a blank operation has no effect on the global cost of the product. We’ve noticed that the User Experience, when starting and stopping production works, was a little bit complicated because you needed to create new cycles or find the currently active one. To help fix this we added Start and Stop buttons on the works. This simplifies the workflow by automatically creating and stopping the active cycle. These buttons can also be used as a timer to calculate the time spent on a production. Sale When a product is returned, we use the cost price attributed to it when it was delivered to account for its return. This ensures that the operation has no effect on the global cost price of the product. An optional shipping date has been added to the sale order. This allows the sale’s shipment to be postponed to on or after this date. Until now a promotion was only applied if the price of all of the lines was reduced. But now it is always applied on every line for which the price is reduced. Stock A new picking step has been added to the customer shipment workflow. This step is used to update the outgoing moves based on the inventory moves. This simplifies the packing step especially when lots or packages are used. A scheduled task has been added to automatically reschedule past shipments. It is now possible to throw away damaged and defective products straight from a delivery to a lost and found location. Instead of having to do a separate internal shipment after the delivery has been received. From the locations or warehouse quantity view, it is now possible to open a view that displays the lots contained in the location or warehouse along with their quantities. More (click for more details) Marketing The title of marketing email can now use a Genshi expression based on the record. So the email subject can contain the document number for example. Notification It is now possible to consult the logs of the email notifications directly from the document that generates it. A relate entry has been added to each potential source that opens this log view. The email subject can now be customized to replace the name of the report on which the email is based. New Modules Sale Discount We’ve added a new module to manage discounts on sales. This module adds two new fields: discount amount and discount percentage. Both fields can be used to calculate the final price for the customer based on the product’s list price. Account Payment Braintree This new module adds support for using Braintree as a payment processor. It is similar to the existing Stripe module but the main advantage is that Braintree supports Paypal which is an popular payment method for e-commerce. Stock Assign Manual Sometimes the picking workflow of a company may be complex and so it can not rely on an automatic assignation. This module adds a wizard on shipments and production that allows you to decide from which precise location to pick products. Web Shop This new module provides the ability to store the configuration and setup data for an online web shop including things like the products sold per web shop, the currency and language used etc. Vue Storefront This module provides the back-end used to integrate with Vue Storefront, an open-source front-end for e-commerce. Stripe This module extends the Vue Storefront integration to support Stripe payments. Attendance The attendance module allows you to track the entry and exit time of employees. With this information Tryton generates an attendance report where you can see the total duration the employee spent working at the company and the full detail of entries and exits. If the timesheet module is activated, the report also includes the total duration from the employee’s timesheets for the day. Marketing Email This module provides the features needed to manage mailing list subscriptions from your website. It can also send emails to all subscribed addresses on a list and provide statistics about the emails and what links have been opened. Changes for the System Administrator Tryton stores some parameters from the configuration when the database is initialized. These are parameters that cannot be changed later (e.g. the number of digits for the internal prices). Now Tryton will ensure that the configuration value is still the same as the one stored in the database. This prevents the use of a database that contains the wrong configuration. We’ve added a scheduled task that cleans out any old queued tasks. By default it removes any tasks that finished at least 30 days ago. We’ve added an option to run trytond-cron only once. This is useful when you want to delegate the cron wake-up to an external tool like Unix cron or Kubernetes CronJob to avoid running an extra service. We removed the password_sms authentication method because now authentication method can be composed. So you can replace it by password+sms. Changes for the Developer Records are now stored internally using a custom class instead of a generic dictionary. This has reduced memory usage for records by between 30% and 40%. We have also improved the average access time for field values by around 15% by using a shorter execution path. We added an option to sendmail to ensure that emails are correctly sent, if there is a problem sending an email it now raises an exception. The Wizard now has the attributes model, record and records which are cached and simplify the code. An additional advantage is that this also ensures that developer will not make mistakes like using the wrong model to instantiate the ids. It is now possible to define a keyword action that applies to all models. You can now define default values for an application route. This is useful, for example, to create an API without the database name in the path. The authentication methods can be combined which allows multi-factor authentication to be setup without needing any development, just configuration. The server no longer writes to records of xxx2Many fields that are already present. This is useful because the clients always request these operations because they do not know the state of the targets. The fields.depends now also supports the python property attributes. More (click for more details) Accounting It is possible to define a tax date property on the taxable lines. We now allow payments to go back to processing. This is useful when synchronizing the payments with an external provider because it avoids using the failed state just to update the amount. More (click for more details) Production We have unified the assignation wizard. Now productions use the same wizard as shipments. Sale The shipment cost calculation has been refactored to allow it to be calculated without needing to create a new line. Stock We have factorized out the cost calculation for the cost price of the moves. This ensures the same mechanism is used everywhere. Now the grouping values, used to assign a move, are set to the assigned move. For example, if you customize Tryton to use the lot for grouping, it will automatically set the lot found on the move. We have unified the assignation wizard. Now all the shipments use the same wizard. It is now possible to override the warehouse of the user with the value from the context. We’ve added the missing access rules to the view “Product Quantities by Warehouse”. We now ensure the cost price is filled in for some moves using a required state. This allows you to detect coding mistakes faster and ensure data integrity. Web The web user can now be attached to a list of secondary parties allowing them to act as any of these parties. 4 posts - 1 participant Read full topic [Less]
Posted over 4 years ago by ced
Person drawing a ghost1280×853 169 KB We are proud to announce the 5.8 release of Tryton. This release provides many bug fixes and some significant improvements. Among other changes you will find big general performance improvements ... [More] , a new theme for the web client and support for web shops. You can give it a try on the demo server, use the docker image or download it here . As usual the migration from previous series is fully supported. Some manual operation may be required, see Migration from 5.6 to 5.8. Here is a list of the most noticeable changes: Changes for the User 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. Sending sale quotation by email1918×985 75.7 KB The clients can now display, next to a value, the symbol from its unit of measure or its currency. This helps lighten the user interface and avoid confusion. All of Tryton’s forms and lists have been update to use this new feature in the appropriate places. When using a list view that uses this feature you can still search for a particular unit or currency. The administrator can share a user’s existing search bookmark with all the users. In this case the shared bookmarks will only be editable by the administrators. This is useful if you want to setup a common search query that is often performed by many users. The clients update the state of the delete button, and whether records can be edited, based on the dynamic access rules defined in the record rules. This of course compliments the existing rules based on access groups. The clients place copied records at the same position as newly created records. This means that the clients inspect the order applied to the list and deduce the correct place for the new record. More The check boxes on editable list views can’t be checked/unchecked without first selecting the row. The report name, proposed by the client when they are saved, now contains the name of the records on which it was based. The CSV export now formats the duration values. It uses the same locale format as the client, or when the locale option is not activated, it uses the total number of seconds. It is now possible to import a duration value from a CSV file. When a view for a model is opened without a name (e.g. using an URL), the client will use the default model name as its title (instead of nothing). The default colors for graphs and calendars can be configured on the client side. The URL, provided on the export CSV dialog, now includes the current context. Web Client The web client now comes with a default Tryton theme (instead of the default Bootstrap theme) based on Bootswatch Paper. The theme can be deactivated or replaced on installation. Party list on web client1918×985 117 KB Party form on web client1918×985 113 KB Party list on web client with small screen375×812 23.2 KB Party form on web client with small screen375×812 23.2 KB If a user opens multiple browser tabs, all connected to the same server, any changes to the preferences are kept per tab and survive a page reload. This allows the user to change companies on one tab, and if they reload the other tab it will stay linked to the original company. The totals shown at the bottom of a list are now always visible even if the list is longer than the screen. List of time-sheet lines with sum stick to the bottom1393×910 145 KB More Tryton now puts the field name in the input name attribute. This helps the browser suggest smarter auto-completion. CSV exports are now always encoded in UTF-8. This is because browsers do not provide a standard way to use a different encoding format. PYSON expressions can now be written using the .get, .in_ and .contains methods as in the desktop client. Tryton now uses a new library for the date time picker which improves where the popup gets positioned. Accounting It is now possible to open any general ledger accounts that require a party. This shows a breakdown of the balances of the account per party. 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). 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. The reconciliation wizard now keeps you on the same account/party after each reconciliation if there are still more lines to reconcile. We’ve added some fields on payment groups to show aggregate information like the amount and the amount succeeded etc. It is now possible to delete or detach a source from a Stripe customer. This is useful if you know that a specific source can no longer be trusted. We can now limit the application of a landed cost to only moves of a shipment that are in a specific category of product or that are for a set of defined products. This is useful when the landed cost is due only for a part of the shipment. We have a rule engine that automatically fills in the analytic accounts on accounting move lines. But sometimes the rule engine is not properly configured or new cases get added. So, we’ve added a button on the lines with missing analytic accounts to reapply the rules after they have been fixed. There is a new option available when creating a credit note for an invoice. This option allows you to keep, or clear out, the commission agent so the commission gets reimbursed when required. The unit price of the stock moves are now automatically updated based on the posted invoice lines that they are linked to. This ensures, for example, correct reporting of price changes between the receipt of stock and it being invoiced. More We’ve added an option to deactivate a payment journal. This is useful when the company stops working with a specific payment provider. We added the lower tax rates for period between 2020-07-01 and 2020-12-31 in the German chart of accounts. The EC Sales list, Spanish VAT list and Spanish EC Operation list are now always reported in the company currency. The credit notes are now reported on the modification tax code for the Spanish chart of accounts. It also contains a tax group for purchased services. The French chart of accounts gains a purchase tax for services from outside the European Union. The base amount for services sold inside and outside Europe are now reported respectively in code 0206 and code 0033. Tryton now supports cancelling a posted landed cost. It is useful if mistakes are detected after posting. We’ve also added a relate from the supplier shipment to open the landed cost applied to it. Tryton no longer forces you to set analytic accounts on the adjustment move that balances the non-deferral accounts at the end of the fiscal year. The selection of the commission agent on a sale can now be based on the employee that fills out the order. We’ve added party identifier validation for more countries: Andorra, Guatemala, Japan, Moldavia, New Zealand, Peru, Paraguay, Uruguay, Venezuela and South Africa. Product On release 5.4 we added the option to set the product code using a sequence. On version 5.6 we split the code between a prefix (on the product) and a suffix (on the variant). To complete the feature we also added the option to set the prefix of the product using a sequence. Production Now is possible to define a production picking and output location on the warehouse. The picking location will be used as source of the production inputs and the output location will be used as destination of the produced locations. This allows companies to have special locations for the products related to productions. The waste locations of the warehouse can also be used to indicate that some of the produced products are broken and can not be stored in the warehouse. A scheduled task has been added to automatically reschedule past productions. Now when a production does not use an input product, the cost of the output product is kept as-is. This is so a blank operation has no effect on the global cost of the product. We’ve noticed that the User Experience, when starting and stopping production works, was a little bit complicated because you needed to create new cycles or find the currently active one. To help fix this we added Start and Stop buttons on the works. This simplifies the workflow by automatically creating and stopping the active cycle. These buttons can also be used as a timer to calculate the time spent on a production. Sale When a product is returned, we use the cost price attributed to it when it was delivered to account for its return. This ensures that the operation has no effect on the global cost price of the product. An optional shipping date has been added to the sale order. This allows the sale’s shipment to be postponed to on or after this date. Until now a promotion was only applied if the price of all of the lines was reduced. But now it is always applied on every line for which the price is reduced. Stock A new picking step has been added to the customer shipment workflow. This step is used to update the outgoing moves based on the inventory moves. This simplifies the packing step especially when lots or packages are used. A scheduled task has been added to automatically reschedule past shipments. It is now possible to throw away damaged and defective products straight from a delivery to a lost and found location. Instead of having to do a separate internal shipment after the delivery has been received. From the locations or warehouse quantity view, it is now possible to open a view that displays the lots contained in the location or warehouse along with their quantities. More The default locations for a product can now be defined on the product instead of the variant. The available waste locations (lost and found) are now defined per warehouse. We added a warning when the user tries to do a move in the future. For large inventory lists, we added a relate that opens the lines in a separate view where searching and ordering can be done. We developed a simplified view for the moves displayed on the shipment. On the product form we added a relate that opens the list of stock moves associated with the product. We also added a similar action to the product quantities by warehouse view. The wizard to create inventories for a set of locations now has the options to empty quantities and complete lines. Marketing The title of marketing email can now use a Genshi expression based on the record. So the email subject can contain the document number for example. Notification It is now possible to consult the logs of the email notifications directly from the document that generates it. A relate entry has been added to each potential source that opens this log view. The email subject can now be customized to replace the name of the report on which the email is based. New Modules Sale Discount We’ve added a new module to manage discounts on sales. This module adds two new fields: discount amount and discount percentage. Both fields can be used to calculate the final price for the customer based on the product’s list price. Account Payment Braintree This new module adds support for using Braintree as a payment processor. It is similar to the existing Stripe module but the main advantage is that Braintree supports Paypal which is an popular payment method for e-commerce. Stock Assign Manual Sometimes the picking workflow of a company may be complex and so it can not rely on an automatic assignation. This module adds a wizard on shipments and production that allows you to decide from which precise location to pick products. Web Shop This new module provides the ability to store the configuration and setup data for an online web shop including things like the products sold per web shop, the currency and language used etc. Vue Storefront This module provides the back-end used to integrate with Vue Storefront, an open-source front-end for e-commerce. Stripe This module extends the Vue Storefront integration to support Stripe payments. Attendance The attendance module allows you to track the entry and exit time of employees. With this information Tryton generates an attendance report where you can see the total duration the employee spent working at the company and the full detail of entries and exits. If the timesheet module is activated, the report also includes the total duration from the employee’s timesheets for the day. Marketing Email This module provides the features needed to manage mailing list subscriptions from your website. It can also send emails to all subscribed addresses on a list and provide statistics about the emails and what links have been opened. Changes for the System Administrator Tryton stores some parameters from the configuration when the database is initialized. These are parameters that cannot be changed later (e.g. the number of digits for the internal prices). Now Tryton will ensure that the configuration value is still the same as the one stored in the database. This prevents the use of a database that contains the wrong configuration. We’ve added a scheduled task that cleans out any old queued tasks. By default it removes any tasks that finished at least 30 days ago. We’ve added an option to run trytond-cron only once. This is useful when you want to delegate the cron wake-up to an external tool like Unix cron or Kubernetes CronJob to avoid running an extra service. We removed the password_sms authentication method because now authentication method can be composed. So you can replace it by password+sms. Changes for the Developer Records are now stored internally using a custom class instead of a generic dictionary. This has reduced memory usage for records by between 30% and 40%. We have also improved the average access time for field values by around 15% by using a shorter execution path. We added an option to sendmail to ensure that emails are correctly sent, if there is a problem sending an email it now raises an exception. The Wizard now has the attributes model, record and records which are cached and simplify the code. An additional advantage is that this also ensures that developer will not make mistakes like using the wrong model to instantiate the ids. It is now possible to define a keyword action that applies to all models. You can now define default values for an application route. This is useful, for example, to create an API without the database name in the path. The authentication methods can be combined which allows multi-factor authentication to be setup without needing any development, just configuration. The server no longer writes to records of xxx2Many fields that are already present. This is useful because the clients always request these operations because they do not know the state of the targets. The fields.depends now also supports the python property attributes. More We removed support for Python 3.5 (which is no longer maintained). Tryton now checks and enforces read access on the records used to execute a wizard. The PYSON statement can now compare date and date time values. We added the format_datetime method to Reports to allow the date time to be formatted according to the language of the report. We now allow the number of digits to be overridden when calling the methods Lang.currency and Report.format_currency. This is useful when displaying internal prices which often have a higher precision than the official currency. It is now possible to limit which data is loaded from the XML files depending on whether a specific language is translatable or not. This is used, for example, to only load the minimal chart of accounts for the active languages. Now when Tryton automatically registers a missing report, it will also apply any mixins that are registered. The parsed report templates are now kept in memory for faster access. This also avoids unnecessary writes to a temporary directory. We now support the Genshi MsgDirective. This may improve the quality of translations. We renamed all the “cancel” and “canceled” states to “cancelled” in all the modules. We added some new tools: sortable_values, cached_property, escape_wildcard and sql_pairing. Accounting It is possible to define a tax date property on the taxable lines. We now allow payments to go back to processing. This is useful when synchronizing the payments with an external provider because it avoids using the failed state just to update the amount. More We’ve added a domain on the invoice’s journal. We now link the Spanish “recargo” tax to its related VAT tax. This is used for reporting. The method Invoice.update_taxes has become a dualmethod (so it can be called from an instance or a class). We now support the Stripe webhook used when payment intents are cancelled. Production We have unified the assignation wizard. Now productions use the same wizard as shipments. Sale The shipment cost calculation has been refactored to allow it to be calculated without needing to create a new line. Stock We have factorized out the cost calculation for the cost price of the moves. This ensures the same mechanism is used everywhere. Now the grouping values, used to assign a move, are set to the assigned move. For example, if you customize Tryton to use the lot for grouping, it will automatically set the lot found on the move. We have unified the assignation wizard. Now all the shipments use the same wizard. It is now possible to override the warehouse of the user with the value from the context. We’ve added the missing access rules to the view “Product Quantities by Warehouse”. We now ensure the cost price is filled in for some moves using a required state. This allows you to detect coding mistakes faster and ensure data integrity. Web The web user can now be attached to a list of secondary parties allowing them to act as any of these parties. 4 posts - 1 participant Read full topic [Less]
Posted over 4 years ago by ced
We are proud to announce the release of the version 1.2.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 ... [More] framework or SQL database. In addition to bug-fixes, this release contains the following improvements: Add explicit Windows to Select Fix missing Windows definitions in nested expressions python-sql is available on PyPI: https://pypi.org/project/python-sql/1.2.0/ 1 post - 1 participant Read full topic [Less]
Posted over 4 years ago by ced
We are proud to announce the release of the version 1.2.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 ... [More] framework or SQL database. In addition to bug-fixes, this release contains the following improvements: Add explicit Windows to Select Fix missing Windows definitions in nested expressions python-sql is available on PyPI: https://pypi.org/project/python-sql/1.2.0/ 2 posts - 1 participant Read full topic [Less]
Posted over 4 years ago by ced
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. ... [More] 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 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. 3 posts - 1 participant Read full topic [Less]
Posted over 4 years ago by ced
Yellow Arrow Led Signage1280×719 121 KB 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 ... [More] 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 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. 2 posts - 1 participant Read full topic [Less]
Posted over 4 years ago by ced
Yellow Arrow Led Signage1280×719 121 KB 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 ... [More] 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 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. 3 posts - 1 participant Read full topic [Less]
Posted over 4 years ago by ced
Yellow Arrow Led Signage1280×719 121 KB 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 ... [More] 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 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. 1 post - 1 participant Read full topic [Less]
Posted almost 5 years ago by ced
This month we got a major improvement with a new theme for the web client. Contents: Changes for the user Changes for the developer Changes for the User We now set the name attribute of the elements generated by the web client. This ... [More] allows the browser to provide better auto-suggestions to the user. We now use the original cost price of a product to update the FIFO cost price when it is returned. This gives a more accurate and logical value, especially when there is no stock of the product left. It is now possible to delete or detach a source from a Stripe customer. This is useful if you know that a specific source can no longer be trusted. We added a relate action to the email notifications from any record. So users can easily access, for example, all the notification emails sent for a specific sales order. We added a relate action to the stock moves from a product or variant. This is useful if you want to find the last moves that happened to a product. A dedicated view is now used to show shipment moves. This lets the user focus on the important information only. It is already possible to define a sequence to generate the product variant code. Now we also have a sequence for the product template code. The web client has got a new default theme based on the bootswatch Paper theme. But it is still easy to deactivate it and use your own theme. We now automatically fill in the default accounts (like receivable and payable) when creating or updating a chart of accounts if the template only has a single option available. Changes for the Developer We now use the fields.depends to get the carrier context when computing the carrier cost. This makes it simpler to extend this with third-party modules. We fixed a cache ordering issue in ModelStorage which made browsing a large number of records in depth (more than 2k by default) randomly slower than expected. Now the time is roughly constant. The stock assignation method now automatically fills in the grouping value on the assigned move that’s used to compute the quantities. This allows you to easily write modules that set the lot on assignation for example. On busy systems, the queue table can grow quickly. So we’ve added a scheduled task that runs each day which removes completed tasks that are over 1 month old. We now allow a successful or failed payment to be put back to a processing state. This is because, in some cases (like with Stripe payments), you may need to update a payment that has already been successful (e.g. in the case of a refund). The new transition allows you to avoid using the failed state just for the purpose of performing this change. 2 posts - 1 participant Read full topic [Less]