ERP migration

Migrate from Dolibarr ERP to Microsoft Dynamics 365 Business Central

Field-level mapping, validation, and rollback between Dolibarr ERP and Microsoft Dynamics 365 Business Central. We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Business Central.

Dolibarr ERP logo

Dolibarr ERP

Source

Microsoft Dynamics 365 Business Central

Destination

Microsoft Dynamics 365 Business Central logo

Compatibility

85%

11 of 13

objects map 1:1 between Dolibarr ERP and Microsoft Dynamics 365 Business Central.

Complexity

BStandard

Timeline

8-10 weeks

Rollback included Accuracy guarantee Field-level validation

Try the reverse

Microsoft Dynamics 365 Business Central
Dolibarr ERP

Overview

What this migration involves

Moving from Dolibarr ERP to Microsoft Dynamics 365 is a structural migration across fundamentally different platforms. Dolibarr stores contacts, companies, and suppliers in a single llx_societe table with a client/prospect/supplier type flag; Dynamics 365 separates these into Account records with distinct party roles, requiring deduplication and type-mapping before any import. Dolibarr has no documented REST API, so we query MySQL or PostgreSQL directly with read-only credentials, parse the extraoptions JSON column for custom fields, and load through Dynamics 365 bulk APIs or direct table import. We do not migrate Dolibarr workflows, commercial modules, or paid add-ons; we deliver a written inventory of these for the customer's admin to rebuild inside Dynamics 365. Financial migration requires special handling: open invoices post as receivables, closed invoices generate general journal entries, and bank reconciliation state is preserved as a written record alongside the migrated transactions.

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

Dolibarr ERP logo

Dolibarr ERP

What's pushing teams away

  • Dated, utilitarian UI with infrequent visual updates frustrates teams expecting modern design from SaaS alternatives.
  • Reporting and analytics capabilities are weak out of the box, requiring paid modules or custom SQL work to get meaningful dashboards.
  • Critical SQL injection vulnerabilities disclosed in version 9.0.1 with no immediate patch made some teams reconsider their exposure.
  • Community support only — no official SLA or paid support tier for self-hosted deployments creates risk for businesses needing guaranteed response times.
  • Feature gaps in financial workflows like payment release, margin reports, and multi-currency precision cause teams with complex accounting needs to migrate.

Choosing

Microsoft Dynamics 365 Business Central logo

Microsoft Dynamics 365 Business Central

What's pulling them in

  • Deep integration with Microsoft 365, Power BI, and Power Platform means organizations already on the Microsoft stack get identity, reporting, and workflow continuity out of the box.
  • Unified financials, sales, service, and operations replace multiple disconnected systems — users report that data entered once flows through purchase orders, invoicing, and approvals without manual re-entry.
  • Copilot AI features (predictive analytics, embedded business intelligence) are included in both Essentials and Premium tiers, addressing demand for AI without separate module purchases.
  • Named-user licensing with no concurrent model appeals to organizations that want predictable per-seat costs even if some users access the system infrequently.
  • Strong partner ecosystem with certified NAV-to-Business Central migration specialists gives mid-market companies confidence the cutover from legacy Navision can be executed reliably.

Object mapping

How Dolibarr ERP objects map to Microsoft Dynamics 365 Business Central

Each row shows how a Dolibarr ERP object lands in Microsoft Dynamics 365 Business Central, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Dolibarr ERP

Third Party (llx_societe)

maps to

Microsoft Dynamics 365 Business Central

Account + Contact

1:many
Fully supported

Dolibarr's llx_societe table holds customers, prospects, and suppliers in one entity with a client/prospect/supplier type flag. We split this into Dynamics 365 Account records (the company and commercial entity) and Contact records (the individuals). The type flag maps to Account.accounttype or a custom field, and individual contact details from llx_socpeople link to the Account via a Contact relationship. Deduplication uses the siret/siren code if populated, falling back to email domain or company name match.

Dolibarr ERP

Contact (llx_socpeople)

maps to

Microsoft Dynamics 365 Business Central

Contact

1:1
Fully supported

Dolibarr contacts stored in llx_socpeople map to Dynamics 365 Contact records. The fk_soc foreign key links each contact to the parent Account. We preserve email, phone, job title, address fields, and country, and map the active/inactive status from Dolibarr's statut field to the Contact statecode in Dataverse.

Dolibarr ERP

Product and Service (llx_product)

maps to

Microsoft Dynamics 365 Business Central

Product

1:1
Fully supported

Dolibarr products (type=0) and services (type=1) both map to Dynamics 365 Product records. The product's sell price, buy price, VAT rate, unit, and stock quantity migrate as product attributes. We create product records as Inactive initially, then activate after pricing is confirmed against the destination price book. Product stock levels in llx_product_stock map to warehouse inventory in Dynamics 365.

Dolibarr ERP

Commercial Proposal (llx_proposal)

maps to

Microsoft Dynamics 365 Business Central

Quote

1:1
Fully supported

Dolibarr proposals map to Microsoft Dynamics 365 Sales Quote. The proposal status (draft, open, signed, refused, closed) maps to the Quote statuscode field. Quote lines reference product IDs resolved against the migrated product catalog. The validity date and total amounts migrate as typed currency fields, and the commercial terms or notes become the Quote description field.

Dolibarr ERP

Customer Order (llx_commande)

maps to

Microsoft Dynamics 365 Business Central

Sales Order

1:1
Fully supported

Dolibarr customer orders map to Microsoft Dynamics 365 Sales Order or a Business Central Sales Document depending on the destination module. The order status (draft, validated, shipped, delivered, cancelled) maps to the destination status lifecycle. Order lines reference migrated products with quantity, unit price, and discount preserved. If Dolibarr's warehouse module is active, we map the source warehouse to the destination location on the order line.

Dolibarr ERP

Invoice (llx_facture)

maps to

Microsoft Dynamics 365 Business Central

Sales Invoice + General Journal Entry

1:1
Fully supported

Invoice migration is the most complex object in this pair. Open Dolibarr invoices (not paid) migrate as open Sales Invoice records in Dynamics 365, preserving the original invoice number, date, due date, and line items with product, quantity, and price. Closed invoices (paid) generate General Journal Entry records for the posted amounts, with the payment records (llx_paiement and llx_paiement_facture) migrated as customer payments applied to the corresponding invoice. We flag any invoice with a mismatched total before import to prevent posting errors.

Dolibarr ERP

Bank Account (llx_bank)

maps to

Microsoft Dynamics 365 Business Central

Bank Account + Ledger Entry

1:1
Fully supported

Dolibarr bank accounts and transactions in llx_bank map to Dynamics 365 Bank Account records and ledger entries. The reconciliation state from Dolibarr (reconciled flag) is preserved as a written note alongside each transaction so that the customer's accountant can re-reconcile in Dynamics 365 without losing audit context. Multi-bank-account setups are each imported as a separate Bank Account entity.

Dolibarr ERP

Project (llx_projet)

maps to

Microsoft Dynamics 365 Business Central

Project

1:1
Fully supported

Dolibarr projects map to Dynamics 365 Project records or Business Central Projects depending on the destination module. Project status, description, budget amounts, and start/end dates migrate directly. We link project tasks from llx_projet_task as sub-records under the parent Project, preserving task assignees and time budget references from the task table.

Dolibarr ERP

Task (llx_projet_task)

maps to

Microsoft Dynamics 365 Business Central

Project Task

1:1
Fully supported

Dolibarr project tasks migrate as Project Task records under the corresponding Dynamics 365 Project. Task assignees resolve by email against migrated user accounts. Time budget fields migrate as typed decimal values, and the task status maps to the destination project task statuscode.

Dolibarr ERP

Agenda Event (llx_actioncomm)

maps to

Microsoft Dynamics 365 Business Central

Activity (Appointment, Task)

1:1
Fully supported

Dolibarr calendar events in llx_actioncomm map to Dynamics 365 Activities: meetings become Appointments with start and end times preserved, tasks become Task records with the original Dolibarr date and assignee, and calls become Task records with TaskSubtype set to Call. Attendee lists from llx_actioncomm_resources link as Party records on the destination Activity. Recurring event rules are not migrated; we flag them in the handoff document for manual recreation in Dynamics 365.

Dolibarr ERP

Stock/Materials (llx_product_stock + llx_stock_mouvement)

maps to

Microsoft Dynamics 365 Business Central

Inventory + Warehouse

1:1
Fully supported

Stock levels in llx_product_stock map to Dynamics 365 warehouse inventory records. Warehouse locations from llx_entrepot map to Locations on the Inventory. Stock movement history in llx_stock_mouvement migrates as inventory posting records with transaction dates preserved. We apply the correct decimal precision for quantities during import to avoid silent rounding in unit-of-measure conversions.

Dolibarr ERP

User (llx_user)

maps to

Microsoft Dynamics 365 Business Central

User

1:1
Fully supported

Dolibarr user accounts migrate as Dynamics 365 User records with metadata (first name, last name, email, role) preserved. Password hashes (bcrypt-salted) do not migrate and are not usable at the destination. The customer's Dynamics 365 admin provisions the new users and distributes credentials post-migration. Active and inactive status from Dolibarr maps to the User.isactive flag; the admin confirms which inactive users should be provisioned as active in Dynamics 365.

Dolibarr ERP

Custom Fields (extrafields JSON in extraoptions column)

maps to

Microsoft Dynamics 365 Business Central

Custom Field

lossy
Fully supported

Any custom fields added via Dolibarr's extrafields system are serialized as JSON in the extraoptions column on the parent table. We deserialize each object's extraoptions at migration time, map the deserialized key-value pairs to typed Dynamics 365 custom fields, and apply those values to each record. Lookup-type extrafields that reference other Dolibarr records require resolution against the migrated IDs of the target object before the custom field value is written.

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.

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

Microsoft Dynamics 365 Business Central logo

Microsoft Dynamics 365 Business Central gotchas

High

Named-user licensing has no concurrent-use relief

High

API rate limits throttle large-volume migrations

Medium

Historical posted transactions require selective migration scoping

Medium

NAV-to-Business Central cloud migration requires partner coordination

Low

Custom fields and AL extensions require separate migration handling

Pair-specific challenges

  • Dolibarr Third Party deduplication required before Account import

    Dolibarr stores companies and individual contacts in the same llx_societe table, sometimes with a name that is actually a person rather than a company. Dynamics 365 expects Account records to be companies and Contact records to be individuals linked to an Account. We run a deduplication pass during scoping that identifies records where the third-party name is a person's name rather than a company, splits these into Contact records, and maps the remaining as Account records. Skipping this step results in Account records with individual names and orphan Contact records without a parent Account, which breaks the Dynamics 365 party-role model and causes reporting errors.

  • Financial schema must be initialized before invoice migration

    Dynamics 365 Finance, Supply Chain, and Business Central require the chart of accounts, fiscal periods, tax setup, and payment terms to be fully configured before open or historical invoices can be posted. Dolibarr has no equivalent mandatory financial initialization step, so customers often arrive with invoices ready to migrate but with an unconfigured destination financial schema. We validate the financial setup during the discovery phase and coordinate with the customer's accountant to confirm posting groups, tax codes, and the chart of accounts structure before any invoice data moves.

  • Decimal precision and rounding mismatches silently corrupt price fields

    Dolibarr's Setup > Limits and accuracy page allows administrators to configure decimal places for unit prices (default 5) and total prices (default 2). A mismatch between source and destination precision settings causes silent truncation of decimal places in price fields during invoice and order migration. We record the source system's precision configuration during discovery and apply matching field-level formatting in Dynamics 365 before any financial record is posted, preventing rounding errors that would otherwise appear as cent-level discrepancies in accounting reports.

  • SQL injection vulnerabilities require read-only migration bypassing web layer

    Dolibarr versions prior to the patched release contain SQL injection vulnerabilities (CVE-2024-5314 and CVE-2024-5315) in dict.php and commande/list.php. When migrating from a vulnerable instance, we use direct database credentials with read-only access to MySQL or PostgreSQL, bypassing the web application entirely during the migration window. The Dolibarr web application is taken offline or put into read-only mode for the duration of the migration to prevent writes that could corrupt the data being extracted.

  • Workflows, commercial modules, and Dolistore add-ons do not migrate

    Dolibarr workflows and automation rules are implemented as PHP hooks and paid Dolistore modules that have no direct equivalent in Dynamics 365's workflow framework. We do not migrate these as functional code. We deliver a written inventory of every active Dolibarr module, workflow rule, and commercial add-on with a note on whether an equivalent exists in Dynamics 365 or the Power Platform, and the customer's admin or a Microsoft partner rebuilds them post-migration. This inventory is scoped and delivered as part of the standard migration handoff.

Migration approach

Six steps for a successful Dolibarr ERP to Microsoft Dynamics 365 Business Central data migration

  1. Discovery and schema audit

    We audit the source Dolibarr instance across enabled modules, database object counts, active third parties, product catalog size, open invoice volume, and historical financial records. We identify custom fields from the extraoptions columns across all active tables, note the decimal precision configuration, and confirm the Dolibarr database engine (MySQL or PostgreSQL). We pair this with a Dynamics 365 edition review and identify which modules are required in the destination (Business Central Essentials vs. Premium vs. Finance and Operations) based on the customer's feature requirements.

  2. Third Party deduplication and split design

    We run a deduplication analysis on llx_societe to identify records that are individuals rather than companies, flagging records where the name matches a personal naming pattern or where a single-record third party has contact-person characteristics. We design the split rule for each record, determine which records become Account vs. Contact, and prepare the import order: Accounts first, then Contacts with parent Account references resolved. This design step is completed before any sandbox migration begins.

  3. Sandbox migration and reconciliation

    We run a full migration into a Dynamics 365 sandbox using production-equivalent data volume. The customer's team reconciles record counts (Accounts in, Contacts in, Products in, Quotes in, Orders in, Invoices in), spot-checks 25-50 records against the source Dolibarr instance, and validates financial totals against Dolibarr's invoice reports. Any mapping corrections and the financial schema validation happen here before production migration begins.

  4. User provisioning and financial setup confirmation

    We extract every Dolibarr user from llx_user and match by email against the destination Dynamics 365 User table. Users without a match go to a reconciliation queue. The customer's Dynamics 365 admin provisions any missing users and confirms active/inactive status. Simultaneously, we confirm with the customer's accountant that the chart of accounts, tax codes, payment terms, and fiscal periods are fully configured in Dynamics 365 before any financial data moves.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Accounts (from llx_societe companies), Contacts (from llx_societe individuals and llx_socpeople with AccountId resolved), Products (from llx_product), Quotes (from llx_proposal), Orders (from llx_commande), Invoices (from llx_facture with payment links from llx_paiement and llx_paiement_facture resolved), Bank Accounts and transactions (from llx_bank with reconciliation notes), Projects and tasks (from llx_projet and llx_projet_task), Activities (from llx_actioncomm), Stock and warehouse data (from llx_product_stock and llx_stock_mouvement), then Custom Fields (from extraoptions JSON deserialized per record). Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and module rebuild handoff

    We freeze Dolibarr writes during cutover, run a final delta migration of any records modified during the migration window, then enable Dynamics 365 as the system of record. We deliver the Dolibarr module and workflow inventory document to the customer's admin team, noting which commercial add-ons have equivalent Dynamics 365 features and which require a Microsoft partner for rebuild. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team. We do not rebuild Dolibarr workflows or commercial modules as Power Automate flows, Business Central workflows, or Finance and Operations workflows inside the migration scope; that work is a separate engagement or an internal admin task.

Platform deep dives

Context on both ends of the pair

Dolibarr ERP logo

Dolibarr ERP

Source

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.
Microsoft Dynamics 365 Business Central logo

Microsoft Dynamics 365 Business Central

Destination

Strengths

  • Tight integration with Microsoft 365 (Outlook, Teams, SharePoint) for users already in the Microsoft ecosystem.
  • Includes Copilot AI, predictive analytics, and embedded Power BI dashboards at no additional cost in both license tiers.
  • Supports multiple companies within a single tenant for holding-company or multi-entity organizational structures.
  • Open REST API v2.0 with OAuth 2.0 authentication and data entity abstraction layer for developer-friendly integrations.
  • Strong partner ecosystem specializing in NAV-to-Business Central migrations provides implementation confidence for legacy upgrades.

Weaknesses

  • Named-user licensing model means every active user account requires a paid license — no concurrent access model to reduce costs for occasional users.
  • SaaS-only deployment means no on-premises option; organizations requiring full data residency control may not have viable alternatives within Microsoft's stack.
  • Manufacturing module (Production Orders, routing, work centers) is only available on Premium tier, pushing cost-sensitive manufacturers to higher-priced plans.
  • Customization and extension development requires AL language knowledge and developer licenses, limiting what power users can do without a partner engagement.
  • Global pricing increases effective October 2024 and again October 2025 after five years of stable pricing, creating budget uncertainty for existing customers.

Complexity grading

How hard is this migration?

Standard ERP migration. All 8 core objects map 1:1 between Dolibarr ERP and Microsoft Dynamics 365 Business Central.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Dolibarr ERP and Microsoft Dynamics 365 Business Central.

  • Object compatibility

    A

    All 8 core objects map 1:1 between Dolibarr ERP and Microsoft Dynamics 365 Business Central.

  • 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

    Dolibarr ERP: Not publicly documented.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Dolibarr ERP to Microsoft Dynamics 365 Business Central 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 Dolibarr ERP to Microsoft Dynamics 365 Business Central data migrations

Answers to the questions buyers ask most during Dolibarr ERP to Microsoft Dynamics 365 Business Central migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Dolibarr ERP to Microsoft Dynamics 365 Business Central migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Straightforward migrations under 50,000 records with no custom objects, no multi-currency, and no historical financial data land between eight and ten weeks. Migrations with open and closed invoice histories, multi-currency setups, stock warehouse data, large product catalogs, or custom fields stored in extraoptions JSON move to twelve to sixteen weeks because of financial schema validation, extraoptions deserialization, payment-to-invoice relationship resolution, and bank reconciliation mapping. The Dynamics 365 financial initialization step (chart of accounts, tax setup, fiscal periods) is a hard prerequisite for invoice migration and can extend timelines if the customer's accountant is not available during planning.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Dolibarr ERP.
Land in Microsoft Dynamics 365 Business Central, 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