ERP migration

Migrate from Deacom ERP to Dolibarr ERP

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

Deacom ERP logo

Deacom ERP

Source

Dolibarr ERP

Destination

Dolibarr ERP logo

Compatibility

71%

10 of 14

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

Complexity

BStandard

Timeline

6-10 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Deacom ERP and Dolibarr occupy opposite ends of the ERP spectrum. Deacom is a single-database platform purpose-built for batch and process manufacturers with built-in catch-weight inventory, FDA-compliant lot traceability, and real-time GL postings across every module. Dolibarr is an open-source modular ERP for SMEs where you activate only the modules you need — third-party management, products, stock, invoicing, projects, HR, or BOM/production — and configure the rest through custom fields and community modules. The structural gap between Deacom's tightly integrated process-manufacturing schema and Dolibarr's table-per-module architecture is the central migration challenge. We resolve it by sequencing Deacom exports through the dm/dt/dx dependency chain, remapping d3_c2guid pick-list references to human-readable labels, and configuring Dolibarr's llx_product, llx_stock_mouvement, llx_product_batch, llx_accounting_record, llx_commande, and llx_facture modules before any record import. Catch-weight inventory, BOM revision history, and production order costing require explicit destination configuration because Dolibarr does not carry these natively in its standard product or production modules.

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

Deacom ERP logo

Deacom ERP

What's pushing teams away

  • Not user-friendly — reviewers report significant trial-and-error learning curve, with department-specific workflows that require formal training rather than intuitive discovery.
  • Support quality is inconsistent — tickets get closed without resolution, and reaching the data or development team for persistent bugs is difficult.
  • Implementation is described as unorganized with multiple consultants stepping in and out, causing scope creep and extended timelines beyond quoted periods.
  • Product felt unfinished to some customers — frequent changes and new releases with inadequate stability testing between versions.
  • Tracking leads and generating pricing sheets are pain points for sales-facing users; the CRM module lacks depth compared to purpose-built sales platforms.

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 Deacom ERP objects map to Dolibarr ERP

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

Deacom ERP

Items (dmprod — Item Master)

maps to

Dolibarr ERP

llx_product

1:1
Fully supported

Deacom dmprod records (pr_id primary key) map to Dolibarr llx_product. Item code becomes ref, item description becomes label, UOM definitions map to unit_of_measurement (Dolibarr's uo base unit). Catch-weight settings from Deacom (cw_enable, cw_uom) have no native Dolibarr equivalent — we create custom decimal fields pjt_weight and pjt_weight_uom on llx_product_extrafields. Facility restrictions on Items require us to evaluate Dolibarr's multi-company or warehouse-scoping approach per the customer's configuration. Item status (active/inactive) maps to finished and stock_quantity at import time.

Deacom ERP

BOM / Formulations

maps to

Dolibarr ERP

llx_bom_bom (BOM module) or llx_product + llx_product_asso

lossy
Fully supported

Deacom BOMs are versioned per Item per Revision with lab-only and regulatory-only variants. Dolibarr's BOM module (llx_bom_bom, llx_bom_bomline) requires explicit activation and does not natively support BOM revision history — it stores one active BOM per product. We export Deacom BOM revisions sorted by revision date, identify Items with multiple active revisions, and present two options: consolidate to the most recent revision at import or create multiple BOM rows per revision (Dolibarr allows multiple BOMs per product with an active flag). The customer selects during scoping.

Deacom ERP

Customers (dmcust)

maps to

Dolibarr ERP

llx_thirdparty

1:1
Fully supported

Deacom customer records (cu_id primary key) map to Dolibarr llx_thirdparty with typethirdparty = 'C' for customer. Customer hierarchies (parent-child customer relationships in Deacom) require us to resolve the parent reference at migration time and set parent_id on the Dolibarr third-party record. Credit terms, customer-specific pricing sheets, and customer-part associations from Deacom dmcust cross-links map to llx_societe_remise and llx_product_customer (or Dolibarr extrafields) depending on which pricing module is activated at the destination.

Deacom ERP

Vendors

maps to

Dolibarr ERP

llx_thirdparty

1:1
Fully supported

Deacom vendor master records (dm-type maintenance tables) map to Dolibarr llx_thirdparty with typethirdparty = 'F' for supplier. Vendor purchasing lead times, preferred UOMs, and vendor-specific part cross-references migrate to llx_societe_remise and llx_product_fournisseur_price. We resolve vendor-part cross-references at migration time by matching vendor part numbers to the corresponding llx_product record created from Deacom dmprod.

Deacom ERP

Sales Orders

maps to

Dolibarr ERP

llx_commande

1:1
Fully supported

Deacom sales order headers (dt-type records referencing dmcust and dmprod) map to Dolibarr llx_commande. Order status (open/fulfilled/invoiced) maps to Dolibarr's statut field, and the customer reference maps to llx_commande.fk_soc. Sales order lines map to llx_commandedet with product reference, quantity, and pricing resolved from the linked Item and pricing sheet records. Drop-ship and DSD order flags require custom fields or workflow notes in Dolibarr since DSD workflows are Deacom-specific.

Deacom ERP

Inventory Transactions

maps to

Dolibarr ERP

llx_stock_mouvement

1:1
Fully supported

All Deacom inventory movements — receipts, issues, adjustments, and transfers — stored in dt-type tables map to Dolibarr llx_stock_mouvement. We sequence these in timestamp order and resolve the product reference (fk_product) and warehouse reference (fk_entrepot) at migration time. Catch-weight values from Deacom's inventory transactions require us to write them into custom fields pjt_weight and pjt_weight_uom on llx_stock_mouvement_extrafields because Dolibarr's native quantity field does not support dual-weight-per-unit semantics.

Deacom ERP

Lot/Serial Traceability

maps to

Dolibarr ERP

llx_product_batch

lossy
Fully supported

Deacom lot numbers, shelf-life dates, and parent-child lot genealogy records require Dolibarr's productbatch module to be activated before migration (llx_product_batch stores batch_number, eatby, sellby, and fk_product). We export lot genealogy records from Deacom and map them to batch entries in Dolibarr. Serial number tracking similarly requires llx_product_lot. If the customer does not activate productbatch at the destination, lot traceability data is preserved in a separate migration report for manual entry rather than silently dropped.

Deacom ERP

General Ledger / Journal Entries

maps to

Dolibarr ERP

llx_accounting_record + llx_accounting_account

1:1
Fully supported

Deacom GL postings (real-time, drill-down to dt transaction level) map to Dolibarr llx_accounting_record. Account codes from Deacom migrate to llx_accounting_account, and journal line items migrate to llx_accouting_movement. We export account codes, journal line items, and source document references (AR/AP/inventory) from Deacom's dxcaption2 and dt-type financial tables. Multi-currency AR from Deacom requires us to also export exchange rate records and store them as Dolibarr llx_multicurrency_rate entries linked to the relevant transactions.

Deacom ERP

AP / AR

maps to

Dolibarr ERP

llx_facture_fourn + llx_facture

1:1
Fully supported

Deacom accounts payable and receivable modules map to Dolibarr llx_facture_fourn (supplier invoices) and llx_facture (customer invoices). Open invoices, payment applications, credit memos, and aging details migrate to llx_paiement and llx_paiement_facture. Multi-currency AP/AR requires us to also export exchange rate records and link them to the Dolibarr invoice records. Status flags (paid, unpaid, overdue) migrate to Dolibarr's statut and paye fields.

Deacom ERP

Custom UDF Pick-List Options (dmd3)

maps to

Dolibarr ERP

Dolibarr extrafields

lossy
Mapping required

Deacom user-defined fields use dmd3 for pick-list options with d3_c2guid links to dxcaption2's system-generated uniqueidentifier values. These _guid values are non-transferable — importing them into Dolibarr creates orphaned references with no validation error. We export the human-readable labels alongside the guids and create a remapping table that maps each Deacom d3_c2guid to the newly created Dolibarr extrafield option ID at the destination. All UDF pick-list fields in Deacom must be recreated as Dolibarr extrafields on the relevant llx_ tables before record import begins.

Deacom ERP

Production Orders / Jobs

maps to

Dolibarr ERP

llx_mrp_production

lossy
Fully supported

Deacom production orders (dt-type transaction records referencing pr_id and BOM revision) map to Dolibarr llx_mrp_production if the MRP module is activated. Job costing, routing steps, and labor tracking entries from Deacom require custom fields on llx_mrp_production because Dolibarr's production module does not natively carry job costing or labor tracking. Open production orders require handling as llx_mrp_production with statut set to draft or validated; completed orders migrate as status = produced. If the MRP module is not activated at the destination, production order data is preserved in a structured report for manual entry.

Deacom ERP

Quality Control Tests

maps to

Dolibarr ERP

Dolibarr extrafields + llx_product_extrafields

1:1
Mapping required

Deacom QC tests are set up per Item/Revision with threshold values, test types, pass/fail criteria, and cross-references to dmd3 pick-list UDF options. There is no native QC module in standard Dolibarr. We map the QC test schema — threshold values and test criteria — to custom extrafields on llx_product_extrafields (per-product QC specification fields) and preserve the test result history in a structured migration report rather than as live records in a QC module. The customer configures a Dolibarr workflow or project-based QC tracking approach post-migration.

Deacom ERP

EDI / Document Records

maps to

Dolibarr ERP

Dolibarr document management (llx_ecm_files)

1:1
Mapping required

Deacom EDI transaction records are stored as document references linked to trading partner setups. We export EDI mapping configurations and functional acknowledgements from Deacom as document metadata and attach them to the relevant llx_thirdparty or llx_commande records. EDI translation rules (the logic that transforms EDI 850/810/856 messages into Deacom transactions) are Deacom-specific and cannot migrate — they require reconfiguration in any EDI-capable Dolibarr module or third-party EDI translator post-migration.

Deacom ERP

Vendor Part Cross-References

maps to

Dolibarr ERP

llx_product_fournisseur_price

1:1
Fully supported

Deacom vendor-specific part cross-references (linking Deacom dmprod items to vendor part numbers and pricing) map to Dolibarr llx_product_fournisseur_price, which stores the vendor third-party reference, unit purchase price, and quantity multiples per product-vendor combination. We resolve the vendor third-party record (fk_societe) and product record (fk_product) at migration time so that all cross-reference records are linked correctly.

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.

Deacom ERP logo

Deacom ERP gotchas

High

Rate limiting on the Deacom Public API requires chunked export sequencing

Medium

BOM revisions require revision-date sequencing to preserve formulation state

Medium

Custom UDF pick-list options use _guid references that break cross-database

Medium

Multi-tenant cloud hosting limits server-level access needed for deep exports

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

  • Catch-weight inventory has no native Dolibarr equivalent

    Deacom ERP natively manages catch-weight inventory for variable-weight products common in food, chemical, and pharma manufacturing. Dolibarr does not have a built-in catch-weight model — the quantity field is a single decimal value. Migrating catch-weight items without configuration produces inventory transactions that show a net weight with no per-unit weight breakdown. We create custom fields on llx_product_extrafields (pjt_weight_per_unit, pjt_weight_uom) and llx_stock_mouvement_extrafields to carry the weight-per-unit and unit-of-measure at import time, but these require explicit activation and UI configuration at the destination before the first catch-weight inventory transaction is entered.

  • BOM revision history cannot be fully preserved in standard Dolibarr

    Deacom BOMs are versioned per Item per Revision with explicit revision-date sequencing and lab-only/regulatory-only flags. Dolibarr's BOM module stores one active BOM per product with basic revision tracking but no explicit revision-date lineage or regulatory-only variant support. We export Deacom BOM revisions sorted by revision date and flag any Item with multiple active revisions. The customer must choose between consolidating to the most current BOM or accepting a loss of historical revision context. If full BOM revision history is a regulatory requirement (FDA 21 CFR Part 11, for example), Dolibarr may not be a suitable destination without significant custom development to extend the BOM module.

  • Deacom API rate limiting requires chunked export sequencing

    Deacom introduced rate limiting beginning in version 17.04.008, capping API requests within a time window. Large dt-type transaction tables — particularly inventory movements and GL postings — must be chunked in batches of 5,000 records with configurable delay between chunks to avoid 429 errors. We pre-scan the export scope to estimate record counts per table type and sequence dt records in chunks. Multi-tenant cloud deployments may face tighter limits; we confirm the customer's Deacom version and hosting model before finalizing the export schedule.

  • D3_c2guid UDF pick-list references break on cross-database import

    Deacom UDF pick-list options reference dxcaption2 via d3_c2guid system-generated uniqueidentifier values. These _guid values are non-transferable — importing them directly into Dolibarr creates orphaned references with no validation error. We export the human-readable option labels alongside the guids, create Dolibarr extrafield options with new IDs at the destination, and apply a remapping table to ensure every migrating record references the correct new option ID rather than the original Deacom guid.

  • Multi-tenant Deacom cloud limits database export method

    Deacom's multi-tenant cloud option places multiple customer instances on shared servers, restricting SQL read-only access and custom maintenance window definitions. For deep database exports requiring direct SQL access, we must confirm whether the customer uses single-tenant or multi-tenant hosting. Multi-tenant deployments may require API-only export, which is slower and may encounter rate-limiting constraints earlier in the process. We adjust our export method accordingly during discovery.

Migration approach

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

  1. Discovery and hosting assessment

    We audit the Deacom instance across version number (v17.04.008+ introduces rate limiting), hosting model (single-tenant vs multi-tenant cloud), table inventory per dm/dt/dx prefix, UDF field count and d3_c2guid dependency depth, BOM revision volume per Item, catch-weight Item count, lot genealogy depth, and open production order status. We pair this with a Dolibarr module activation checklist: llx_thirdparty, llx_product, llx_commande, llx_facture, llx_stock_mouvement, llx_product_batch, llx_accounting_record, llx_bom_bom, and llx_mrp_production are evaluated against the customer's data scope. The discovery output is a written migration scope and a Dolibarr module recommendation list.

  2. Dolibarr schema configuration before export

    We configure Dolibarr's destination schema before touching Deacom data. This includes activating the required modules (stock, product batch, BOM, MRP, accounting, third parties), creating custom extrafields for catch-weight fields (pjt_weight_per_unit, pjt_weight_uom), recreating Deacom UDF pick-list options as Dolibarr extrafield options with new IDs, setting up the llx_warehouse records to match Deacom facility locations, configuring llx_accounting_account with the Deacom chart of accounts codes, and designing the BOM consolidation strategy if multiple Deacom BOM revisions exist per Item. No data moves until the destination schema is validated.

  3. UDF remapping and Deacom GUID decommission

    We export the d3_c2guid remapping table from Deacom: every distinct d3_c2guid value, its associated dxcaption2 human-readable label, and the target Deacom UDF field name. We create the corresponding Dolibarr extrafield options at the destination with new auto-increment IDs, then produce a GUID-to-new-ID crosswalk table. This crosswalk is applied as a transform step in the export pipeline so that every migrating record references the new Dolibarr option ID rather than the original Deacom guid. Without this step, UDF pick-list values import as null or blank in Dolibarr with no error message.

  4. Sequenced export in dm/dt/dx dependency order

    We export Deacom data in record-dependency order: dm-type maintenance tables first (Items from dmprod, Customers from dmcust, Vendors), then dt-type transaction tables (Sales Orders, Inventory Movements, GL postings, Production Orders), then dx-type system records last (UDF configurations, caption overrides). We chunk dt-type exports in batches of 5,000 with configurable backoff intervals to respect Deacom's rate limits introduced in v17.04.008. Mobile app data (not persisted to independent database tables) is excluded and noted in the migration report. We flag any lot genealogy records with missing parent references for manual review before inventory import.

  5. Production migration with reconciliation

    We run the production migration into the configured Dolibarr instance in dependency order: third parties first (Customers, Vendors), then products with catch-weight extrafields, then BOMs (applying the consolidation or multi-revision strategy chosen during scoping), then inventory transactions with batch numbers resolved from the lot genealogy pass, then GL and AP/AR records, then sales orders, then production orders if the MRP module is active. Each phase emits a row-count reconciliation report comparing the Deacom source count against the Dolibarr destination count. Discrepancies above a 1% threshold trigger a root-cause review before the next phase begins.

  6. Cutover, validation, and handoff

    We freeze Deacom writes during the cutover window, run a final delta migration of any records modified during the migration run, then switch the system of record to Dolibarr. We deliver a written inventory of items that cannot migrate as code: EDI translation rules, catch-weight calculation logic that relied on Deacom-specific inventory workflows, BOM lab-only and regulatory-only variant flags that Dolibarr cannot natively represent, and QC test result history stored as migration reports rather than live module records. We do not rebuild Deacom workflows, Business Care maintenance configurations, or multi-tenant access controls in Dolibarr; those are documented separately for the customer's admin team. We support a one-week hypercare window for reconciliation issues raised during the first live business cycle.

Platform deep dives

Context on both ends of the pair

Deacom ERP logo

Deacom ERP

Source

Strengths

  • Single-database architecture eliminates module synchronization gaps common in composite ERP stacks.
  • Native formulation and BOM versioning with lab-only and regulatory-only BOM variants for compliant product development.
  • Real-time GL postings with drill-down to transactional audit trail across all departments.
  • Built-in lot traceability and catch-weight inventory management for food, chemical, and pharma manufacturers.
  • Per-facility BOM and inventory control with facility restriction flags on Items and BOMs.

Weaknesses

  • Steep learning curve with inconsistent support quality and tickets closed before bugs are fully resolved.
  • Frequent product updates reported as destabilizing — customers note the system feels unfinished between releases.
  • CRM functionality is shallow; lead tracking and pricing sheet generation require workarounds or third-party tools.
  • Implementation is described as disorganized with multiple handoffs between consultants, extending timelines.
  • Mobile app data is not independently exportable — offline entries only sync back to parent records.
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 Deacom ERP and Dolibarr ERP.

B

Overall complexity

Standard migration

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

  • Object compatibility

    A

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

    Deacom ERP: Not publicly documented for external use. Internal rate limiting was introduced in version 17.04.008..

  • Data volume sensitivity

    B

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

Estimator

Estimate your Deacom 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 Deacom ERP to Dolibarr ERP data migrations

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

Can't find your answer?

Walk through your Deacom 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 six and ten weeks for accounts with up to 50,000 transaction records, standard Items, Customers, Vendors, and Sales Orders with no production order history. Migrations that include BOM revisions, lot genealogy, catch-weight inventory fields, production order costing data, and QC test data move to fourteen to twenty-two weeks because of schema gap configuration, multi-pass BOM revision sequencing, and the custom extrafield build-out in Dolibarr required to carry Deacom-specific data semantics.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Deacom 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