ERP migration
Field-level mapping, validation, and rollback between Tryton and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
Tryton
Source
Dolibarr ERP
Destination
Compatibility
12 of 13
objects map 1:1 between Tryton and Dolibarr ERP.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Migrating from Tryton to Dolibarr is a move from a developer-oriented relational framework to a PHP-based SME ERP with a flatter data model. Tryton's PostgreSQL backend enforces referential integrity through its ORM, meaning every import must route through Tryton's Proteus library or server API rather than direct SQL. Dolibarr receives data via its CSV import module and REST API, which requires pre-formatting Tryton's relational Party, Order, and Invoice records into Dolibarr's denormalized third-party and document structures. The most consequential differences are Tryton's multi-company and OHADA accounting model versus Dolibarr's simpler single-company accounting, and the absence of an equivalent Analytic Accounting axis in standard Dolibarr. We pre-build the Dolibarr chart of accounts matching Tryton's account hierarchy, resolve currency and tax codes explicitly, and deliver a written accounting reconstruction plan for any OHADA configurations. Dolibarr's community-based support model mirrors Tryton's, but its PHP stack and larger SME user base make it more accessible to non-technical administrators managing day-to-day configuration.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Tryton object lands in Dolibarr ERP, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Tryton
Party
Dolibarr ERP
Third Party
1:1Tryton Parties (Customer, Supplier, Employee types) map to Dolibarr Third Parties with type toggling and category assignments. We extract address records, contact info, and fiscal identification numbers from Tryton's party_address and party_identifier tables and map them to Dolibarr's societe and contact tables. Party-specific fiscal identifiers (tax IDs, DUNS, SIREN) migrate as extrafields if configured in Dolibarr's extrafields table.
Tryton
Sale Quotation
Dolibarr ERP
Proposal (Customer Proposal)
1:1Tryton Sale Quotations map to Dolibarr proposals. We preserve quotation state (quotation, confirmed, done, cancelled), all line-level pricing and taxes, and the party link via the third-party reference. Tryton Sale Line descriptions and product references map to Dolibarr propaldet lines with product and service association resolved via SKU lookup.
Tryton
Sale Order
Dolibarr ERP
Order (Customer Order)
1:1Confirmed Tryton Sale Orders map to Dolibarr customer orders. Order states (processing, done, cancelled) migrate directly. Line-level taxes, discounts, and descriptions transfer as Dolibarr commandedet rows. Party linkage is resolved via the third-party mapping. Invoicing state is preserved by matching Tryton invoice references to the corresponding Dolibarr linked invoice record after invoice migration.
Tryton
Purchase Order
Dolibarr ERP
Order (Supplier Order)
1:1Tryton Purchase Orders map to Dolibarr supplier orders. Supplier party references resolve via the third-party mapping. Expected delivery dates, line-level quantities, and prices transfer directly. Cancelled and done states migrate with the order header. We flag any Tryton purchase orders with unreceived quantities for manual reconciliation in Dolibarr.
Tryton
Invoice (Account Invoice)
Dolibarr ERP
Invoice (Customer or Supplier)
1:1Tryton posted and paid invoices map to Dolibarr invoices with full line detail. Invoice state (draft, validated, posted, paid, cancelled) transfers through Dolibarr's document status workflow. We recompute tax and total amounts during import rather than relying on cached Tryton values, and flag any records where the migrated cached total deviates from the recomputed total by more than a rounding threshold. Open AR/AP balances migrate as move lines attached to the correct third-party account.
Tryton
Inventory and Stock Move
Dolibarr ERP
Product Stock
1:1Tryton stock moves track goods from receipt to delivery with shipment states, warehouse assignments, and quantities. We map warehouse locations to Dolibarr entrepots, and lot numbers to Dolibarr's lot tracking where the Lot module is enabled. Inventory values at the point of migration transfer as Dolibarr stock value records. We flag any negative stock situations in Tryton for manual resolution before import.
Tryton
Chart of Accounts
Dolibarr ERP
Accounting Account
lossyTryton's account_chart model with account codes, names, and type hierarchy maps to Dolibarr's compta_account_general table. We preserve the full account code structure, account type (expense, revenue, receivable, payable, view), and parent hierarchy. Each Dolibarr account is created before any invoice or move line import to satisfy foreign-key constraints. OHADA-specific account charts require a dedicated mapping pass that respects the OHADA account classification scheme.
Tryton
Analytic Accounting
Dolibarr ERP
Analytic Account (optional module)
1:1Tryton's AnalyticAccount model stores separate analytic axes against moves and invoices. Dolibarr's Analytic Accounting module (optional) uses a simpler flat account structure rather than Tryton's multi-axis model. We migrate analytic lines as Dolibarr analytic accounts, and where Tryton uses multiple analytic axes, we concatenate or prefix the axes in the Dolibarr analytic account name. The customer must enable the Analytic Accounting module before migration.
Tryton
Project and Work
Dolibarr ERP
Project
1:1Tryton Project and Work entries with task hierarchy and time recording map to Dolibarr Projects. Project status (open, closed), assigned parties, and durations transfer directly. Task structure maps to Dolibarr subtasks within the project hierarchy. Active versus closed status is preserved on the project record.
Tryton
Bank Account and Cash Account
Dolibarr ERP
Bank Account
1:1Tryton financial accounts for payments and cash migrate to Dolibarr bank accounts with their journal assignments and reconciliation settings. Open AP/AR balances transfer as move lines linked to the correct third-party account. Journal codes from Tryton map to Dolibarr's compta_account_journal table, and we flag any unsupported journal types for manual configuration.
Tryton
Document and Attachment
Dolibarr ERP
Document (Linked Files)
1:1Tryton stores binary attachments as file_id references in ir_attachment. We run a pre-export pass that extracts file content by file_id, bundles attachments as a parallel export set, and re-attaches them in Dolibarr by matching the original file_id to the newly created record ID. Large attachments are chunked and validated against Dolibarr's file size limits. We flag any attachments exceeding PHP upload limits for pre-import configuration of the target server.
Tryton
User and Employee
Dolibarr ERP
User
1:1Tryton Users and Employees are separate models with role-based access control. We migrate active users and their employee records to Dolibarr Users, remapping group memberships to Dolibarr permission groups (admin, user, readonly). The migration user's Dolibarr permissions must be set before employee records import. We do not migrate Tryton RBAC configurations directly; we deliver a written permission matrix for the Dolibarr admin to assign.
Tryton
Custom Fields and Properties
Dolibarr ERP
Extrafields
1:1Tryton's dynamic field extension via ir.model.field migrates to Dolibarr's extrafields per-entity tables. We query the Tryton ir_model_field table during scoping, extract custom field definitions with their types and constraints, and create equivalent Dolibarr extrafields before data import. Fields referencing lookups to other models require pre-creation of the target extrafield and resolution of the foreign key during data migration.
| Tryton | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Party | Third Party1:1 | Fully supported | |
| Sale Quotation | Proposal (Customer Proposal)1:1 | Fully supported | |
| Sale Order | Order (Customer Order)1:1 | Fully supported | |
| Purchase Order | Order (Supplier Order)1:1 | Fully supported | |
| Invoice (Account Invoice) | Invoice (Customer or Supplier)1:1 | Fully supported | |
| Inventory and Stock Move | Product Stock1:1 | Fully supported | |
| Chart of Accounts | Accounting Accountlossy | Fully supported | |
| Analytic Accounting | Analytic Account (optional module)1:1 | Mapping required | |
| Project and Work | Project1:1 | Fully supported | |
| Bank Account and Cash Account | Bank Account1:1 | Fully supported | |
| Document and Attachment | Document (Linked Files)1:1 | Fully supported | |
| User and Employee | User1:1 | Fully supported | |
| Custom Fields and Properties | Extrafields1:1 | Mapping required |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Tryton gotchas
PostgreSQL-only deployment with strict foreign-key constraints
Series-skip migration requires sequential manual steps
OHADA accounting context changes account schema
Invoice amount caches must be recomputed post-import
Binary attachment storage via file_id requires separate file export
Dolibarr ERP gotchas
Foreign key constraint errors on cross-distribution database restore
SQL injection vulnerabilities in version 9.0.1
Custom fields stored as JSON in extraoptions require field-by-field deserialization
Decimal precision and rounding configuration affects price fields
No native iOS/Android app forces reliance on browser
Pair-specific challenges
Migration approach
Scoping and dependency audit
We audit the Tryton deployment across series version, active modules, and custom field extensions. We identify all Party types, order states, invoice states, stock move volumes, account codes, and attachment counts. We validate OHADA configuration presence, multi-company setup, and analytic accounting axis usage. We confirm the Dolibarr target version, enabled modules, and PHP/database configuration. The scoping output is a written migration scope document with a per-object row count, a party-type decision matrix, and a chart-of-accounts reconstruction flag for OHADA cases.
Tryton export via Proteus and data transformation
We run a pre-export validation pass on the Tryton PostgreSQL database to confirm ir_module_module and ir_module_dependency table names match the target series. We execute the Proteus Python library against the Tryton server to export Parties, Orders, Invoices, Inventory, and Account records in dependency order. We transform each record set into Dolibarr-compatible CSV format, mapping Tryton field names and types to Dolibarr field names and types, resolving party-type duplication decisions, and flattening analytic accounting axes into Dolibarr analytic account names.
Dolibarr schema pre-configuration
Before any data import, we configure the Dolibarr target: we enable required modules (Third Party, Product, Proposal, Order, Invoice, Stock, Accounting, Project, Bank), create extrafields matching Tryton custom fields, create the chart of accounts via Dolibarr's account import with codes and hierarchy matching Tryton, configure the OHADA or standard chart-of-accounts structure based on the scoping flag, and set up warehouse locations, product categories, and sales and purchase tax rates.
Sandbox import and reconciliation
We run a full migration into a staging Dolibarr environment using production-like data volumes. We validate third-party record counts, order and invoice totals, account balance reconciliation against Tryton trial balance, and attachment linkage against the original Tryton ir_attachment file set. The customer reconciles key business records (10-20 randomly sampled orders, invoices, and third parties) and signs off before production migration. Mapping corrections are captured here.
Production migration in dependency order
We execute production migration in strict sequence: chart of accounts first (to satisfy foreign keys), then third parties, products, warehouse stock, proposals, customer orders, supplier orders, invoices, bank accounts, project records, and binary attachments. Each phase emits a row-count reconciliation report. We recompute invoice tax and total amounts post-import using Dolibarr's built-in recalculation where available, and flag any amounts deviating from the Tryton source beyond a rounding threshold.
Cutover, validation, and accounting reconstruction handoff
We freeze Tryton writes during a defined cutover window, run a delta migration of any records modified during the migration period, and switch the system of record to Dolibarr. We deliver the OHADA chart-of-accounts reconstruction guide, the Analytic Accounting mapping document, and a written permission matrix for the Dolibarr admin to assign. We do not rebuild Tryton workflows, alerts, or data export scripts as Dolibarr equivalents; that scope is documented separately for the customer's admin or implementation partner.
Platform deep dives
Tryton
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between Tryton and Dolibarr ERP.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Tryton and Dolibarr ERP.
Object compatibility
All 8 core objects map 1:1 between Tryton and Dolibarr ERP.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Tryton: Not publicly documented by the Tryton Foundation.
Data volume sensitivity
Tryton exposes a bulk API — large-volume migrations stream efficiently.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Tryton to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your Tryton to Dolibarr ERP migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Tryton
Other ways to arrive at Dolibarr ERP
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.