Recent from talks
Nothing was collected or created yet.
Tryton
View on Wikipedia| Tryton | |
|---|---|
A screenshot of Tryton sale form | |
| Original author | Tryton |
| Developers | Cédric Krier and the Tryton community |
| Initial release | 17 November 2008 |
| Stable release | 7.0.34[1] |
| Repository | https://code.tryton.org/tryton |
| Written in | Python, JavaScript |
| Operating system | BSD, Linux, Mac OS X, Windows |
| Available in | 25 languages |
List of languages Bulgarian, Catalan, Chinese (Simplified), Czech, Dutch, English, French, German, Hungarian, Italian, Polish, Portuguese, Russian, Slovenian, Spanish, Lao, Estonian, Turkish, Finnish, Ukrainian, Persian, Finish, Indonesian, Lithuanian, Romanian | |
| Type | Business software, ERP, CRM, Accounting |
| License | GPL-3.0-or-later[2] |
| Website | www |
| As of | 2025-05-11 |
Tryton is a three-tier high-level general purpose computer application platform on top of which is built an enterprise resource planning (ERP) business solution through a set of Tryton modules. The three-tier architecture consists of the Tryton client, the Tryton server and the database management system (mainly PostgreSQL).
License
[edit]The platform, along with the official modules, are free software, licensed under the GPL-3.0-or-later license.[2]
Modules and functional coverage
[edit]The official modules provide a coverage of the following functional fields:[3]
- Financial accounting
- Sales
- Inventory & Stock
- Analytic accounting
- CRM
- Purchasing
- Supply chain
- Manufacturing Resource Planning
- Shipping
- Project management
- Subscription management
- Third party integration
Full documentation of the modules and functionalities is available at the official documentation site.[4]
Technical features
[edit]The client and the server applications are written in Python, the client uses GTK+ as graphical toolkit. Both are available on Linux, OS X, and Windows.[5] A web client also exists written in JavaScript using jQuery and Bootstrap and is named sao.
The kernel provides the technical foundations needed by most business applications. However it is not linked to any particular functional field hence constituting a general purpose framework:[6]
- Data persistence: ensured by accessor objects called Models, they allow easy creation, migration and access to records.
- User Management: the kernel comes with the base features of user management: user groups, access rules by models and records, etc.
- Workflow Engine: allows users to activate a workflow on any business model.
- Report Engine: the report engine is based on relatorio that uses ODT files as templates and generate ODT or PDF reports.
- Internationalisation: Tryton is available in English, French, German, Spanish, Catalan, and Italian. New translations can be added directly from the client interface.
- Historical data: data historization may be enabled on any business model allowing for example to get the list of all the past value of the cost price of any product. It also allows users to dynamically access historized record at any time in the past: for instance the customer information on each open invoice will be the ones of the day the invoice was opened.
- Support for XML-RPC and JSON-RPC protocols.
- Database independence is allowed thanks to the python-sql library and is used for testing with the SQLite backend.
- Built-in automatic migration mechanism: it allows updating the underlying database scheme without any human manipulation. Migration is ensured from series to series (releases inside the same series do not require migration). This automation is possible because the migration process is taken into account and tested continually within the development.
- Advanced modularity: the modularity allows a layered approach of the business concepts along with flexibility, which speeds up custom developments.
Being a framework, Tryton can be used as a platform for the development of various other solutions than just business ERPs. A very prominent example is GNU Health, a free Health and Hospital Information System based on Tryton.
Origin and history
[edit]Tryton's origin is a fork of the version 4.2 of TinyERP (which was later called OpenERP and now renamed Odoo). The first version was published in November 2008.[7][8][9]
Project management and governance
[edit]
In contrast to their parent project and other open-source business software, the Tryton founders avoided creating a partner network, which tends to generate opposition and duality between the partners and the community of volunteers. They followed the PostgreSQL example where the project is driven by a federation of companies.[10] As of August 2015, Tryton is supported by 17 of such companies, which are distributed globally as follows: France 3, Spain 3, Colombia 2, Germany, 2, Argentina 1, Australia 1, Belgium 1, Brazil 1, India 1, Mexico 1, Switzerland 1.
As of December 2012, the project is backed by Tryton, a Belgian private foundation pursuing a disinterested purpose. The foundation's missions are:[11]
- Develop and support conferences, meetings and community activities
- Hold and administer the tryton.org infrastructure
- Organize the community of supporters
- Manage and promote the Tryton trademark
The release process is organised around series. A series is a set of releases with the same two first numbers (e.g. 1.0 or 1.2) that shares the same API and the same database scheme. A new series appears every six months and new versions in older release are introduced when bugfixes are available.[12] The series are maintained for 1 year and every five series is a Long-term support of 5 years.
Name
[edit]The name Tryton refers to Triton, a mythological Greek god (son of Poseidon, god of the sea, and Amphitrite, goddess of the sea) and Python, the implementation language.
See also
[edit]References
[edit]As of this edit, this article uses content from "Tryton", which is licensed in a way that permits reuse under the Creative Commons Attribution-ShareAlike 3.0 Unported License, but not under the GFDL. All relevant terms must be followed.
- ^ "Release notes — Tryton server". Retrieved 5 August 2025.
- ^ a b "COPYRIGHT".
- ^ "Tryton website". 31 October 2023.
- ^ "Tryton official documentation". 31 October 2023.
- ^ Tryton Download
- ^ "Foundation Architecture: Technical Reference Model". pubs.opengroup.org. Retrieved 2023-06-21.
- ^ Release announcement for the 1.0 version, Tryton, archived from the original on 2011-07-28.
- ^ Tryton ERP 1.0 released, Linux Weekly News.
- ^ Tryton — A New Kid on The Open source ERP Block, Open Source ERP Guru, archived from the original on July 2, 2012.
- ^ Companies supporting officially, Tryton.
- ^ The Tryton Foundation is now official Archived 2014-04-23 at the Wayback Machine news.tryton.org: The Tryton Foundation is now official
- ^ Tryton release process, 4 August 2017.
External links
[edit]Tryton
View on GrokipediaOverview and Architecture
Description
Tryton is a three-tier high-level general-purpose application platform designed for building enterprise resource planning (ERP) solutions.[7] It separates the user interface (client), business logic (server), and data storage (database) to enable scalable and maintainable business applications.[7] Primarily targeted at businesses of all sizes, Tryton supports comprehensive operational management, including financial accounting, sales, inventory, purchasing, supply chain, manufacturing, and project management.[1] A key differentiator of Tryton is its modular design, which allows users to customize and extend functionality through add-on modules without modifying the core codebase.[7] This approach promotes flexibility and adaptability to specific business needs while maintaining system integrity. The platform was initially released on 17 November 2008.[8] As of November 2025, the latest stable release is the 7.6 series, which includes performance improvements, bug fixes, and enhancements such as a new client chat widget and support for Python 3.13.[9] Tryton is developed primarily in Python, with contributions from a global community, and uses PostgreSQL as its recommended database backend under the GPL-3.0-or-later license.[10][11]Core Components
Tryton employs a three-tier architecture that separates the user interface, business logic, and data storage to enhance modularity, scalability, and maintainability.[6] This design consists of the client tier for user interaction, the server tier for processing logic, and the database tier for persistent data management.[12] The architecture supports a modular structure that enables the implementation of ERP functionalities through extensible components.[13] The client tier provides the user interface and is available in two primary forms: a desktop application built with GTK and Python for a native experience, and a web-based client known as SAO (Single Application Online), developed using JavaScript for browser access.[14] The GTK client offers features like customizable views, while the SAO client ensures accessibility across devices without requiring software installation.[14] Both clients connect to the server to retrieve and submit data, presenting information through forms, lists, and dashboards tailored to business processes. The server tier, implemented as the trytond application in Python, manages the core business logic, including workflows, report generation, and external integrations.[10] It processes requests from clients, enforces rules defined in modules, and handles operations such as data validation and transaction management.[15] Tryton includes a workflow engine that automates business processes by defining state transitions and actions within models.[16] Reports are generated dynamically using templates in formats like OpenDocument, supporting output in PDF, ODT, and other standards.[17] Integrations with external systems are facilitated through the server's API and module extensions, allowing connectivity to services like email or third-party APIs. The database tier primarily relies on PostgreSQL to ensure ACID compliance, robust querying, and scalability for enterprise workloads, with support for SQLite in lighter setups.[18] PostgreSQL stores all application data, including records, configurations, and metadata, with the server handling schema migrations and optimizations via object-relational mapping. This choice provides features like full-text search and concurrent access control, critical for multi-user environments. Client-server communication occurs via XML-RPC and JSON-RPC protocols (version 1.0 for JSON-RPC), enabling secure, stateless interactions over HTTP.[12] These protocols support method calls for model operations, wizard execution, and report rendering, with URLs appended by the database name for routing.[12] The entire architecture supports deployment on multiple operating systems, including Linux, macOS, and Windows, due to the cross-platform nature of Python, GTK, and PostgreSQL.[10] This compatibility allows flexible hosting options, from on-premises servers to cloud environments.History
Origins
Tryton originated as a fork of TinyERP (now known as Odoo) version 4.2 in December 2007, initiated by Cédric Krier and Bertrand Chenal.[19][20][4] The project emerged from technical and business disagreements within the Tiny company, where Krier had been a key contributor fixing issues in TinyERP's codebase.[19] The primary motivations for the fork were to create a more modular, stable, and community-driven alternative to TinyERP's rapid and sometimes disruptive development pace.[19] Early development emphasized improving code maintainability and fostering collaborative governance, addressing perceived shortcomings in TinyERP's direction.[19] Initial contributors included Cédric Krier and Bertrand Chenal alongside other developers such as G. de Menten, E. Delescolle, and later Nicolas Évrard, who helped establish the project's foundations.[19][4] The first public release, version 1.0, occurred on 17 November 2008, marking Tryton's debut as an open-source platform.[19] From its inception, Tryton focused on building a flexible framework for business applications, extending beyond traditional ERP functionalities through a modular structure supporting multiple databases and customizable modules like account, sale, purchase, and stock.[19] Written primarily in Python, it aimed to provide a robust base for diverse enterprise needs.[19]Development Timeline
Tryton originated as a fork of TinyERP version 4.2 in December 2007, marking the beginning of its independent development path.[19][4] The inaugural version 1.0 was released on November 17, 2008, establishing the foundational three-tier architecture and introducing core modules such as party management, accounting basics, and product handling to support essential ERP functionalities.[8] This release addressed initial challenges in migrating from the TinyERP codebase, including a comprehensive review of business logic for improved modularity and the addition of multi-database support to enhance flexibility.[19] Subsequent development adopted a biannual release cadence, with new series introduced every six months to incorporate community feedback and technological advancements.[21] Long-term support (LTS) versions, providing stability for production environments, are designated every five years and maintained for five years; notable examples include version 5.0 in October 2018 and version 7.0 in October 2023.[22][23] Key milestones include version 3.0 in 2013, which refined workflow capabilities for more complex business processes. The Tryton Foundation was established in Belgium in November 2012 to formalize governance.[24][25][26] By 2015, the project had evolved from a solo initiative to a collaborative effort involving multiple global companies, reflecting growing adoption and contributions that bolstered its ecosystem. In 2023, the project migrated to a monorepo structure hosted on Heptapod to streamline development and collaboration.[19][27][28] Later releases emphasized integration and scalability. Version 5.0, the first LTS, extended support for external systems and improved data migration tools, facilitating smoother adoption in diverse enterprise settings.[22] The 7.0 LTS series focused on performance optimizations and broader compatibility, including support for Python 3.12, to handle larger-scale deployments effectively.[29] Additional advancements included the web client in 2015 and Docker integration in 2017, broadening accessibility.[24] As of November 2025, the 7.0 LTS series continues with maintenance releases, such as 7.0.38 on October 20, 2025, prioritizing bug fixes and security.[29] The 7.2 series, released in April 2024, introduced refinements in API handling and cloud deployment compatibility, with ongoing maintenance releases as of November 2025.[30][31] The November 2025 newsletter indicated a postponement of the 7.8 release to ensure quality, underscoring the project's commitment to reliable evolution amid ongoing community expansion.[1]Modules and Features
Functional Modules
Tryton's functional modules provide a comprehensive suite of tools for managing business operations within an ERP framework, enabling organizations to activate only the components relevant to their needs. The system emphasizes modularity, allowing users to tailor implementations by selectively installing and configuring modules that integrate seamlessly to support end-to-end processes from order initiation to delivery and beyond. This approach ensures scalability, making Tryton suitable for small and medium-sized enterprises (SMEs) as well as larger organizations requiring robust, customizable solutions.[1] Core modules form the foundation of Tryton's ERP capabilities, addressing essential business functions. The Financial Accounting module records all transactions in a chart of accounts, supporting multi-currency operations, period-based closing, and financial reporting. Complementing this, the Analytic Accounting module categorizes expenses and revenues for detailed cost analysis and profitability tracking. The Sales module handles the full sales cycle, from quotations and order confirmation to invoicing and customer delivery, ensuring efficient order fulfillment. Similarly, the Purchasing module manages procurement processes, including requests for quotations, supplier selection, and order grouping to optimize buying efficiency.[1] Inventory and supply chain management are covered by dedicated modules that enhance operational control. The Inventory & Stock module tracks goods movement across warehouses, supporting lot and serial number tracking, stock valuation, and replenishment rules. Supply chain optimization is provided by modules such as Stock Forecast, which handles demand forecasting, safety stock calculations, and inter-warehouse transfers, integrating with sales and purchasing for just-in-time inventory. For production needs, the Manufacturing Resource Planning (MRP) module facilitates the transformation of raw materials into finished products using bills of materials (BOM), routings, and production scheduling to streamline manufacturing workflows. CRM functionality is supported through integrated modules like Party, Sale, and Marketing, allowing lead and opportunity management, converting prospects into customers through tracking interactions and sales pipelines.[1][32][33] Additional modules extend functionality to specialized areas. The Project Management module enables monitoring of project timelines, resource allocation, profitability analysis, and time-based invoicing for service-oriented businesses. Subscription Management automates recurring billing and contract renewals, ideal for service providers offering ongoing subscriptions. The Shipping module handles packaging, carrier integration, and shipment tracking to ensure smooth logistics. Payment processing is supported through modules that integrate with banking systems for automated reconciliations and electronic payments.[1] Tryton's extensible framework allows for third-party integrations and custom modules, broadening its applicability. It supports e-commerce platforms via APIs for order synchronization and inventory updates, human resources functions such as payroll and employee management through compatible add-ons, and bespoke developments using the modular architecture. With a large ecosystem of community-contributed modules available via the Python Package Index (PyPI) and curated lists, users can extend core functionalities without altering the base system, fostering tailored ERP setups for diverse industries.[6][34]Technical Features
Tryton employs Python as the primary programming language for its server-side implementation, enabling robust backend logic and module development. The desktop client is also built in Python, utilizing the GTK+ toolkit for a native graphical interface across platforms including Linux, macOS, and Windows. Additionally, the web client, known as SAO (Tryton Application Online), is developed in JavaScript, providing browser-based access with modern UI capabilities.[35] Data persistence in Tryton is managed through a custom object-relational mapping (ORM) layer that exclusively supports PostgreSQL as the database backend, ensuring ACID compliance and scalability for enterprise data handling. The ORM facilitates seamless mapping between Python objects and relational tables, with features like lazy loading and query optimization to handle complex business data efficiently.[36] The built-in workflow engine allows for the automation of business processes by defining states on models using a dedicated Workflow class, along with transition rules specified in the_transitions attribute. This enables developers to model state machines declaratively, supporting actions triggered on state changes to streamline operations like approvals or status updates.[16]
Tryton's report engine supports customizable reporting through templates, primarily leveraging the Relatorio library to generate documents from OpenDocument Text (ODT) files, which can be rendered as ODT, PDF, or other formats. Templates integrate dynamic data from models via placeholders and expressions, allowing users to design reports visually in tools like LibreOffice while maintaining programmatic control.[17][37]
Internationalization in Tryton is achieved through gettext-based translation files (PO format) managed module-wise, supporting over 30 languages via the official translation platform, with derivative translations for incomplete locales falling back to parent languages. It includes multi-currency handling through the Currency module for exchange rate management and conversions, alongside localization features in the Country module adhering to ISO 3166 standards for regions, taxes, and formats.[38]
Security is implemented via role-based access control (RBAC), where permissions are defined at multiple levels—model, record, field, action, and button—based on user group memberships, ensuring granular enforcement of read, write, create, and delete operations. Audit trails and historical data tracking are supported by enabling the _history = True attribute on ModelSQL classes, which automatically logs all changes to records in a dedicated history table for compliance and traceability.[39]
Other technical capabilities include automatic database migrations handled by the trytond-admin command, which applies schema updates and data conversions during upgrades, supplemented by manual steps documented for major series transitions. API support encompasses both XML-RPC and JSON-RPC protocols for remote procedure calls, enabling integration with external systems through methods like database login, model queries, and wizard execution. Multi-company handling is facilitated by the Company module, which represents single or multiple entities within the system, enforcing context-aware data isolation and consolidation across organizations.[40][12][41]
Tryton's modular design integrates these features within a three-tier architecture, promoting extensibility without compromising core stability.[1]