ERP migration
Field-level mapping, validation, and rollback between iXERP Standard and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
iXERP Standard
Source
Dolibarr ERP
Destination
Compatibility
11 of 15
objects map 1:1 between iXERP Standard and Dolibarr ERP.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from iXERP Standard to Dolibarr is a platform-model migration: iXERP Standard exposes a REST API (undocumented) and per-module CSV templates; Dolibarr uses a CSV import layer where customers and vendors are stored as a unified Third Party object. We resolve the iXERP Customer and Vendor records into Dolibarr Third Parties during the transformation phase, split contact roles (customer-facing vs supplier-facing) using the third_party_type field, and map multi-currency and tax-code fields to Dolibarr equivalents. Inventory SKUs, purchase orders, and sales orders move 1:1 with line-item preservation. Invoices migrate as AR and AP separately because Dolibarr models them as distinct document types. Document attachment URLs migrate but not binary files; we flag this explicitly so the customer can validate cloud storage accessibility from both environments. Dolibarr does not offer a native workflow engine — workflow rules, conditional notifications, and re-order triggers from iXERP do not migrate as configuration; we deliver a written inventory of every active workflow for the customer's admin to rebuild.
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 iXERP Standard 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.
iXERP Standard
Customer
Dolibarr ERP
Third Party (type = Customer)
1:manyiXERP Customer records map to Dolibarr Third Party with third_party_type set to Customer. The customer code, name, address, phone, email, website, and payment terms migrate as standard Third Party fields. Each iXERP Customer may have multiple Contacts (persons within the company); these become separate Contact records linked via the socpeople table with fk_soc pointing to the parent Third Party. We resolve the Third Party insert before importing Contacts so that the foreign-key reference is satisfied at load time.
iXERP Standard
Vendor
Dolibarr ERP
Third Party (type = Supplier)
1:manyiXERP Vendor records map to Dolibarr Third Party with third_party_type set to Supplier. Supplier code, name, address, payment terms, and accounts payable balance migrate. Vendors may also have Contact records for procurement contacts, which we map to the same socpeople table with a fk_soc reference to the supplier Third Party. Duplicate vendor names (same legal entity appearing as both a customer and a supplier) are flagged during pre-flight for the customer to confirm whether they should be one Third Party with both types or two separate records.
iXERP Standard
Contact (within Customer)
Dolibarr ERP
Contact (socpeople)
1:1iXERP Contact records (persons attached to Customer or Vendor records) map to Dolibarr socpeople. First name, last name, email, phone, job title, and default flag migrate. The fk_soc foreign key references the parent Third Party. We import all Third Parties before Contacts to satisfy the required reference. If iXERP stores multiple roles per person (e.g., a contact who is both an accounts payable contact and a purchasing contact), we import one socpeople record per role as Dolibarr allows multiple contacts per Third Party.
iXERP Standard
Item
Dolibarr ERP
Product
1:1iXERP Items (stock SKUs, non-stock items, and services) map to Dolibarr Product. Item code becomes ref, description becomes label, cost price maps to cost_price, and selling price maps to price. Stock-on-hand quantity migrates to the stock table via a stock movement record if the product is a stocked item. Barcode fields, unit of measure, and weight/dimensions migrate as extended fields if present in iXERP. Service items (non-stocked) are set to product_type = Service in Dolibarr.
iXERP Standard
Purchase Order
Dolibarr ERP
Supplier Order
1:1iXERP Purchase Orders map to Dolibarr CommandeFournisseur (Supplier Order). PO header fields (number, date, status, vendor reference) migrate directly. PO lines migrate to the orderline table with product reference, quantity, unit price, and discount percent. Status mapping: iXERP draft/approved/closed maps to Dolibarr draft/validated/closed. We resolve the fk_soc (supplier Third Party) before importing lines. Received-to-date quantities on partially-received POs are preserved as stock movement records in Dolibarr.
iXERP Standard
Sales Order
Dolibarr ERP
Customer Order
1:1iXERP Sales Orders map to Dolibarr Commande (Customer Order). SO header (order number, order date, customer reference, status) migrates directly. Line items map to orderline with product ref, quantity, unit price, and discount. Fulfilled quantity flags (line items already shipped) are preserved as stock warehouse movements in Dolibarr. Order total and tax amount are recalculated at import time from line data rather than relying on the iXERP header total to catch any rounding discrepancies. Status mapping: iXERP open/invoiced/cancelled maps to Dolibarr draft/validated/closed/factured.
iXERP Standard
Invoice (AR)
Dolibarr ERP
Customer Invoice
1:1iXERP AR Invoices (Issues) map to Dolibarr Facture (Customer Invoice). Invoice header (number, date, due date, customer reference) migrates to facturation. Lines migrate to factored where ref, qty, pu_ht, and tva_tx carry across. Payment status migrates: iXERP paid/unpaid/partially maps to Dolibarr status values with payment date recorded if settled. Multi-currency iXERP invoices are flagged: Dolibarr's standard accounting module does not support native multi-currency, so we record the foreign-currency amount in a custom field and the base-currency equivalent at the prevailing exchange rate from the invoice date.
iXERP Standard
Invoice (AP)
Dolibarr ERP
Supplier Invoice
1:1iXERP AP Invoices (Receipts) map to Dolibarr FactureFournisseur (Supplier Invoice). Supplier reference, invoice number, date, due date, and total migrate. Lines map to the factored table with the same field conventions as AR invoices. Payment status and date migrate. Any discount terms or early-payment conditions from iXERP are stored in custom fields on the Dolibarr invoice because the base module does not natively model early-payment discounts.
iXERP Standard
Project
Dolibarr ERP
Project
1:1iXERP Projects map to Dolibarr Project. Project code, name, description, start date, end date, status, and budget amounts migrate to the projet and projet_task tables. Assigned resources (team members) map to the contact table with a fk_projet reference. Custom project fields from iXERP migrate to the extrafields table for project. Milestone dates migrate as project tasks with milestone flag where supported by the iXERP source data.
iXERP Standard
Task
Dolibarr ERP
Task (within Project)
1:1iXERP Tasks (children of Projects) map to Dolibarr projet_task with fk_projet pointing to the parent Project. Task name, description, assigned user, status, planned hours, and logged hours migrate. Time entries linked to tasks migrate as separate time records against the task. The task hierarchy (parent task, sub-tasks) is preserved via fk_task_parent. We import Projects before Tasks to satisfy the foreign-key constraint.
iXERP Standard
Chart of Accounts
Dolibarr ERP
Account (Accounting module)
1:1iXERP general-ledger account codes, names, and account types map to Dolibarr's accounting account table (accountingaccount). Account type classification (asset, liability, equity, income, expense) migrates to account_type. Tax codes from iXERP map to Dolibarr's TVA (tax) configuration where applicable. Opening balances for each account are entered as manual journal entries after the chart of accounts is loaded because Dolibarr models opening balances as first-period journal lines rather than account attributes.
iXERP Standard
Bank / Cash Account
Dolibarr ERP
Bank Account
1:1iXERP bank and cash accounts map to Dolibarr Bank (compta_bank). Account name, account number, bank name, and current balance migrate. Historical bank statement lines migrate to the accounting bank transaction table (compta_bank_conciliation) where date ranges allow; we scope by a mutually agreed cutoff date to avoid loading multi-year transaction histories that exceed Dolibarr's reconciliation UI capacity. Any unreconciled entries at the cutoff are flagged as open items for manual reconciliation post-migration.
iXERP Standard
Employee
Dolibarr ERP
User or Contact (HR module)
lossyiXERP Employee records map to Dolibarr User records for users who will log in, and to Contact records for employees who are recorded for HR or project allocation purposes only. Personal details, job role, department, and effective-date fields migrate. Compensation fields migrate as extended fields on the User record. If Dolibarr HR module is not active, we default employees to User records without login access. Employee address records (multiple per employee) are stored as separate Contact records with a fk_soc pointing to a self-referencing Third Party representing the employee.
iXERP Standard
Custom Field
Dolibarr ERP
Extra Fields
lossyiXERP custom fields on any supported object (CRM contacts, projects, employees, items) are detected during the profiling phase and mapped to Dolibarr extrafields (custom properties) on the corresponding object. Where a matching field name and data type exists in Dolibarr, we map directly. Where no match exists, we create a new extrafield on the destination object with a name derived from the iXERP custom field label. Constrained custom fields (drop-downs pointing to other records) are mapped to Dolibarr constrained extrafields referencing the appropriate table rowid.
iXERP Standard
HelpDesk Ticket
Dolibarr ERP
Ticket
1:1iXERP HelpDesk tickets map to Dolibarr Ticket (if the Ticket module is enabled in the destination). Ticket subject, description, status, priority, agent assignment, customer reference, and creation date migrate. Conversation history (ticket thread) migrates as separate note or message entries linked to the ticket. Custom ticket fields from iXERP migrate to the ticket extrafields table.
| iXERP Standard | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Customer | Third Party (type = Customer)1:many | Fully supported | |
| Vendor | Third Party (type = Supplier)1:many | Fully supported | |
| Contact (within Customer) | Contact (socpeople)1:1 | Fully supported | |
| Item | Product1:1 | Fully supported | |
| Purchase Order | Supplier Order1:1 | Fully supported | |
| Sales Order | Customer Order1:1 | Fully supported | |
| Invoice (AR) | Customer Invoice1:1 | Fully supported | |
| Invoice (AP) | Supplier Invoice1:1 | Fully supported | |
| Project | Project1:1 | Fully supported | |
| Task | Task (within Project)1:1 | Fully supported | |
| Chart of Accounts | Account (Accounting module)1:1 | Fully supported | |
| Bank / Cash Account | Bank Account1:1 | Fully supported | |
| Employee | User or Contact (HR module)lossy | Fully supported | |
| Custom Field | Extra Fieldslossy | Fully supported | |
| HelpDesk Ticket | Ticket1: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.
iXERP Standard gotchas
API endpoint schema is not publicly documented
CSV templates use a proprietary structure
Document links point to external cloud storage
Rate limiting is undocumented and must be tested empirically
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
Pre-migration audit and schema discovery
We audit the source iXERP Standard tenant across all active modules: Customers, Vendors, Items, Purchase Orders, Sales Orders, Invoices (AR and AP), Projects, Tasks, Employees, Bank/Cash Accounts, and Chart of Accounts. We perform live API discovery (probing endpoints with test credentials) alongside CSV export extraction from iXERP's built-in templates to determine which method yields the most complete and consistent dataset per object. We profile record counts, date ranges, custom field inventory, multi-currency usage, and any attachment URL volume. The audit output is a written migration scope document with a data-quality report flagging duplicates, missing required fields, and any schema gaps between iXERP and Dolibarr that require transformation design decisions.
Transformation design and Dolibarr environment preparation
We configure the target Dolibarr instance: activate the required modules (ThirdParties, Products, Commande, Facture, Project, Bank, Accounting as appropriate), create the chart of accounts structure, configure tax rates, and set up warehouse locations for inventory. We define the Customer/Vendor-to-Third-Party split rules based on the reconciliation sheet from audit. We design the CSV transformation scripts that convert iXERP export format to Dolibarr import format per object, including custom field mapping to extrafields. All configuration is validated in a staging copy of the Dolibarr instance before production migration begins.
Data cleaning and deduplication
We apply a cleaning pass to the extracted iXERP data before loading into Dolibarr. This includes deduplicating third-party records (same entity appearing multiple times under variant names), standardising address formats, resolving null values in required Dolibarr fields, and mapping iXERP status enums to Dolibarr status values. Any records that cannot be automatically cleaned are listed in a manual-reconciliation sheet for the customer's business user to resolve before migration proceeds. We do not load dirty data into Dolibarr; cleaning is a prerequisite phase, not an afterthought.
Dependency-ordered import into Dolibarr
We import records into Dolibarr in strict dependency order to satisfy foreign-key constraints. The sequence is: Third Parties (Customers and Vendors) first, then Contacts (linked to Third Parties), then Products/Items, then Projects, then Orders (Purchase and Sales), then Invoices (AR and AP), then Tasks (linked to Projects), then Bank Accounts and Chart of Accounts, then Employees, then HelpDesk Tickets. Each phase emits a row-count reconciliation report comparing the iXERP source count to the Dolibarr destination count. Any records rejected during import (required-field violations, duplicate key errors) are logged, corrected in the staging transform, and re-loaded before proceeding to the next phase.
Historical transaction and opening-balance loading
After master-data import (third parties, products, orders, invoices) is validated, we load historical inventory transactions and opening balances. Inventory transactions (stock movements, adjustments, transfers) are scoped by a mutually agreed date cutoff to avoid overwhelming Dolibarr's transaction log; transactions before the cutoff are archived as a reference file. Opening balances for bank accounts and the general ledger are entered as manual journal entries by the customer's accountant, guided by a balances sheet exported from iXERP. We provide the balance figures and account mapping reference so that the accountant enters them correctly rather than loading them via CSV, which reduces the risk of double-entry errors on the accounting layer.
Cutover, validation, and workflow handoff
We freeze writes in iXERP Standard during cutover, run a final delta migration of any records created or modified since the last extraction, then validate the Dolibarr instance against the iXERP source in three rounds: automated record-count reconciliation, automated field-sample spot-check (25-50 records per object), and a business-user acceptance review. We deliver a written inventory of all iXERP workflows, conditional notifications, re-order triggers, and automated alerts that require rebuilding in Dolibarr. Post-migration support covers a five-business-day window for reconciliation issues. We do not rebuild iXERP workflows as Dolibarr configurations or custom PHP modules within the migration scope.
Platform deep dives
iXERP Standard
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between iXERP Standard and Dolibarr ERP.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across iXERP Standard and Dolibarr ERP.
Object compatibility
All 8 core objects map 1:1 between iXERP Standard 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
iXERP Standard: Not publicly documented — empirically tested during migration runs.
Data volume sensitivity
iXERP Standard 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 iXERP Standard to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your iXERP Standard 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 iXERP Standard
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.