ERP migration
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
Source
Dolibarr ERP
Destination
Compatibility
10 of 14
objects map 1:1 between Deacom ERP and Dolibarr ERP.
Complexity
BStandard
Timeline
6-10 weeks
Overview
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.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a 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)
Dolibarr ERP
llx_product
1:1Deacom 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
Dolibarr ERP
llx_bom_bom (BOM module) or llx_product + llx_product_asso
lossyDeacom 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)
Dolibarr ERP
llx_thirdparty
1:1Deacom 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
Dolibarr ERP
llx_thirdparty
1:1Deacom 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
Dolibarr ERP
llx_commande
1:1Deacom 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
Dolibarr ERP
llx_stock_mouvement
1:1All 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
Dolibarr ERP
llx_product_batch
lossyDeacom 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
Dolibarr ERP
llx_accounting_record + llx_accounting_account
1:1Deacom 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
Dolibarr ERP
llx_facture_fourn + llx_facture
1:1Deacom 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)
Dolibarr ERP
Dolibarr extrafields
lossyDeacom 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
Dolibarr ERP
llx_mrp_production
lossyDeacom 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
Dolibarr ERP
Dolibarr extrafields + llx_product_extrafields
1:1Deacom 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
Dolibarr ERP
Dolibarr document management (llx_ecm_files)
1:1Deacom 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
Dolibarr ERP
llx_product_fournisseur_price
1:1Deacom 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.
| Deacom ERP | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Items (dmprod — Item Master) | llx_product1:1 | Fully supported | |
| BOM / Formulations | llx_bom_bom (BOM module) or llx_product + llx_product_assolossy | Fully supported | |
| Customers (dmcust) | llx_thirdparty1:1 | Fully supported | |
| Vendors | llx_thirdparty1:1 | Fully supported | |
| Sales Orders | llx_commande1:1 | Fully supported | |
| Inventory Transactions | llx_stock_mouvement1:1 | Fully supported | |
| Lot/Serial Traceability | llx_product_batchlossy | Fully supported | |
| General Ledger / Journal Entries | llx_accounting_record + llx_accounting_account1:1 | Fully supported | |
| AP / AR | llx_facture_fourn + llx_facture1:1 | Fully supported | |
| Custom UDF Pick-List Options (dmd3) | Dolibarr extrafieldslossy | Mapping required | |
| Production Orders / Jobs | llx_mrp_productionlossy | Fully supported | |
| Quality Control Tests | Dolibarr extrafields + llx_product_extrafields1:1 | Mapping required | |
| EDI / Document Records | Dolibarr document management (llx_ecm_files)1:1 | Mapping required | |
| Vendor Part Cross-References | llx_product_fournisseur_price1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Deacom ERP gotchas
Rate limiting on the Deacom Public API requires chunked export sequencing
BOM revisions require revision-date sequencing to preserve formulation state
Custom UDF pick-list options use _guid references that break cross-database
Multi-tenant cloud hosting limits server-level access needed for deep exports
Dolibarr ERP gotchas
Foreign key constraint errors on cross-distribution database restore
SQL injection vulnerabilities in version 9.0.1
Custom fields stored as JSON in extraoptions require field-by-field deserialization
Decimal precision and rounding configuration affects price fields
No native iOS/Android app forces reliance on browser
Pair-specific challenges
Migration approach
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.
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.
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.
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.
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.
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
Deacom ERP
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between Deacom ERP and Dolibarr ERP.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Deacom ERP and Dolibarr ERP.
Object compatibility
All 8 core objects map 1:1 between Deacom ERP and Dolibarr ERP.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Deacom ERP: Not publicly documented for external use. Internal rate limiting was introduced in version 17.04.008..
Data volume sensitivity
Deacom ERP doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Deacom ERP to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
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 consultationAdjacent paths
Other ways to leave Deacom ERP
Other ways to arrive at Dolibarr ERP
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.