ERP migration

Migrate from Axelor ERP to Dolibarr ERP

Field-level mapping, validation, and rollback between Axelor ERP and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.

Axelor ERP logo

Axelor ERP

Source

Dolibarr ERP

Destination

Dolibarr ERP logo

Compatibility

93%

14 of 15

objects map 1:1 between Axelor ERP and Dolibarr ERP.

Complexity

BStandard

Timeline

4-8 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Axelor ERP to Dolibarr is a platform simplification: Axelor's Java-based, Low Code studio, multi-company, and BPM-heavy architecture gives way to Dolibarr's PHP-based modular stack designed for small and mid-sized teams that need core ERP functions without the deployment overhead. We extract Axelor data through its REST API and direct PostgreSQL or MySQL reads, enumerate every custom Studio domain model from XML files at scoping time, split inter-company journal entries into per-company standard entries, and migrate attachment metadata while scheduling a separate file-binary transfer job. BPM processes and workflows do not migrate as code; we deliver a written inventory of each process and its recommended Dolibarr equivalent for the customer admin to rebuild. Projects, tasks, stock moves, and the full product catalog migrate as structured records, while the general ledger and custom objects require explicit field-level mapping decisions before any data moves.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Axelor ERP logo

Axelor ERP

What's pushing teams away

  • The community is small and fragmented compared to Odoo or ERPNext, making peer support and third-party tutorials harder to find when problems arise during customisation.
  • Technical knowledge is required for initial installation and server management, frustrating SMB customers expecting a plug-and-play SaaS experience without DevOps overhead.
  • The mobile application is reported as underdeveloped relative to the desktop platform, limiting adoption for field teams who need on-the-go access to ERP data.
  • Reporting and analytics dashboards receive consistent criticism for being less polished than competing ERPs, pushing users toward external BI tools for executive reporting.
  • Upgrading between Axelor versions carries risk of breaking custom modules due to entity field overrides, making version maintenance a specialist task rather than a routine update.

Choosing

Dolibarr ERP logo

Dolibarr ERP

What's pulling them in

  • Free open-source core with no per-user license fee makes it the lowest-cost entry point for small teams needing ERP and CRM in one package.
  • Self-hosted deployment gives full data ownership and eliminates vendor lock-in, especially attractive to businesses with compliance requirements.
  • Modular architecture means teams enable only the features they use, keeping the interface uncluttered and reducing learning curve.
  • Fast installation with no technical knowledge required — one reviewer set up multiple businesses in minutes using their own hosting.
  • Active community forum and marketplace of third-party add-ons provide support and extension options without mandatory subscription costs.

Object mapping

How Axelor ERP objects map to Dolibarr ERP

Each row shows how a Axelor ERP 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.

Axelor ERP

Partner

maps to

Dolibarr ERP

ThirdParty (societe)

1:1
Fully supported

Axelor Partner is a unified object for customers, suppliers, and prospects with addresses, bank details, and contact persons stored as related records. It maps to Dolibarr's ThirdParty (societe) table. We split the Axelor Partner type (customer, supplier, prospect) into Dolibarr's separate isCustomer and isSupplier boolean flags on the same record. Contact persons map to Dolibarr's contact table with the parent third-party reference preserved as s.fk_soc.

Axelor ERP

Product

maps to

Dolibarr ERP

Product (produit)

1:1
Fully supported

Axelor Products cover both stocked items and services with BOM support for manufacturing, product variants, units of measure, and supplier info. They map to Dolibarr's Product table with type (0=service, 1=stockable, etc.), barcode, and price information. Multi-UoM is normalised to Dolibarr's single unit of measure per product with weight and volume dimensions migrated as product attributes.

Axelor ERP

SaleOrder

maps to

Dolibarr ERP

Order (commande)

1:1
Fully supported

Axelor Sale Orders carry line items, taxes, discounts, and status workflows with order-to-invoice linking preserved via originId. They map to Dolibarr's commande table with order status (0=draft, 1=validated, etc.), and order lines migrate to commande_fournisseurdet for supplier orders or commande_det for customer orders. The Axelor currency code maps to Dolibarr's fk_multicurrency field for multi-currency orders.

Axelor ERP

PurchaseOrder

maps to

Dolibarr ERP

SupplierOrder (commande_fournisseur)

1:1
Fully supported

Axelor Purchase Orders map to Dolibarr's commande_fournisseur table with supplier reference, order status, and line items. Axelor's purchase order workflow states map to Dolibarr's Status values. We resolve the supplier third-party reference to Dolibarr's fk_soc during import and preserve the purchase representative as aDolibarr user assignment.

Axelor ERP

Invoice

maps to

Dolibarr ERP

Invoice (facture)

1:1
Fully supported

Axelor Invoices are multi-currency and multi-company aware with invoice lines, tax computation, payment terms, and overdue flags. They map to Dolibarr's facture table, with type区分 customer invoice (facture), supplier invoice (facture_fournisseur), and credit note (factureavoir). Open invoices vs historical records are separated so that only posted invoices are imported. Axelor's originId linking to orders is preserved as fk_origin on the Dolibarr record.

Axelor ERP

Project

maps to

Dolibarr ERP

Project (projet)

1:1
Fully supported

Axelor Projects contain Tasks, Milestones, Time Entries, and Invoicing plans in a hierarchical structure. They map to Dolibarr's projet table. The full project hierarchy including subtask nesting and assigned users migrates, with project status mapped from Axelor's state to Dolibarr's fk_statut. Dolibarr does not support native project hierarchies beyond one level, so we flatten multi-level Axelor project trees into a flat project list with a parent_reference custom field for the customer to re-establish relationships manually.

Axelor ERP

Task

maps to

Dolibarr ERP

Task (projet_task)

1:1
Fully supported

Axelor Tasks belong to Projects and carry status, priority, assignees, and custom fields. They map to Dolibarr's projet_task table with the parent project reference preserved as fk_projet. Axelor's task date fields map to dateo (start) and datee (end), and the Axelor assigned user maps to fk_user_assign. Subtask inheritance varies by Axelor version; we flatten nested task hierarchies to flat tasks with a parent_task reference for Dolibarr's admin to reassemble if needed.

Axelor ERP

StockMove

maps to

Dolibarr ERP

StockMovement (stock_mouvement)

1:1
Fully supported

Axelor Stock Moves track internal transfers, receipts, and shipments with real-time inventory impact. They map to Dolibarr's stock_mouvement table with warehouse references (Axelor fromWarehouse/toWarehouse to Dolibarr fk_entrepot), lot/serial numbers ( Axelor lotNumber to Dolibarr lot_id), and move quantities. Open moves at migration time are flagged so that partial stock impact is reconciled against Dolibarr's current stock levels after import.

Axelor ERP

ProductStock

maps to

Dolibarr ERP

ProductStock (product_stock)

1:1
Fully supported

Axelor ProductStock represents real-time inventory quantities per product per warehouse. It maps to Dolibarr's product_stock table (or stock_reel computed from stock_mouvement) with product reference, warehouse reference, and physical quantity. We take a snapshot of current stock levels at migration time and use them to seed Dolibarr's stock warehouse records, reconciling against any open stock moves imported separately.

Axelor ERP

GeneralLedger / JournalEntry

maps to

Dolibarr ERP

AccountancyRecord (accounting_account + finance_pcr)

1:1
Fully supported

Axelor's General Ledger with Chart of Accounts, Journals, and Journal Entries maps to Dolibarr's accounting tables (accounting_account for the chart of accounts, accounting_document for journal entries, and accounting_lines for debit/credit lines). Multi-company journal entries with debit entries in one company and corresponding credit entries in another are split into separate standard journal entries per company, and the inter-company relationship is flagged via a custom reference field (intercompany_ref) for manual reconciliation post-migration. We do not replicate Axelor's analytic accounting structure unless the destination Dolibarr installation includes the accountancy module.

Axelor ERP

Employee

maps to

Dolibarr ERP

User (user)

1:1
Fully supported

Axelor Employee records include contact info, job title, department, and employment dates. They map to Dolibarr's user table with the employee's login, last name, first name, email, and job title migrated. The Axelor department maps to Dolibarr's departmental custom field. User-to-record ownership mappings are preserved by resolving the employee reference to Dolibarr's fk_user on related records.

Axelor ERP

Custom Object (Studio)

maps to

Dolibarr ERP

Custom Object or Module

1:1
Fully supported

Axelor Studio allows creation of entirely custom domain objects defined in XML files and compiled into the application at build time. We enumerate every custom model by inspecting the application's XML domain files during scoping. Each custom object is mapped to a Dolibarr custom object or a new Dolibarr module depending on complexity. Custom fields stored in Axelor's attrs JSON column are enumerated and mapped to Dolibarr's extrafields table structure. If a custom object has relationships to standard Axelor objects, we replicate those relationships in Dolibarr via foreign key fields. Custom objects without a clear Dolibarr equivalent are documented in the migration handoff with a recommended module approach.

Axelor ERP

BPM Process

maps to

Dolibarr ERP

Workflow / Process (documented for rebuild)

lossy
Fully supported

Axelor BPM processes and decision tables are stored as application-level configuration exported as DMN XML or Excel files rather than database records. They do not migrate as executable code into Dolibarr. We extract the relevant XML files from the Axelor application deployment and produce a written inventory of every BPM process with its trigger conditions, steps, decision logic, and referenced object types mapped to Dolibarr equivalents. The customer admin or a Dolibarr implementation partner uses this inventory to rebuild the processes in Dolibarr's workflow system or via a third-party workflow add-on.

Axelor ERP

Attachment / Document

maps to

Dolibarr ERP

Document (ecm_files)

1:1
Fully supported

Axelor stores file attachments in a designated filesystem directory or database blobs depending on configuration. The REST API returns attachment metadata but does not stream file binary content in bulk. We export attachment metadata (filename, size, record association, creation date) during migration scoping and schedule a separate SFTP or cloud storage sync job to transfer actual file binaries to Dolibarr's document directory. The record associations are written to Dolibarr's ecm_files table and linked to the migrated record via entity/type/id columns.

Axelor ERP

UserRole

maps to

Dolibarr ERP

Permission / Group (right_def + usergroup)

1:1
Fully supported

Axelor user records carry email, role, and team membership. Role-to-permission mappings vary significantly between Axelor versions. We extract user identity (email, name, active status) and role names but recommend manual permission review in Dolibarr after migration because Dolibarr's permission model (right_def based) differs structurally from Axelor's role definitions. Active Axelor users are provisioned as Dolibarr users; inactive users are imported with status=0 and flagged for the customer admin to activate if needed.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Axelor ERP logo

Axelor ERP gotchas

High

Custom Studio domain models require manual enumeration

Medium

BPM workflow definitions are not standard data records

Medium

Multi-company inter-company journals need manual reconciliation mapping

Low

Attachment file binaries require separate storage migration

Low

Version upgrade breaks custom entity field overrides

Dolibarr ERP logo

Dolibarr ERP gotchas

High

Foreign key constraint errors on cross-distribution database restore

High

SQL injection vulnerabilities in version 9.0.1

Medium

Custom fields stored as JSON in extraoptions require field-by-field deserialization

Medium

Decimal precision and rounding configuration affects price fields

Low

No native iOS/Android app forces reliance on browser

Pair-specific challenges

  • Custom Studio domain models require XML file enumeration before migration

    Axelor Studio lets users create entirely new domain objects outside the standard Axelor Open Suite schema, defined in XML files compiled into the application at build time. These custom models are not exposed through the REST API's standard endpoints. During migration scoping we must enumerate every custom model by inspecting the application's XML domain files. If a custom object is missed, its records silently remain in the source database after migration, creating a data completeness gap. We request access to the Axelor application's domain XML files or a full database schema dump during scoping to guarantee complete object coverage. Without this, a migration may appear successful but leave behind a significant portion of the customer's business data.

  • BPM workflow definitions are not database records and require separate extraction

    Axelor BPM processes and decision tables are stored as application-level configuration rather than standard database records. They are exported as DMN XML or Excel files rather than through the REST API. Attempting to migrate BPM artefacts through standard API calls yields no results, which can be misinterpreted as a successful empty-state migration. We handle BPM artefacts separately by extracting the relevant XML files from the application deployment directory, cataloguing each process with its trigger, steps, decision logic, and referenced object types, and delivering this as a written workflow inventory. Rebuilding these in Dolibarr requires a third-party workflow add-on or manual process re-creation; we document the recommended approach for each artefact but do not execute the rebuild as standard migration scope.

  • Inter-company journal entries lack a native equivalent in Dolibarr

    Axelor's multi-company mode writes inter-company journal entries with debit entries in one company and corresponding credit entries in another. Dolibarr has no native inter-company journal concept and no multi-company mode beyond separate database instances. We split inter-company entries into separate standard journal entries per company, tagging each with a custom intercompany_ref field that cross-references the counterpart entry. Post-migration, the customer's accounting team must manually reconcile the counterpart entries using this reference tag. If the customer requires a fully automated inter-company accounting setup post-migration, a Dolibarr third-party add-on or custom development would be needed; this is outside standard migration scope.

  • Attachment file binaries require a separate transfer job after record migration

    Axelor attachment metadata migrates through API calls, but the actual file binaries live on the application filesystem or in database blobs and are not bulk-streamed through the REST API. We extract attachment metadata and URLs during scoping and schedule a separate SFTP or cloud storage sync job to transfer actual documents to Dolibarr's document directory after record migration completes. If this step is skipped or the file transfer fails for a subset of documents, records appear migrated but the associated documents are missing, which may not be apparent until a user searches for an attachment post-migration.

  • Date field formats and validation rules differ between Axelor and Dolibarr

    Axelor stores dates in multiple formats depending on the entity and version (ISO datetime with timezone, Java epoch, database-native). Dolibarr's import mechanism validates date fields against strict regex patterns that may reject values in unexpected formats. A documented Dolibarr GitHub issue shows that date import failures with messages like 'does not match the rule' can block otherwise valid record imports. We validate all date fields against Dolibarr's expected format (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) before submitting and apply explicit date transformations for any non-conforming Axelor date values. This step is included in the scoping phase but requires a test import pass to confirm coverage.

Migration approach

Six steps for a successful Axelor ERP to Dolibarr ERP data migration

  1. Discovery and scoping with custom model enumeration

    We audit the source Axelor ERP instance across version, database type (PostgreSQL, MySQL, or Oracle), active modules, custom Studio domain objects, BPM process count, multi-company configuration, and data volumes per object. We specifically request access to the application's XML domain files or a full database schema dump to enumerate every custom model that exists outside the standard Axelor schema. We also extract attachment metadata (file list, record associations, storage locations) and BPM XML files at this stage. The discovery output is a written migration scope document listing all objects to migrate, all custom models with their field inventory, all BPM processes with their artefact locations, and a recommendation on inter-company journal handling.

  2. Schema design and Dolibarr module activation planning

    We design the destination Dolibarr configuration by identifying which Dolibarr modules to activate (CRM, Sales, Purchases, Stock, Accounting, Projects, HR) based on the objects being migrated. We map every Axelor object to its Dolibarr equivalent, define custom field mappings for any non-standard attributes, and plan the inter-company journal split strategy. For custom Studio domain objects, we design Dolibarr custom object schemas or module-level tables with appropriate foreign key references to standard Dolibarr tables. This design is validated against a Dolibarr test instance before any production migration begins.

  3. Test migration in a Dolibarr staging environment

    We run a full migration into a staging Dolibarr instance using a representative subset of production data (at minimum 500 records per major object type). The customer's team reviews the migrated records, spot-checks 25-50 records per object type against the Axelor source, and validates that custom field values transferred correctly. Any field mapping corrections, date format issues, or attachment transfer failures surface here. We also verify that BPM artefacts were correctly catalogued and that the written workflow inventory is complete and actionable. The customer signs off the mapping and staging results before production migration proceeds.

  4. Partner and product master data migration first

    We migrate core master data in dependency order: ThirdParty records (from Axelor Partners) are imported first, followed by Product records, then warehouse and unit-of-measure configurations. These objects have no parent dependencies in Dolibarr and must be present before any transactional data (orders, invoices, stock moves) can reference them. We resolve any Axelor currency codes to Dolibarr's multi-currency setup and seed the Dolibarr price list with Axelor product pricing data. This phase produces a reconciliation report comparing Axelor source record counts against Dolibarr imported record counts for each object type.

  5. Transactional records migration in dependency order

    We migrate transactional data in strict dependency order: Projects and Tasks (with project references resolved), then Orders (with third-party and product references resolved), then Invoices (with order references preserved as fk_origin), then Stock Moves and Product Stock snapshots (with warehouse references resolved). Accounting journal entries are imported last, after all transactional records are in place, with inter-company entries split and tagged. Each object type emits a row-count reconciliation report before the next phase begins, and any records that fail validation (date format, required field, reference resolution) are written to an exception queue for manual review.

  6. Attachment file binary transfer and BPM artefact handoff

    We execute the separate SFTP or cloud storage sync job to transfer all attachment file binaries to Dolibarr's document directory, updating the ecm_files record associations to point each file to the correct Dolibarr entity, type, and record ID. We deliver the written BPM and workflow inventory document to the customer's admin team, listing every Axelor process with its trigger, steps, and Dolibarr rebuild recommendation. We do not rebuild workflows inside the migration scope. We conduct a one-week hypercare window to resolve any record reconciliation issues raised by the customer's team during initial Dolibarr usage.

Platform deep dives

Context on both ends of the pair

Axelor ERP logo

Axelor ERP

Source

Strengths

  • Fully open-source AGPL codebase with commercial subscription option for enterprises needing support SLAs.
  • Java-based hybrid architecture delivers enterprise-grade performance for high-volume transaction processing.
  • Studio provides Low Code drag-and-drop configuration for business users without deep Java expertise.
  • Over 50 integrated modules covering ERP, CRM, BPM, HR, manufacturing, and supply chain in a single platform.
  • Strong multi-company, multi-currency, and multi-entity financial consolidation built into the core.

Weaknesses

  • Small community size limits peer troubleshooting and third-party module availability compared to larger open-source ERP ecosystems.
  • Mobile application is a known weak point with ongoing roadmap development rather than production-ready parity with the desktop UI.
  • Reporting and analytics features lag behind specialised BI tools and competing ERPs in dashboard polish and out-of-box report variety.
  • Docker and Java server deployment demands IT administration skills that many SMB buyers do not have in-house.
  • Version upgrades can break custom domain model overrides, creating maintenance burden for heavily customised deployments.
Dolibarr ERP logo

Dolibarr ERP

Destination

Strengths

  • Free core software with AGPL license and no per-user mandatory fee for self-hosted deployments.
  • Modular architecture lets teams activate only needed features, keeping the interface focused and the database lean.
  • Self-hosted option provides full data sovereignty and avoids recurring SaaS subscription costs.
  • Built-in CSV/Excel import and export wizard with saved profiles simplifies recurring data operations.
  • Low-code Module Builder allows functional extensions without writing PHP code.

Weaknesses

  • No native documented REST API for programmatic bulk operations — all migrations depend on the import/export wizard or direct database access.
  • Reporting and analytics are weak without paid add-ons, and built-in charts are limited compared to modern SaaS platforms.
  • UI design is described as dated by multiple reviewers, with infrequent visual updates to the default theme.
  • Community-only support for self-hosted deployments means no SLA or guaranteed response time for issues.
  • Security vulnerabilities (CVE-2024-5314, CVE-2024-5315) in version 9.0.1 with no immediate patch reported.

Complexity grading

How hard is this migration?

Standard ERP migration. All 8 core objects map 1:1 between Axelor ERP and Dolibarr ERP.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Axelor ERP and Dolibarr ERP.

  • Object compatibility

    A

    All 8 core objects map 1:1 between Axelor ERP and Dolibarr ERP.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Axelor ERP: Not publicly documented.

  • Data volume sensitivity

    B

    Axelor ERP doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Axelor ERP to Dolibarr ERP migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Axelor ERP to Dolibarr ERP data migrations

Answers to the questions buyers ask most during Axelor ERP to Dolibarr ERP migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Axelor ERP to Dolibarr ERP migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between four and eight weeks for accounts with under 20,000 Partners, 10,000 Products, and 5,000 Orders and no custom Studio domain objects. Migrations with multiple custom Studio objects, large multi-company accounting histories, extensive stock move records, or many BPM artefacts requiring full documentation move to ten to eighteen weeks because of custom model enumeration, inter-company journal reconciliation, and BPM inventory work. Small and mid-sized businesses with clean, well-documented Axelor instances consistently complete faster than those with heavily customised Studio deployments.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Axelor ERP.
Land in Dolibarr ERP, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day