ERP migration

Migrate from ERPnext Enterprise - Bespoke to Dolibarr ERP

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

ERPnext Enterprise - Bespoke logo

ERPnext Enterprise - Bespoke

Source

Dolibarr ERP

Destination

Dolibarr ERP logo

Compatibility

94%

17 of 18

objects map 1:1 between ERPnext Enterprise - Bespoke and Dolibarr ERP.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

ERPnext and Dolibarr are both open-source ERP platforms under GPL-3.0, but they serve different organizational scales and operational complexity levels. ERPnext is built on the Frappe Python Framework with a MariaDB backend and a DocType-centric data model that supports mid-market manufacturing, multi-company, and multi-currency operations. Dolibarr uses a PHP and MySQL stack with a modular architecture that ships as a lightweight all-in-one ERP and CRM for smaller teams without a dedicated IT department. This migration requires translating ERPnext DocTypes into Dolibarr modules, mapping GL voucher double-entry accounting into Dolibarr's banking and expense module structure, and evaluating which BOM and manufacturing records have a viable Dolibarr equivalent. File attachments do not export through the standard data tools and require a separate file-system export workflow. We do not migrate ERPNext workflows, DocType scripts, manufacturing recipes, or automations as code; we deliver a written inventory of these for the customer's admin to rebuild in Dolibarr.

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

ERPnext Enterprise - Bespoke logo

ERPnext Enterprise - Bespoke

What's pushing teams away

  • Implementation and partner costs often exceed initial expectations, with quotes ranging from $10,000 to $100,000 for customisation and data migration — customers feel misled by 'free software' messaging.
  • Performance degrades significantly at scale: large transaction volumes across many warehouses can cause 20-second delays on simple POS operations, pushing high-volume retailers to alternative platforms.
  • Customisations written in the Frappe Framework frequently break when upgrading to a new major version, forcing organisations to choose between staying on an unsupported release or rewriting custom code.
  • The out-of-the-box UX and navigation require meaningful training investment; user adoption rates drop when organisations skip formal onboarding with a certified partner.
  • Long-term support contracts and managed hosting fees accumulate, narrowing the cost advantage over proprietary ERP alternatives over a 3–5 year horizon.

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 ERPnext Enterprise - Bespoke objects map to Dolibarr ERP

Each row shows how a ERPnext Enterprise - Bespoke 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.

ERPnext Enterprise - Bespoke

Customer

maps to

Dolibarr ERP

Third Party (customer mode)

1:1
Fully supported

ERPNext Customer DocType maps to Dolibarr Third Party with the customer flag enabled. We extract name, territory (preserved in a custom field for downstream reporting), contact details, and tax ID. The Dynamic Link table in ERPNext stores contact-address relationships as separate records; we resolve these relationships during export to produce flat contact records with embedded address data compatible with Dolibarr's structure. Territory linkage is preserved so reporting hierarchies carry forward.

ERPnext Enterprise - Bespoke

Supplier

maps to

Dolibarr ERP

Third Party (supplier mode)

1:1
Fully supported

ERPNext Supplier DocType mirrors Customer in structure. We migrate supplier type, payment terms, and address records. ERPNext supplier-specific tax categories are carried forward as Dolibarr Custom Fields on the Third Party. Email addresses are set as the dedupe key so duplicate suppliers do not re-import.

ERPnext Enterprise - Bespoke

Item

maps to

Dolibarr ERP

Product / Article

1:1
Fully supported

ERPNext Items carry a broad attribute set — item code, description, item group, stock UoM, valuation method, and barcodes. We preserve the full item master including barcodes and custom fields at the item level. Item groups map to Dolibarr categories, and the ERPnext valuation method (FIFO, Moving Average) is stored as a custom field since Dolibarr's default stock valuation uses Moving Average.

ERPnext Enterprise - Bespoke

Bill of Materials (BOM)

maps to

Dolibarr ERP

BOM (if production module enabled)

1:1
Mapping required

ERPNext BOMs are nested structures referencing Items with quantity ratios and operation routing. We map BOM hierarchies directly but validate that all child item codes exist in Dolibarr before committing to avoid orphaned assembly records. If Dolibarr's production module is not enabled at the destination, BOMs are exported as a reference file rather than imported. BOMs referencing ERPNext-specific operation routing (workstation types, operation timings) cannot be fully represented in Dolibarr without manual reconstruction of the routing steps.

ERPnext Enterprise - Bespoke

Sales Order

maps to

Dolibarr ERP

Commercial Proposal or Order

1:1
Fully supported

ERPNext Sales Orders contain document headers, line items, taxes, discounts, and shipping details. We map the full header and child rows into Dolibarr Commercial Proposal or Sales Order depending on the order status at migration time. For open orders, we preserve the qty-delta logic against linked Delivery Notes as Dolibarr does not natively track partial delivery ratios. Closed orders migrate as invoice records.

ERPnext Enterprise - Bespoke

Purchase Order

maps to

Dolibarr ERP

Supplier Quote or Purchase Order

1:1
Fully supported

ERPNext Purchase Orders mirror Sales Orders in structure. We migrate PO headers and line items, flagging any advance allocation records that require separate handling as Payment Entries in Dolibarr. PO status mapping: Draft and Submitted map to Dolibarr Draft and Validated; Ordered maps to Ordered; Received maps to Received; Cancelled is not migrated.

ERPnext Enterprise - Bespoke

Delivery Note

maps to

Dolibarr ERP

Shipment

1:1
Fully supported

ERPNext Delivery Notes map to Dolibarr Shipments. We preserve the linked Sales Order reference as a custom field on the Dolibarr record since Dolibarr's shipment-to-order linkage is module-dependent. Items, quantities, and batch numbers (if tracked) migrate with the shipment.

ERPnext Enterprise - Bespoke

Purchase Receipt

maps to

Dolibarr ERP

Reception

1:1
Fully supported

ERPNext Purchase Receipts map to Dolibarr Reception records. We preserve the linked Purchase Order reference, incoming items, received quantities, and any quality inspection results. Rejected quantities are stored as a custom field on the reception line since Dolibarr's standard reception does not natively record rejection sub-quantities.

ERPnext Enterprise - Bespoke

Sales Invoice

maps to

Dolibarr ERP

Customer Invoice

1:1
Fully supported

ERPNext Sales Invoices map to Dolibarr Customer Invoice. Header fields (customer, currency, payment terms, due date) migrate directly. Line items map with qty, rate, tax, and discount. The ERPNext outstanding amount and write-off amount migrate to Dolibarr fields. Paid invoices migrate with payment records attached.

ERPnext Enterprise - Bespoke

Purchase Invoice

maps to

Dolibarr ERP

Supplier Invoice

1:1
Fully supported

ERPNext Purchase Invoices map to Dolibarr Supplier Invoice. The mapping mirrors the Sales Invoice path in reverse. ERPNext's cost centre and project references on invoice lines are preserved as custom fields on Dolibarr invoice lines.

ERPnext Enterprise - Bespoke

GL Voucher / Journal Entry

maps to

Dolibarr ERP

Bank Account Entry or General Ledger Entry

1:1
Fully supported

ERPNext uses a voucher-based double-entry system with voucher rows carrying account code, debit, and credit. Dolibarr handles general ledger through its banking and expense modules with direct database entries rather than a formal journal voucher interface. This is the most complex mapping in an ERPNext-to-Dolibarr migration. We map journal entry rows to Dolibarr account codes but validate that the destination chart of accounts has matching account numbers, which frequently requires pre-migration account restructuring. If ERPNext multi-company setup is in use, Dolibarr's inter-company module must be explicitly enabled and configured before GL data can be meaningful in the destination.

ERPnext Enterprise - Bespoke

Stock Ledger Entry (SLE)

maps to

Dolibarr ERP

Stock Current Quantities

1:1
Fully supported

ERPNext SLEs track individual stock movements with timestamp, warehouse, item, qty, and valuation rate. Dolibarr does not maintain a full movement ledger; it stores current stock position per warehouse-item. We migrate the latest stock snapshot as Dolibarr opening quantities and export historical SLEs as a reference file. The reference file is provided as a CSV so the customer can run analytics on historical stock trends outside Dolibarr.

ERPnext Enterprise - Bespoke

Project

maps to

Dolibarr ERP

Project

1:1
Fully supported

ERPNext Projects carry a nested task hierarchy with assignees, start/end dates, billable hours, and billing rates. We map the full project-task tree including custom task fields and hourly rate settings. ERPNext's project-specific billing types (based on hours, task, or fixed) are preserved as Dolibarr project task categories.

ERPnext Enterprise - Bespoke

User

maps to

Dolibarr ERP

User

1:1
Fully supported

ERPNext User records include email, name, enabled status, and role profiles. We export enabled users and match by email to Dolibarr User records. ERPNext role permission rules and DocType-level access controls do not have a direct Dolibarr equivalent and must be reconstructed manually based on the exported configuration. The FlitStack AI inventory document captures the full role matrix for the admin to rebuild.

ERPnext Enterprise - Bespoke

Custom Field

maps to

Dolibarr ERP

Custom Field

lossy
Fully supported

ERPNext Custom Fields attach to any DocType via the Custom Field DocType. We export all custom field definitions separately and create matching fields in Dolibarr before importing data so that target fields exist at import time. ERPNext custom field types (Check, Table MultiSelect, Dynamic Link) require mapping to Dolibarr equivalent field types, which we define during the schema design phase. Custom fields referencing deprecated ERPNext v15 modules (Social Media, TaxJar, Exotel, Lending, e-commerce) are flagged and excluded from migration.

ERPnext Enterprise - Bespoke

Asset

maps to

Dolibarr ERP

Fixed Asset

1:1
Fully supported

ERPNext Fixed Asset records include purchase details, depreciation schedule, and current value. We map asset masters and active depreciation schedules. Assets already fully depreciated to zero are migrated as historical records unless the customer specifically requests them carried forward as active.

ERPnext Enterprise - Bespoke

Employee

maps to

Dolibarr ERP

User (HR module if enabled)

1:1
Fully supported

ERPNext Employee DocTypes expose employment details, department, and reporting structure. We migrate active employees and current compensation records including department and reporting manager linkage. ERPNext payroll history and historical salary records are out of scope; those are better handled through a dedicated HR system migration or a separate payroll data export.

ERPnext Enterprise - Bespoke

File Attachment

maps to

Dolibarr ERP

Document

1:1
Fully supported

ERPNext file attachments — scanned documents on Purchase Receipts, images on Item masters, PDFs on Sales Invoices — are stored in the file store (file system or S3 bucket) and are not included in the standard CSV Data Export or REST API response. We export attachments separately via direct file system access or bench export-background-files, preserve the folder hierarchy, and re-associate files with the correct records in Dolibarr using filename-to-record mapping during post-migration.

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.

ERPnext Enterprise - Bespoke logo

ERPnext Enterprise - Bespoke gotchas

High

Open-source licence does not cover implementation or hosting costs

Medium

Rate limiting is site-configured and returns HTTP 429

Medium

No documented bulk-read API for large DocTypes

High

Major version upgrades break custom DocType scripts

Medium

CSV Data Export does not include file attachments

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

  • ERPNext DocType scripts do not migrate to Dolibarr

    ERPNext custom server scripts and DocType modifications written in Python against the Frappe Framework have no Dolibarr equivalent. Custom scripts referencing deprecated ERPNext v15 modules (Social Media, TaxJar Integration, Exotel, Lending, e-commerce) are particularly problematic as those modules were extracted into separate apps and their API surface changed. We audit the custom app directory before planning and flag any scripts that will break at the source before migration begins. We deliver a written inventory of every custom script with its trigger, module dependency, and Dolibarr replacement recommendation; the customer's developer rebuilds these post-migration.

  • GL voucher double-entry requires account code reconciliation

    ERPNext's voucher-based double-entry system (GL Vouchers and Journal Entries) uses account codes tied to the ERPNext chart of accounts. Dolibarr's general ledger is managed through its banking and expense modules with a different account structure. If ERPNext multi-company setup is in use, Dolibarr's inter-company module must be explicitly enabled. We validate account code compatibility before GL migration begins; if codes do not align, the customer must restructure the Dolibarr chart of accounts or the mapping rules before we move voucher data. This step can add two to four weeks to the timeline for organisations with complex chart of accounts structures.

  • Stock movement history does not fully transfer

    ERPNext maintains a complete Stock Ledger Entry (SLE) history with per-movement timestamps, warehouse, qty delta, and valuation rate. Dolibarr does not maintain a movement ledger; it stores current stock position per warehouse and item. We migrate the latest stock snapshot as opening quantities in Dolibarr and export the full historical SLE log as a reference CSV. Customers who need to preserve the movement timeline for audit or costing purposes should retain the ERPNext database or the exported SLE CSV as a reference archive. We flag this boundary explicitly before migration begins.

  • Manufacturing BOMs and work orders have limited Dolibarr support

    ERPNext's MRP system with multi-level BOMs, work orders, operation routing, quality inspection, and maintenance management has no equivalent in Dolibarr's production module, which remains less mature than ERPNext's manufacturing suite. We map BOM structures as flat lists if Dolibarr's production module is enabled, but operation-level routing, workstation dependencies, and quality checkpoints cannot be represented without manual reconstruction. Organisations with active manufacturing operations should evaluate whether Dolibarr's production module covers their needs before committing to migration.

  • Custom fields require pre-migration setup in Dolibarr

    ERPNext custom fields are defined in the Custom Field DocType and attach to any target DocType. Dolibarr's Extrafields system serves the same purpose but requires manual field creation through the Dolibarr interface before data import. We export all ERPNext custom field definitions, map each to a corresponding Dolibarr Extrafield (handling type differences such as ERPNext Table MultiSelect and Dynamic Link), and create the Dolibarr fields during the setup phase before any data is imported. If this step is skipped, custom field values are silently dropped during import.

Migration approach

Six steps for a successful ERPnext Enterprise - Bespoke to Dolibarr ERP data migration

  1. Source audit and scope definition

    We audit the source ERPNext instance across DocTypes, custom fields, custom scripts, and record volumes. We count third parties, items, BOMs, open commercial documents, GL voucher rows, stock ledger entries, projects, employees, and asset records. We identify any custom scripts referencing deprecated v15 modules and flag them for remediation before migration begins. We assess chart of accounts alignment between the ERPNext and Dolibarr charts, particularly if GL voucher migration is in scope. We confirm which Dolibarr modules are enabled at the destination.

  2. Dolibarr destination setup

    We activate the required Dolibarr modules (CRM, Sales, Purchases, Stock, Projects, HR, BOM if applicable, Accounting, Banking) and configure the custom field definitions that mirror the ERPNext custom fields. We set up the chart of accounts structure if GL migration is in scope, mapping ERPNext account codes to Dolibarr account codes. We configure warehouse structures, item groups, and third-party categories to match the ERPNext source taxonomy. The destination setup phase runs in parallel with source audit.

  3. ERPNext data export

    We export ERPNext data using the REST API for standard DocTypes (Customers, Suppliers, Items, Sales Orders, Purchase Orders, Employees, Projects) and CSV Data Export for high-row-count tables (Stock Ledger Entries, Communication Logs). We resolve ERPNext Dynamic Link relationships to produce flat contact records with embedded address data. We extract BOM hierarchies, validate that all child item codes exist in the export set, and queue any BOMs with missing dependencies for retry. We run a pre-export duplicate check against the Dolibarr destination to flag any records that already exist at the target.

  4. Test migration and validation

    We run a full migration into a non-production Dolibarr instance using production-like data volumes. We generate reconciliation reports comparing source record counts against destination record counts across all DocTypes. We spot-check 25-50 records per DocType against the ERPNext source for field-level accuracy, paying particular attention to custom field values, address linkage, and BOM structure integrity. We flag any mapping corrections and document them before production migration begins. The customer reviews the test migration output and signs off the schema and mapping rules.

  5. Production migration in dependency order

    We run the production migration in record-dependency order: Dolibarr modules and custom fields (setup), then third parties, items, BOMs (if applicable), stock opening quantities, commercial documents (Sales Orders, Purchase Orders, Invoices), GL entries (if in scope), projects and tasks, employees, assets, and finally activity history. Each phase emits a row-count reconciliation report before the next phase begins. Owner and user mapping is resolved by email match before record import. Any records referencing unmapped owners or accounts are held in a reconciliation queue.

  6. File re-association, cutover, and DocType script inventory

    We re-associate exported file attachments with their correct Dolibarr records using filename-to-record mapping. We perform a final validation pass comparing record counts and spot-checking field values against the ERPNext source. We enable Dolibarr as the system of record and freeze ERPNext writes during the cutover window. We deliver the DocType script and custom field dependency inventory document to the customer's admin team with Dolibarr replacement recommendations. We support a one-week post-migration window for reconciliation issues. We do not rebuild ERPNext workflows, automations, or DocType scripts as part of the migration scope; that is a separate engagement.

Platform deep dives

Context on both ends of the pair

ERPnext Enterprise - Bespoke logo

ERPnext Enterprise - Bespoke

Source

Strengths

  • GPL-3.0 open-source licence with zero software cost eliminates per-user or per-module vendor lock-in.
  • Three-tier architecture (MariaDB, Python app server, JavaScript frontend) runs on commodity cloud infrastructure.
  • Broad module coverage — accounting, CRM, inventory, manufacturing, HR, projects, POS — ships as standard rather than paid add-ons.
  • Frappe Framework enables programmatic DocType creation, Custom Field injection, and workflow scripting without modifying core source.
  • Active GitHub community (11k forks, 33k stars) surfaces bugs and workarounds publicly and continuously.

Weaknesses

  • Zero licence cost obscures the real total cost of ownership: hosting, implementation, partner fees, and support contracts are substantial and often under-estimated.
  • Performance degrades under high transaction throughput — documented cases show POS operations slowing to 20+ seconds at scale, requiring hardware upgrades or partitioning work.
  • Custom Frappe scripts and DocType modifications are not automatically forward-compatible with new major versions, creating upgrade risk for heavily customised instances.
  • No formal bulk-read API; large-volume migrations rely on CSV Data Export, which requires careful sequencing to avoid timeout on large result sets.
  • Documentation for advanced programmatic tasks — custom API endpoints, background job handling, long-term data archiving — is fragmented across forum posts and is not centrally maintained.
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 ERPnext Enterprise - Bespoke and Dolibarr ERP.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across ERPnext Enterprise - Bespoke and Dolibarr ERP.

  • Object compatibility

    A

    All 8 core objects map 1:1 between ERPnext Enterprise - Bespoke 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

    ERPnext Enterprise - Bespoke: Configurable per-site via site_config.json (default 600 seconds of request time per hour); defaults to HTTP 429 on exceedance with Retry-After header.

  • Data volume sensitivity

    B

    ERPnext Enterprise - Bespoke doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your ERPnext Enterprise - Bespoke 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 ERPnext Enterprise - Bespoke to Dolibarr ERP data migrations

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

Can't find your answer?

Walk through your ERPnext Enterprise - Bespoke 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 three and five weeks for straightforward cases — third parties, items, open commercial documents, and stock opening quantities with no manufacturing or GL scope. Migrations with custom DocType scripts, BOM structures, GL voucher reconciliation, large stock ledger histories, or multi-warehouse configurations move to eight to fourteen weeks because of the account structure work and BOM dependency validation. Dolibarr's lighter architecture does not accelerate migration timelines as significantly as its simpler pricing suggests.

Adjacent paths

Related migrations to explore

Ready when you are

Move from ERPnext Enterprise - Bespoke.
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