ERP migration
Field-level mapping, validation, and rollback between MERCI and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
MERCI
Source
Dolibarr ERP
Destination
Compatibility
10 of 12
objects map 1:1 between MERCI and Dolibarr ERP.
Complexity
CModerate
Timeline
4-6 weeks
Overview
Moving from MERCI Cloud ERP to Dolibarr ERP requires solving for MERCI's lack of a public API before any data movement can begin. MERCI runs single-tenant per customer on AWS, so each deployment carries a potentially unique schema with custom fields and renamed objects. We begin every migration with a data profiling phase that discovers the actual column inventory from CSV exports or direct database access, reconciles foreign-key relationships that live in column values rather than explicit join tables, and maps MERCI's simplified five-type chart of accounts to Dolibarr's accounting module structure. We migrate Customers to Dolibarr Third Parties, Sales Orders to Dolibarr Proposals, Invoices to Dolibarr Invoices, Items to Products and Services, Vendors to Third Parties with Supplier flag, and Employees to Dolibarr HR module records. Binary attachments cannot be retrieved through any documented MERCI export path; we flag these for manual download or direct blob export from MERCI's hosting team. Dolibarr's modular architecture means we configure only the active modules before import begins. Workflows, automations, and document templates do not migrate as code; we deliver a written inventory for the customer's admin to rebuild in Dolibarr's configuration tools.
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 MERCI 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.
MERCI
Customer
Dolibarr ERP
Third Party (type=customer)
1:1MERCI Customer records map to Dolibarr Third Party objects with the Tiers type flag set to Customer. We map MERCI's customer name to dolibarr.nom, address fields to address/zip/town/country columns, and contact phone/email to the contact sub-table linked via s.rowid as fk_soc. MERCI custom fields attached to customer records are discovered during profiling and mapped to dolibarr.extrafields columns or stored as dolilbarr.categorie entries. Billing and shipping addresses stored as separate MERCI records flatten into the Third Party address fields and the address_type sub-table.
MERCI
Vendor
Dolibarr ERP
Third Party (type=supplier)
1:1MERCI Vendor records map to Dolibarr Third Party with the Tiers type flag set to Supplier. We map vendor name to dolibarr.nom, bank account details to rib fields, and payment terms to the suppliers_payment_module. Vendor contacts migrate as dolibarr.socpeople records linked via fk_soc. Address flattening logic mirrors the Customer mapping.
MERCI
Sales Order
Dolibarr ERP
Proposal (quotation) or Sales Order
1:1MERCI Sales Orders map to Dolibarr Proposal (propale) for quotations awaiting acceptance or to Commande (sales order) for confirmed orders. We map MERCI order header fields to dolibarr.propal (ref, date, client_ref, total_ht, total_tva, total_ttc) and line items to propal_ligne with fk_product resolved from the Items mapping. Order status maps from MERCI status codes to Dolibarr PropalStatus values (draft, open, signed, notsigned, closed). Source order IDs are preserved as a custom field for audit.
MERCI
Invoice
Dolibarr ERP
Invoice
1:1MERCI Invoices map to Dolibarr Facture records. We map invoice number to ref, invoice date to datef, due date to date_echeance, and line items to factureligne. VAT amounts map to local tax fields (tva_tx, total_tva). Open versus closed invoice status requires a pre-migration review of MERCI's status code taxonomy against Dolibarr's FactureStatus values (draft, validated, paid, abandoned). The MERCI order-to-invoice linkage is preserved by storing the source order ID in a custom field on the Dolibarr Facture record.
MERCI
Item
Dolibarr ERP
Product or Service
1:1MERCI Items include product and service variants that map to dolibarr.product (type=0 for goods, type=1 for services). We map MERCI item code to ref, description to label, and pricing tiers to price levels in the product_price table. Bundle and kit compositions from MERCI must be expanded into flat Dolibarr line items because Dolibarr's BOM (Bill of Materials) module handles kit explosion separately. If the customer uses the DOLIBARR stock module, we configure warehouse references before importing stock quantities from MERCI.
MERCI
Chart of Accounts
Dolibarr ERP
Account (accounting module)
lossyMERCI's simplified five-type account taxonomy (asset, liability, equity, revenue, expense) maps to Dolibarr's double-entry accounting structure. We map MERCI account codes directly to dolibarr.accounting_account.account_number and account names to label. Account type translation requires verifying each MERCI account type against Dolibarr's account category taxonomy (Comptes financiers, Immobilisations, Stocks, Comptes fournisseurs, Comptes clients, Charges, Produits). We configure the accounting journal and financial year in Dolibarr before importing account records so that opening balances can be set correctly.
MERCI
Employee
Dolibarr ERP
User or Employee
1:1MERCI Employee records map to Dolibarr User records (for login-capable staff) and optionally to thehrm_recruitment_employee or other HR module tables if the customer activates Dolibarr's HR module. We map MERCI employee name to User lastname and firstname, email to login, and department to the relevant group or team assignment. Active versus inactive employment status maps to User status (0=inactive, 1=active). Effective-dated compensation history that lives in MERCI custom fields requires pre-migration cleanup or custom field creation in Dolibarr.
MERCI
Attachment
Dolibarr ERP
None
1:1MERCI binary attachments (PDFs, order documents, images) stored in the proprietary blob store cannot be retrieved through any documented export endpoint. We flag Attachment objects as unsupported and direct customers to download files manually from the MERCI UI or to request a full blob export directly from MERCI's hosting team. If the customer has Gigabytes of attachments, a direct database dump of the blob storage is the only practical path and requires coordination with MERCI's infrastructure team.
MERCI
Order Line Item
Dolibarr ERP
Proposal Line Item / Order Line Item
1:1MERCI order line items map to Dolibarr propal_ligne (for Proposal) or commande_ligne (for Order). We resolve fk_product by looking up the MERCI item SKU against the Dolibarr product ref field, and fall back to a description-only line if no match is found. Quantity, unit price (price_ht), VAT rate (tva_tx), and discount (remise_percent) map directly. Partial line failures are handled by logging the failure and continuing the import so that a single bad line does not block the entire order.
MERCI
Invoice Line Item
Dolibarr ERP
Invoice Line Item
1:1MERCI invoice line items map to Dolibarr facture_ligne with the same fk_product resolution strategy used for order lines. Line item sequencing is preserved by setting line order position. Credit note handling requires identifying MERCI negative-amount invoices and mapping them to Dolibarr Facture type=credit_note (facture type code = CREDIT_NO_CHARGE or factoring).
MERCI
Payment Record
Dolibarr ERP
Payment
1:1MERCI payment records linked to invoices map to Dolibarr paiement records with fk_facture resolved through the invoice number mapping. Payment method (cash, check, bank transfer) maps to dolibarr.c_paiement entries. We link each paiement to the corresponding facture via paiement_facture. If MERCI stores partial payments against a single invoice, each partial payment becomes a separate Dolibarr paiement record with the amount split proportionally.
MERCI
Custom Fields
Dolibarr ERP
Extra Fields
lossyMERCI deployments may carry custom fields on any standard object due to the single-tenant schema flexibility. During data profiling we discover all MERCI columns that are not part of the notional baseline schema and create corresponding Dolibarr extrafields entries (fk_extrafields on the target table) before importing any data. Custom picklist values in MERCI are translated to Dolibarr extrafields options during this phase. This step is the primary driver of timeline extension in MERCI migrations.
| MERCI | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Customer | Third Party (type=customer)1:1 | Fully supported | |
| Vendor | Third Party (type=supplier)1:1 | Fully supported | |
| Sales Order | Proposal (quotation) or Sales Order1:1 | Fully supported | |
| Invoice | Invoice1:1 | Fully supported | |
| Item | Product or Service1:1 | Fully supported | |
| Chart of Accounts | Account (accounting module)lossy | Mapping required | |
| Employee | User or Employee1:1 | Fully supported | |
| Attachment | None1:1 | Fully supported | |
| Order Line Item | Proposal Line Item / Order Line Item1:1 | Fully supported | |
| Invoice Line Item | Invoice Line Item1:1 | Fully supported | |
| Payment Record | Payment1:1 | Fully supported | |
| Custom Fields | Extra Fieldslossy | 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.
MERCI gotchas
No public API documentation found
Single-tenant schema variation across deployments
Binary attachment export not supported via API
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
Schema discovery and export strategy
We begin by requesting a full MERCI database schema export (SHOW CREATE TABLE output for every table) and sample CSV exports of the seven core objects (Customers, Vendors, Sales Orders, Invoices, Items, Employees, Chart of Accounts). If MERCI's hosting team cannot provide direct database read access, we work with the customer to generate CSV exports through MERCI's admin interface. We profile the schema against the notional MERCI baseline, identify custom fields, renamed columns, and non-standard picklist values, and document the delta. This step typically extends the timeline by one to two weeks compared to migrations from platforms with documented APIs.
Dolibarr installation and module activation
We install or verify a Dolibarr instance (cloud or self-hosted per the customer's preference) and activate only the modules needed for the migration scope: Third Parties, Products/Services, Proposals, Orders, Invoices, Stock (if applicable), Accounting (if applicable), and HR (if applicable). We configure country, currency, tax rules, payment terms, and default numbering sequences before importing any data. The Dolibarr Import module (Tools > Imports) must be enabled during this phase to access the CSV import wizard.
Extra fields and chart of accounts configuration
We create Dolibarr extrafields entries for every MERCI custom field discovered during schema profiling, applying the correct field type (string, integer, select, date, etc.) and options list. We configure the Dolibarr chart of accounts by mapping each MERCI account to a Dolibarr accounting account with the correct category (financial, asset, liability, revenue, expense), configuring journals, and setting up the financial year. All configuration is deployed to a sandbox instance first for validation before applying to production.
Sandbox migration and reconciliation
We run a full migration into a Dolibarr sandbox using production-equivalent data volume. The customer reconciles record counts, spot-checks 25-50 records against the MERCI source, and validates that related records (invoices linked to customers, order lines linked to products) resolve correctly. Any mapping corrections, missing custom fields, or picklist value mismatches are resolved in this phase. The customer signs off on the sandbox migration before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Third Parties (Customers and Vendors), Products and Services, Proposals and Sales Orders, Invoices, Employees, and Chart of Accounts entries. We use Dolibarr's native CSV import wizard for each table, enforcing UTF-8 encoding on all files. Foreign-key lookups are resolved in sequence so that parent records exist before child records are imported. We log row-level errors and continue the import so that a single bad record does not block the entire batch. Each phase emits a reconciliation report showing imported count, skipped count, and error count.
Cutover, delta migration, and handoff
We freeze MERCI write access during cutover, run a final delta migration of any records modified during the migration window, then mark Dolibarr as the system of record. We deliver a written inventory of any active workflows, automations, or document templates from MERCI for the customer's admin to rebuild in Dolibarr. We support a one-week hypercare window to resolve reconciliation issues raised by the customer's team. Binary attachments are flagged as out-of-scope for API-based migration; we provide step-by-step instructions for manual download from MERCI or a blob export request to MERCI's hosting team.
Platform deep dives
MERCI
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Moderate ERP migration. 4 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across MERCI and Dolibarr ERP.
Object compatibility
4 of 8 objects need a mapping; the rest are 1:1.
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
MERCI: Per-call billed (₹0.56/call) rather than throttled — cost acts as a soft throttle.
Data volume sensitivity
MERCI exposes a bulk API — large-volume migrations stream efficiently.
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 MERCI to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your MERCI 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 MERCI
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.