New Tryton release 3.4

Publicado: 2014-10-20 18:00:00+00:00 release

We are proud to announce the 3.4 release of Tryton.

In addition to the usual improvements of existing features for users and developers, this release has seen a lot of work done on the accounting part.

Of course, migration from previous series is fully supported with the obvious exception of the ldap_connection module which was removed.

Major changes in graphical user interface

  • The search of relation record has been re-worked to take advantage of the auto-completion. The search box of the pop-up window is filled with the text entered in the widget.

  • The search/open button of the Many2One widget is now inside the entry box and the create button is removed in favor of auto-completion actions or pop-up button. This change allow to harmonize the size of all widgets inside a form.

    many2one button inside
  • A new image widget is available on list/tree view.

    widget image tree
  • The client can now perform a pre-validation before executing a button action. The validation is based on a domain and so the offending fields can be highlighted and focused instead of having an error message pop-up.

  • The selection label are now available in addition of the internal value for the export data (CSV) functionality.

  • The export data window is now predefined with the fields of the current view. This gives a fast way to export what you see.

  • The predefined export can now be replaced directly with a new selection of fields. This eases the process of creating such predefined exportation.

  • It is now possible to re-order the list of the exported fields using drag and drop.

  • The range operator of the search box is now including on both endpoints. It appears to be less astonishing behavior for users even if the previous behavior including-excluding had some practical advantages.

  • The client loads now plug-ins defined in the user local directory (~/.config/tryton/x.y/plugins).

Major changes on the server side

  • A new Mixin MatchMixin is introduced. It allows to implement a common pattern in Tryton to find records that match certain values.
  • Another UnionMixin is also introduced. It allows to define a ModelSQL which is the UNION of some ModelSQL's.
  • Actually, Tryton doesn't update a record defined in a XML file if this one has been modified outside the XML. Now, it is possible to find those records and force the update to get the record synchronised with the XML.
  • A Python descriptor has been added to the Selection field. It allows to define an attribute on a Model which will contains the selection label of the record. It is planned to update all the reports to use such descriptor instead of hard-coded values.
  • A new configuration file format is introduced for the server. It is easily extendable to be used by modules. For example, the ldap_authentication module starts using it in replacement of the removed ldap_connection.
  • It is now possible to give a logging configuration files to setup the server logging. This file uses the Python logging configuration format.
  • The context defined on relation fields are now used to instantiate the target.
  • The SQL clause for a domain on a field can be now customized using a domain_<field> method. This method allows in some cases a more efficient SQL query. The method is designed to support joins.
  • The access rights has been reworked to be active only on RPC calls. With this design, Tryton follows the principle of checking input on the border of the application. So it is no more required to switch to the root user when calling methods requiring some specific access rights as far as it is not from an RPC call.



  • A new wizard to help reconcile all accounts has been added. It loops over each account and party and makes a proposal of lines to reconcile if it could find one. This really speeds up the reconciliation task.

    reoncilie wizard
  • There is also another new wizard to ease the creation of cancellation moves. The wizard also reconciles automatically the line with the cancelled sibling.

  • A new option Party Required on account has been added. This option makes the party required for move lines of this account and forbids it for others.

Account Invoice

  • It is now possible to configure which tax rounding to use. There are two ways implemented: per document and per line. The default stays per document.

Account Payment

  • It is now possible to change a succeeded payment to failed.

Account Payment SEPA

  • The scheme Business to Business is supported for direct debit.
  • The mandate receives now a default unique identification using a configured sequence.
  • The module supports now the bank to customer debit/credit notification message (CAMT.054).
  • A report to print a standard form for mandate has been added.

Account Statement

  • It is now possible to order the statement lines and to give them a number. With those features, it is easier to reproduce the same layout of a bank statement.
  • A report for statement has been added. For example, it can be used when using the statement for check deposit.
  • A validation method can be defined on the statement journal. The available methods are: Balance, Amount and Number of Lines. This helps to uses the statement for different purposes like bank statement or check deposit.

Account Stock Continental/Anglo-Saxon

  • The method is now defined on the fiscal year instead of being globally activated on module installation.


  • It is now possible to store zip code per country. A script is provided to load zip codes from GeoNames.

LDAP Authentication

  • The module ldap_connection has been replaced by an entry in the configuration file of trytond.


  • The new zip code from the module country is used to auto-complete zip and city field on address.


  • The Confirmed state has been split into Confirmed and Processing, just like the Sale workflow.

Sale Supply Drop Shipment

  • The management of exception on drop shipment is propagated from the sale to the purchase.

New modules

  • The Account Payment Clearing module allows to generate clearing account move when a payment has succeeded between the receivable/payable account to a clearing account. The clearing account will be reconciled later by the statement.


Proteus is a library to access Tryton like a client.

  • It is now possible to run reports. It is useful for testing them.
  • A new duplicate method is added which is similar to the copy menu entry of the client.

Security Release for issue4155

Publicado: 2014-09-30 10:00:00+00:00 release security


A vulnerability in trytond has been found by duesenfranz, that might allow a malicious user to execute arbitrary commands on the server via the safe_eval function (see issue4155).


Any authenticated user can run arbitrary commands on the server with the permissions of the trytond user.


There is no workaround.


All users should upgrade trytond to the latest version of the used series.


Any security concerns should be reported on the bug-tracker at with the type security.

Tryton Unconference Leipzig 2014

Publicado: 2014-09-15 12:00:00+00:00 TUL

This year the annual Tryton Unconference will take place in Leipzig the 14th, 15th and 16th of November at the Leipzig University of Applied Sciences.

This will be the fourth global meeting where users, developers and interested people will have the opportunity to discover or talk about Tryton.

Until now, the following talks are proposed:

(More to be announced on our Lanyrd page)

The second Foundation Supporter Meeting will take place on Saturday 15h, 18.00.

On Sunday 16th, a Sprint is planned at the Hackerspace sublab.

Registration is available at TUL 2014.

If you like to give a talk, please announce it on Lanyrd. If you want to request a talk on a specific topic, you can send your request to the Tryton mailing list. If you have question about the organisation, please contact the foundation at

And don't forget to spread the word! #TUL2014

Videos of the Tryton Unconference 2013

Publicado: 2014-06-05 12:00:00+00:00 TUB video
Finally, the videos recored during the last Tryton Unconference 2013 are available. It took some time to synchronize the sound with the image but thanks to Pierre-Louis Bonicoli we have them now.

Nueva versión 3.2 de tryton

Publicado: 2014-04-21 20:00:00+00:00 release

Nos complace anunciar el lanzamiento de la nueva versión 3.2 de Tryton.

Esta versión consolida nuevas funcionalidades añadidas en los últimos dos años. Además, se preperara la futura migración a Python 3, eliminando el soporte para Python 2.6. Como es habitual, también se han realizado correcciones de errores, mejoras y nuevos módulos (a continuación se dan más detalles).

Por supuesto, la migración desde las versiones anteriores está completamente soportada.

Cambios importantes en la interfaz de usuario

  • El cliente utiliza la zona horaria local para mostrar los campos de fecha y hora.

  • Se ha mejorado el pegado en listas editables para añadir nuevas líneas si es necesario aparte de actualizar los registros ya existentes.

  • Los botones de la vista también se muestran en el menú de acciones. Esto permite un acceso mas rápido utilizando los atajos del teclado y también ejecutar el botón para el conjunto de registros seleccionados.

    button action menu
  • Los botones y los assitents ahora pueden ejecutar acciones de cliente. Esto quiere decir que se comporta como si el usuario hubiese clicado en alguno de los botones de la barra de herramientas.

  • El cliente utiliza ahora un conjunto de conexiones. Esto permite mejorar la velocidad en peticiones que se pueden hacer en paralelo.

  • Se puede soltar un fichero en el botón de adjuntos para crear de forma rápida adjuntos.

  • Se ha introducido un nuevo widget multi-selección, que utiliza un campo Many2Many para guardar la información. Es muy útil y más visual cuando hay un pequeño número de selecciones posibles.

  • El cliente permite navegar por las versiones de un registro del que se guarda la historia. También funciona en una lista de registros, en este caso el cliente muestra el resultado de la búsqueda cómo si se hubiera hecho en la fecha de la revisón.


Cambios mayores en el servidor

  • El servidor siempre utiliza internamente la zona horaria UTC.
  • El método ModelStorage.write recibe mejoras similares a las que recibió el método ModelStorage.create en la versión 2.8. Esto quiere decir que se puede escribir distintos valores en varios conjuntos de registros en una sola llamada y que esto mejora el rendimiento validando todos los registros de una vez. Además, sólo se validarán los campos modificados y sus dependencias. Las acciones de los campos relacionados se han actualizado con la misma interfaz.
  • Se ha añadido un nuevo decorador fields.depends para reemplazar los atributos obsoletos on_change, on_change_with, selection_change_with y autocomplete. Este decorador se aplica en los métodos a llamar y el resultado será la suma de todos los depends de todos los módulos. Esto mejora la modularidad y aporta más flexiblidad.
  • Tryton utiliza la librería bcrypt para emascarar las contraseñas si encuentra disponible.
  • Todos los tipos de campo pueden tener un restricción de dominio en su valor. La mayoría de dominios están soportados para la pre-validación y la inversión en la parte del cliente.
  • El valor devuelto por un on_change de un campo One2Many ahora utiliza un índice para la clave add. Esto permite especificar la posición del nuevo registro que se va añadir en lugar de añadirlo siempre al final.
  • Se ha añadido un nuevo método ModelSQL.restore_history que permite restaurar los valores de un registro tal como estaban en un fecha y hora determinada.



  • Se ha creado un nuevo tipo de diario Desajuste para facilitar la creación de movimientos de ajuste.
  • Los impuestos ahora tienen una fecha inicial y fecha final opcionales, que permiten gestionar los cambios a través del tiempo.

French Chart of Account

  • El plan contable Francés se ha actualizado con los nuevos impuestos para el año 2014.

Account Statement

  • El módulo evita que se utilize una factura que ya ha sido pagada en los extractos en borrador.
  • Utiliza el nuevo índice de la función on_change para añadir las nuevas líneas seperadas debajo de la línea original.

Account Stock Continental

  • Se ha mejorado la velocidad de creación de asientos para los movimientos de stock/existencias.


  • Los números IBAN ahora son validados y formateados.


  • Se ha añadido un nuevo campo de zona horaria en la Empresa para obtener correctamente la fecha de hoy.
  • El empleado se lee del contexto, tal como se hace con la empresa. Esto permite utilizar más de un cliente con el mismo usuario pero empleados distintos.


  • Ahora es posible definir la fecha efectiva de una producción. Esto permite añadir producciones en el pasado.


  • Ahora se muestra un aviso al intentar recibir un movimiento de stock de proveedor sin origen. Normalmente, el origen debe ser una orden de compra.
  • Las compras intentan establecer un enlace entre los movimientos de stock y las líneas de factura.


  • El mismo aviso existe para los movimientos de cliente sin origen.
  • Las ventas intentan, como las compras, establecer un enlace entre los movimientos de existencias y las líneas de factura.


  • Los albaranes de devolución de proveedor pueden tener asignación parcial.
  • Se ha mejorado el cálculo de las cantidades en stock para facilitar la personalización y se ha mejorado la búsqueda.
  • Ahora es posible definir la fecha efectiva de los albaranes. Esto permite añadir albaranes en el pasado.

Stock Lot

  • Se añadido una acción para mostrar los movimientos de stock de un lote.

Nuevos módulos

  • El módulo Party Relationship define distintos tipos de relaciones entre terceros.
  • El módulo Account Payment permite generar grupos de pagos para los apuntes de las cuentas a pagar y a cobrar.
  • El módulo Account Payment SEPA permite generar ficheros SEPA para los pagos.
  • El módulo Stock Package permite alamacenar la información de los paquetes utilizados en los alabaranes de cliente y de devolución a proveedor.
  • El módulo Sale Shipment Grouping añade la opción para definir como se van a agrupar los movimientos de stock/existencias generados por las ventas.
  • El módulo Account Credit Limit gestiona los límites de crédito por tercero.
  • El módulo Sale Credit Limit añade las ventas confirmadas al límite de crédito del tercero.

Security Release for issue3446

Publicado: 2013-11-04 10:00:00+00:00 release security


A vulnerability in tryton has been found, that might allow a malicious server to send a crafted extention as answer to a report request leading the client to write the report on any file of the client host with the right of the user running the client (see issue3446).


Any file can be created on the client host with the access permissions of the user running the client.


Users should connect only to trusted servers.


All users should upgrade to the latest version of the used series.


Any security concerns should be reported on the bug-tracker at with the type security.

Nueva versión 3.0 de tryton

Publicado: 2013-10-21 18:00:00+00:00 release

Nos complace anunciar la salida de la nueva versión 3.0 de Tryton.

está versión trae la nueva vista de calendario en la interfície gráfica y el resultado de una larga refactorización de código que empezó hace 2 años con el proyecto python-sql. Como es habitual, también se han realizado correcciones de errores, mejoras y nuevos módulos (a continuación se dan más detalles).

Por supuesto, la migración desde las versiones anteriores está completamente soportada.

Cambios importantes en la interfaz de usuario

  • La vista de calendario ya está disponible. Permite mostrar los registros en un calendario utilizando fecha inicio y/o fin de campos fecha/fecha y hora. También soporta arrastrar y soltar eventos y la edición de los mismos con el doble clic. está vista esta optimizada para obtener solo los registros de los eventos que se muestran.

    calendario de producción
  • El esquema de URL, introducido en la versión 2.0, ahora es accessible en la parte inferior de todas las pestañas. Esta URL permite abrir la misma pestaña en cualquier otro cliente.

  • Se han eliminado las solicitudes. Se sugiere utilizar emails con URL para su sustitución.

  • Los registros seleccionados en la vista de lista se guardan entre sesiones.

Cambios mayores en el servidor

  • El servidor ahora utiliza python-sql para generar las consultas SQL. Este cambio permite una mejor compatibilidad con los diferentes Motores de Bases de datos soportados actualmente (y también con los que se soporten en el futuro).
  • El método searcher puede devolver un dominio completo (en lugar de uno limitado solo a clásuslas AND).
  • El antiguo atributo order_field se remplaza por el método order_<field name> para ser más modular.
  • El motor de base de datos se puede cargar dinámicamente, cosa que permite utilizar uno definido en un paquete externo al servidor de tryton.
  • El rendimiento del almacenamiento MPTT se ha mejora eliminando el orden por defecto y reduciendo el número de consultas.
  • Un nuevo atributo grouped se puede añadir al tag data. Esto permite crear todos los registros de un mismo modelo a la vez. Esto mejora el tiempo de instalación de módulos con una gran cantidad de información.
  • Se puede definir un orden por defecto en las acciones de ventana.


  • Muchos módulos se han adaptado al nuevo diseño de relacionar documentos generados con su origen. En vez de copiar el código de origen como referencia se utiliza un campo Reference. La mayoría de las veces el enlace se encuentra a nivel de línea. Esto proporciona una mejor visión de los enlaces entre documentos sin perder la información cuando se mezclan documentos.


  • Se ha creado un nuevo asistente para facilitar al creación de asiento de regularización al final del período fiscal.
  • Todas las cuentas de un plan contable deben pertencer a la misma empresa. Esta validación mejora radicalmente el rendimiento del cálculo del debe/haber.
  • Cualquier asiento confirmado con algún apunte con importe cero se concilia automáticamente si la cuenta está marcada como a conciliar. Con esta funcionalidad, las facturas con importe cero se marcan automáticamente cómo pagadas.
  • La opción de contrapartida centralizada en el diario se ha eliminado.

Account Invoice

  • Cuando una factura se confirma, se utiliza el asiento contable para mostrar los importes en vez de calcularlo a partir de las líneas. Esto mejora el rendimiento, especialmente para las facturas con muchas líneas.

Account Statement

  • Ahora es posible vincular una factura con una línea de extracto. Esto llenará automàticamente el tercero y la cuenta.


  • Es posible consultar la cantidad en estoc con cualquier tipo de parámetros de agrupación. Por ejemplo, se puede utilizar para calcular la cantidad en estoc por lote, en vez de por producto.
  • El código de los inventarios se ha refactorizado para facilitar su personalización y también la validación de unicidad de las líneas de inventario.
  • La cache del período se puede adaptar para guardar diferentes tipos de agrupaciones de cantidad.

Stock Lot

  • Se han añadido los campos cantidad y cantidad estimada en los lotes.
  • Ahora es posible crear inventarios con lote.
  • La cache del período también guarda las cantidades por lote.

Stock Supply

  • Se ha añadido un nuevo asistente para crear automáticamente movimientos internos.
  • Si hay movimientos tardíos de proveedor cuando se crean las solicitudes de compra, el asistente muestra un aviso para que el usuario pueda modificar la fecha de estos movimientos a un futuro si es necesario. Si no estos movimientos de entrada serán ignorados.

Nuevos módulos

  • El módulo Bank define el concepto de banco y cuenta bancaria.
  • El módulo Account Dunning permite gestionar reclamaciones siguiendo un procedimiento con diferentes niveles.
  • El módulo Account Dunning Letter añade la generación de cartas cuando se procesan reclamaciones.
  • El módulo Sale Invoice Grouping añade la opción de definir cómo se agruparán las líneas de venta al generar las líneas de factura.

Tryton Unconference Barcelona 2013

Publicado: 2013-09-17 12:00:00+00:00 TUB

Esta tercera edición tendremos la oportunidad de encontrarnos todos los miembros de la comunidad (usuarios y desarrolladores) para hablar del futuro de Tryton y descubrir la ciudad de Barcelona.

Por ahora las ponencias presentadas son:

(Podéis seguir las propuestas en el apartado de ponencias)

La primera edición de la Fundación Tryton tendrá lugar el sábado 9 de noviembre, a las 18.30 en el mismo lugar que los actos anteriores.

También se ha reservado el domingo 10 de noviembre para una jornada de código intensivo.

Puedes registrarte al evento en TUB 2013.

Si estás interesado en proponer una ponencia (sobre algún proyecto, dar tu opinión, ...) puedes añadirte en la página de ponencias o enviar un correo electrónico a

Y puedes difundir la palabra: #TUB2013

Novedades de desarrollo Juliol13

Publicado: 2013-07-08 12:00:00+00:00 development

A continuación puede encontrar algunos cambios que se han introducido en la rama de desarrollo de Tryton y que estarán disponibles para la próxima versión.


  • Factor para los campos de números. Este factor se utiliza para la conversión entre el valor que se muestra y el valor interno. Básicamente se utiliza para mostrar los porcentajes como 10% aunque internamente se guarde 0.1.

  • Se han eliminado las solicitudes. En vez de las solicitudes, el servidor envía correos electrónicos para notificar a los usuarios y los usuarios pueden utilizar los mismos para comunicarse entre ellos y gracias a la URL de Tryton se puede hacer referencia a registros específicos. Este hecho permite reducir la carga del servidor, ya que los clientes preguntaban por nuevas solicitudes cada 5 minutos.


  • Se ha añadido un nuevo tipo de vista: calendario. Permite mostrar los registros en un calendario usando una fecha de inicio y (opcionalmente) una fecha final. Está basada en el widget GooCalendar. Permite arrastrar y soltar los eventos, editarlos haciendo doble clic y sólo busca los eventos que se deben mostrar.

    production calendar
  • Desde la versión 2.0, Tryton dispone de un Esquema de URL que el cliente puede leer. De todas formas, antes no había una forma fácil de obtener la URL de un recurso. A partir de ahora se muestra la URL en la parte inferior de cada pestaña que contiene la URL que se puede utilizar en cualquier cliente.




  • Ahora un apunte confirmado con importe cero se concilia automáticamente si tiene una cuenta para conciliar. Con esta funcionalidad, las facturas con importe 0 se marcan automáticamente como pagadas.
  • Una herencia de OpenERP, la opción de contrapartida centralizada en los diarios, se ha eliminado después de una encuesta que ha puesto en evidencia que nadie lo usaba.

Account Invoice

  • Cuando la factura ya está confirmada utiliza el apunte contable para mostrar los importes en vez de calcularlo desde las líneas. Esto mejora una poco el rendimiento, especialmente para facturas con muchas líneas.

Account Statement

  • Ahora es posible informar directamente de una factura en una línea de extracto. Con esta funcionalidad se rellena automáticamente el tercero y la cuenta.


  • Ahora es posible hacer una consulta sobre la cantidad de stock con cualquier tipo de parámetros de agrupación. Por ejemplo, se puede hacer servir para calcular la cantidad de un lote en vez de un producto.
  • Se ha refactoritzado el código del inventario para que sea más fácil de personalizar la creación de movimientos y también la regla de que las líneas de inventario deben ser únicas.
  • La cache de periodos se puede adaptar para hacer cache de diferentes formas de cantidades agrupadas.

Stock Lot

  • Ahora es posible crear inventarios con lote.
  • La cache de periodo también guarda las cantidades por lote.

Stock Supply

  • Si hay movimientos de envío tardío cuando se crean las órdenes de compra, el asistente muestra un aviso al usuario para que cambie las fechas de estos movimientos en una fecha a futuro si es necesario. Si no se hace, las líneas de entrada se ignorarán.

Ultima versión de mantenimento para las series 1.8

Publicado: 2013-05-16 12:00:00+00:00 release
Hace dos semanas la serie 1.8 recibió las ultimas correcciones de errores, han pasado 2 años y medio del lanzamiento de la primera versión. Las series 2.0, 2.2, 2.4 y 2.6 también tienen varias correcciones que ya se publicaron en la serie 2.8. Como de costumbre, no se requiere la actualización de la bases de datos para estas liberaciones/lanzamientos.