ERP migration
Field-level mapping, validation, and rollback between Sage Business Cloud X3 and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
Sage Business Cloud X3
Source
Dolibarr ERP
Destination
Compatibility
10 of 12
objects map 1:1 between Sage Business Cloud X3 and Dolibarr ERP.
Complexity
BStandard
Timeline
3-6 weeks
Overview
Moving from Sage Business Cloud X3 to Dolibarr is a structural migration from a multi-company, multi-site enterprise ERP to an open-source modular ERP/CRM designed for small and mid-market operations. Sage X3 stores financial data across multiple company codes with intercompany journal postings that must be reconstructed in the destination; Dolibarr handles this through its third-party module and multi-company accounting configuration. We extract via X3 template-driven flat files (specifying correct export templates and field sets before extraction), transform the data for Dolibarr's module structure, and load through CSV import or the Dolibarr API. Production orders, work orders, and BOMs do not migrate because Dolibarr's manufacturing module is not equivalent; we document these for manual rebuild. Workflows, automations, and custom X3 reports do not migrate as code; we deliver a written inventory for the customer's admin to rebuild in Dolibarr or a workflow engine of their choice.
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 Sage Business Cloud X3 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.
Sage Business Cloud X3
Business Partners (Customers and Suppliers)
Dolibarr ERP
Third-Party (Societe)
1:1Sage X3 Business Partners (BPCUSTOMER and BPSUPPLIER types) map directly to Dolibarr Third-Party (Societe) records. The BP category field (customer, supplier, or both) maps to Dolibarr's Client and Fournisseur flags. Address, payment terms, currency, and credit limit fields migrate to Dolibarr's standard third-party fields. We resolve the X3 BP type code (BPR type) against Dolibarr's Tiers type to ensure the correct Client/Fournisseur flag is set at import time. Custom fields on Business Partners in X3 (stored as extended columns) migrate to Dolibarr extrafields.
Sage Business Cloud X3
Sales Orders
Dolibarr ERP
Commercial Proposal and/or Customer Order (Commande Client)
1:1Sage X3 Sales Orders (exported via ZSOH template) map to Dolibarr Customer Order (Commande Client). X3 order header fields (order number, order date, customer reference, payment terms) map to Dolibarr Commande Client fields; X3 order lines map to Dolibarr lignes commandes with product reference, quantity, unit price, and VAT rate preserved. If the X3 order is still in draft or confirmed status, it becomes a Dolibarr Proposal (propal) first and is converted to Order on confirmation. Closed or invoiced orders are migrated as Order records with the invoice reference stored in a custom field.
Sage Business Cloud X3
Purchase Orders
Dolibarr ERP
Supplier Order (Commande Fournisseur)
1:1Sage X3 Purchase Orders map to Dolibarr Supplier Order. The X3 supplier reference, order date, payment terms, and line items (product, quantity, cost price, delivery date) migrate to Dolibarr lignes commandes fournisseur. Purchase order approval workflows in X3 are not migrated; open POs in approved or pending-receipt status are migrated as open orders for the Dolibarr purchasing team to manage. PO commitments in X3 that have not yet posted are recorded in Dolibarr's project module as commitments against a budget if the project module is active.
Sage Business Cloud X3
General Ledger / Chart of Accounts
Dolibarr ERP
Accounting Account (Plan Comptable)
1:1Sage X3's hierarchical chart of accounts (with segment codes, cost centres, and dimensions) maps to Dolibarr's accounting module plan comptable. X3 account numbers map directly to Dolibarr account codes; account descriptions map to the label field. If X3 uses analytical dimensions (up to 9 per ledger), we create Dolibarr extrafields for dimension tags rather than a separate analytical accounting module unless the Dolibarr accounting module is licensed. Multi-ledger X3 setups require separate Dolibarr accounting configurations per ledger if the ledgers have different charts of accounts.
Sage Business Cloud X3
Accounts Payable / Receivable (Open Invoices)
Dolibarr ERP
Customer Invoice and Supplier Invoice
1:1Open AP and AR invoices in Sage X3 (with due dates, outstanding amounts, payment terms, and aging data exported via templates) map to Dolibarr Facture Client and Facture Fournisseur records. We preserve the original invoice number, invoice date, due date, and open amount. Closed invoices (fully paid) are migrated as paid invoice records with a flag in extrafields marking them as historical. Credit notes and debit notes in X3 map to Dolibarr avoir records linked to the original invoice. The X3 payment terms code maps to Dolibarr's condition_reglement field.
Sage Business Cloud X3
Fixed Assets
Dolibarr ERP
Asset (Immobilisation)
1:1Sage X3 Fixed Assets (acquisition cost, depreciation schedules, asset register entries) map to Dolibarr's Asset module. X3 depreciation methods (linear, declining, sum-of-years) map to Dolibarr's equivalent amortization method fields. Each X3 depreciation book (GAAP, tax, statutory) becomes a separate Dolibarr asset record with its own amortization schedule, or a single asset with multiple amortization lines if the Dolibarr asset module version supports parallel books. Disposal records in X3 migrate as Dolibarr asset closure entries with disposal date and proceeds.
Sage Business Cloud X3
Fixed Assets Depreciation Books
Dolibarr ERP
Amortization Lines (Immo Amortissements)
1:1X3's parallel depreciation books per asset (e.g., GAAP vs. tax book) migrate to Dolibarr as separate amortization line sets against a single asset record if the Dolibarr asset module supports this, or as multiple asset records with a custom field linking them if the module does not support parallel books natively. The X3 depreciation convention (half-year, mid-month) maps to Dolibarr's date debut amortissement and mode calcul. Each book's accumulated depreciation at migration date is entered as the opening accumulated amortization amount.
Sage Business Cloud X3
Inventory / Stock
Dolibarr ERP
Product (Produit) + Stock
1:1Sage X3 Products (with Bills of Materials, lot/serial tracking, expiry dates, and multi-location stock) map to Dolibarr Product records. X3 product type (stockable, service, kit) maps to Dolibarr's product type. Stock levels per X3 site/location migrate to Dolibarr warehouse stock entries. Lot and serial numbers migrate to Dolibarr extrafields if the lot/serial module is active. BOMs in X3 do not migrate to Dolibarr manufacturing module (see gotcha); we export BOM data to a separate structured CSV for manual rebuild in Dolibarr or a third-party manufacturing module.
Sage Business Cloud X3
Production Orders / Work Orders
Dolibarr ERP
Project / Work Order (non-equivalent)
lossySage X3 Production Orders (linked to BOMs, routings, work centres, and consumption tracking) have no equivalent in the standard Dolibarr manufacturing module. We export work order headers, operations, and component consumption to a structured CSV and document the mapping so that the customer's admin can rebuild in Dolibarr's project module with a manufacturing extension or a third-party tool. Work order status and operation completion percentages are not natively supported in standard Dolibarr and require extrafields configuration or a community manufacturing module.
Sage Business Cloud X3
Budgets and Commitments
Dolibarr ERP
Project Budget (Projet) or Accounting Entry
1:1Sage X3 Budgets and Commitments (tying purchase orders and contracts to GL postings across periods and scenarios) map to Dolibarr Project budget lines if the project module is active, or to a custom accounting import mapping against a budget control account in the chart of accounts. Commitments representing open purchase orders are linked to the migrated Supplier Order records. Budget versus actual reporting in X3 is documented in a separate Excel workbook for the customer's admin to replicate in Dolibarr reporting or a BI extension.
Sage Business Cloud X3
Users and Roles
Dolibarr ERP
User (Utilisateur)
1:1Sage X3 Users (named-user model, not email-based in older deployments) map to Dolibarr User records. We resolve X3 user IDs to Dolibarr user accounts by email if available, or by matching the X3 user login to a newly provisioned Dolibarr user with the same identifier. Role-based access control in X3 (function-level permissions per site and company) maps to Dolibarr permission sets per module. Passwords and active/inactive status do not migrate; all migrated users receive a password reset link. Orphaned permissions from X3 are flagged in the handoff document for manual Dolibarr permission assignment.
Sage Business Cloud X3
Custom Fields / Extended Properties
Dolibarr ERP
Extrafields
lossyX3 custom fields on all migrated objects (stored as extended table columns) migrate to Dolibarr extrafields with equivalent data types. String fields map to varchar extrafields; numeric fields map to int or float; date fields map to date. Multi-select or tag-style custom fields in X3 map to Dolibarr select or checkbox extrafields with the same option list. We detect all X3 custom fields during discovery and pre-create the corresponding Dolibarr extrafields before any data load begins, so that data import does not skip or truncate custom field values.
| Sage Business Cloud X3 | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Business Partners (Customers and Suppliers) | Third-Party (Societe)1:1 | Fully supported | |
| Sales Orders | Commercial Proposal and/or Customer Order (Commande Client)1:1 | Fully supported | |
| Purchase Orders | Supplier Order (Commande Fournisseur)1:1 | Fully supported | |
| General Ledger / Chart of Accounts | Accounting Account (Plan Comptable)1:1 | Fully supported | |
| Accounts Payable / Receivable (Open Invoices) | Customer Invoice and Supplier Invoice1:1 | Fully supported | |
| Fixed Assets | Asset (Immobilisation)1:1 | Fully supported | |
| Fixed Assets Depreciation Books | Amortization Lines (Immo Amortissements)1:1 | Mapping required | |
| Inventory / Stock | Product (Produit) + Stock1:1 | Mapping required | |
| Production Orders / Work Orders | Project / Work Order (non-equivalent)lossy | Mapping required | |
| Budgets and Commitments | Project Budget (Projet) or Accounting Entry1:1 | Mapping required | |
| Users and Roles | User (Utilisateur)1:1 | Mapping required | |
| Custom Fields / Extended Properties | Extrafieldslossy | Mapping required |
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.
Sage Business Cloud X3 gotchas
Opaque pricing leads to unexpected total cost post-signature
Intercompany journal postings require manual duplication
Template-driven export requires field mapping before data extraction
Historical transaction reporting requires additional tooling
User accounts use named-user model, not email-based
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 scope definition
We audit the source Sage X3 instance across all company codes, active modules, user count, and data volume estimates. This includes identifying export template configurations, custom field definitions, intercompany journal posting patterns, and any active production orders or BOMs in scope. We pair this with a Dolibarr edition and module selection session: the customer chooses which Dolibarr modules to activate (third-party, invoicing, accounting, product, stock, project, etc.) and whether they are self-hosting or using a managed Dolibarr hosting provider. The discovery output is a written migration scope document listing every object, the expected record count, and the decision points requiring customer input.
Template configuration and data extraction
We work with the customer's X3 administrator to configure or verify the correct export templates for all objects in scope: Business Partners (ZBP or equivalent), Sales Orders (ZSOH), Purchase Orders (ZPOH), General Ledger (ZGLO), AP/AR (ZAP or ZAR), Fixed Assets (ZFAS), and Products/Stocks (ZPRD). Custom fields require an additional template configuration pass per object. We extract data in flat-file format with specified delimiters and encoding. For historical GL and financial statements, we run the X3 report engine and capture period-end exports alongside the transactional flat-file extraction. Database-level direct extraction is arranged if the X3 instance is on-premise and the customer grants read-only database access.
Dolibarr module activation and schema preparation
We set up the destination Dolibarr instance with the agreed module set: third-party module (mandatory for all migrations), product module, stock module, invoicing module, and accounting module. We configure the chart of accounts by importing the X3 account structure, set up payment terms mapped from X3 terms codes, configure VAT/SALES TAX rules to match X3's tax configuration, and create all extrafields corresponding to X3 custom fields. For multi-company X3 deployments, we configure separate Dolibarr third-party entities or a single multi-entity configuration depending on whether the customer wants consolidated or separate Dolibarr company records.
Transformation, validation, and sandbox load
We transform X3 flat-file exports to match Dolibarr CSV import format, applying field type conversions, date format normalisation, and multi-select value mapping for extrafields. A reconciliation count is produced at this stage comparing X3 source record counts against the transformed import set. We load into a staging Dolibarr instance (not production) first: the customer's team spot-checks 25-50 records per object against the X3 source data and signs off before production migration begins. Corrections to the transform logic are applied before the production load and re-validated.
Production migration in dependency order
We run the production migration in record dependency order: accounting chart of accounts first (all other records reference it), then third-party records (customers and suppliers), then products and stock levels, then fixed assets with opening amortization, then open purchase and sales orders, then open AP/AR invoices, then users and permissions. Intercompany journal postings are processed last with the reconciliation report applied. Manufacturing data (BOMs, work orders, production orders) is not loaded into standard Dolibarr; it is delivered as structured CSV files with a rebuild guide. Each phase emits a reconciliation report before the next begins.
Cutover, delta validation, and workflow handoff
We freeze X3 write access during the cutover window, run a final delta migration of any records modified during the migration window (typically orders or invoices processed during the cutover period), then validate Dolibarr as the system of record. We deliver the full migration record: a reconciliation summary with before/after counts per object, the X3 workflow and automation inventory document for the customer's admin to rebuild in Dolibarr or an alternative workflow engine, the BOM and work order CSV files with rebuild documentation, and the intercompany journal reconstruction report. We support a one-week hypercare window for reconciliation issues raised during the first business week in Dolibarr.
Platform deep dives
Sage Business Cloud X3
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between Sage Business Cloud X3 and Dolibarr ERP.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Sage Business Cloud X3 and Dolibarr ERP.
Object compatibility
All 8 core objects map 1:1 between Sage Business Cloud X3 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
Sage Business Cloud X3: 180 requests per minute with max burst of 10 calls/second (Embedded Services); core X3 API limits not publicly documented.
Data volume sensitivity
Sage Business Cloud X3 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 Sage Business Cloud X3 to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your Sage Business Cloud X3 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 Sage Business Cloud X3
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.