ERP migration
Field-level mapping, validation, and rollback between FACT ERP.NG and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
FACT ERP.NG
Source
Dolibarr ERP
Destination
Compatibility
8 of 12
objects map 1:1 between FACT ERP.NG and Dolibarr ERP.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from FACT ERP.NG to Dolibarr is a structural migration from an integrated Singaporean SME ERP with 600+ annual updates and built-in LHDN/InvoiceNow e-invoicing to a modular open-source ERP and CRM with a community edition and a paid cloud tier. FACT ERP.NG's Configuration Only model means business rules, tax rates, approval workflows, and inventory matrices live as platform parameters that must be extracted and replayed into Dolibarr's module settings during migration. Dolibarr's accounting module is optional and basic—companies with multi-currency or inter-company requirements may need a third-party accounting add-on post-migration. We do not migrate CXO Control Tower dashboards, Workflows, or e-invoicing compliance records as live objects; we deliver written inventories and rebuild guides for each. We do not have a public API for FACT ERP.NG extraction, so migration timelines account for file-based export and direct database access approaches confirmed during discovery.
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 FACT ERP.NG 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.
FACT ERP.NG
Customer
Dolibarr ERP
Third Party (type: Customer)
1:1FACT ERP.NG Customer records (addresses, GST/Tax IDs, credit limits, payment terms) map to Dolibarr Third Parties with the IsCustomer flag set to 1. The FACT customer_code becomes ref_client on the Dolibarr side. We resolve the primary contact on the Third Party record and preserve all billing/shipping addresses as Dolibarr address records (llx_element_contact and llx_address). Credit limit and payment term parameters replay into Dolibarr's Payment Conditions module settings.
FACT ERP.NG
Supplier
Dolibarr ERP
Third Party (type: Supplier)
1:1FACT ERP.NG Supplier records (bank details, tax registration, payment terms) map to Dolibarr Third Parties with the IsSupplier flag set to 1. Supplier bank details migrate to llx_bank_account linked to the Third Party. We preserve Supplier-to-Purchase-Order linkage as Dolibarr Purchase Order records attached to the same Third Party ID.
FACT ERP.NG
Item / Product
Dolibarr ERP
Product
1:1FACT ERP.NG Items carry pricing tiers, BOM links, serial number flags, and barcode data. We map FACT items to Dolibarr llx_product records with type (0=service, 1=product), barcode, and price levels. Multi-level BOM structures in FACT map to Dolibarr's MRP module via llx_product_bom if the manufacturing extension is active on the destination. Serial and batch tracking flags transfer to Dolibarr product lot records (llx_product_lot).
FACT ERP.NG
Sales Order
Dolibarr ERP
Order
1:1FACT Sales Orders map to Dolibarr llx_commande records with status mapped from FACT order state. Each order header and its line items migrate as a single transactional unit. The FACT customer reference maps to ref_client, and line item taxes migrate to the Dolibarr TVA (VAT) rate fields. Partial fulfillment status is preserved in the Dolibarr status and shipped quantities fields.
FACT ERP.NG
Purchase Order
Dolibarr ERP
Supplier Order
1:1FACT Purchase Orders map to Dolibarr llx_commande_fournisseur records. Supplier reference, expected delivery dates, and GRN linkage flags migrate. We preserve header-to-line structure and flag open versus closed PO status so that Dolibarr's purchase workflow reflects the original FACT order state. GRN records in FACT map to Dolibarr's Receiving module if the stock receiving extension is active.
FACT ERP.NG
GL Account / Chart of Accounts
Dolibarr ERP
Account (Accounting Module)
lossyFACT ERP.NG account codes, descriptions, and account types map to Dolibarr's llx_bank_account and llx_accounting_account tables. Accounts with non-zero balances are flagged for opening balance entry in Dolibarr. Dolibarr's accounting module must be enabled on the destination (it is optional). Accounts with subledger detail (AR/AP detail) are mapped to Dolibarr's third-party accounting accounts separately from the nominal ledger codes.
FACT ERP.NG
Journal Entry
Dolibarr ERP
Accounting Entry
1:manyFACT ERP.NG posts all transactions (AR, AP, payroll, GL) as dated, source-referenced journal entries. We extract these in date-range batches and split them into Dolibarr accounting entries (llx_accountingbookkeeping) by journal type. Payroll journal entries are extracted first (see sequencing dependency below). GL batches are loaded after Payroll to prevent duplicate debit/credit pairs in Dolibarr. Source reference numbers preserve audit trails for reconciliation.
FACT ERP.NG
Payroll / Employee
Dolibarr ERP
User / Employee
1:1FACT ERP.NG Employee records (salary components, EPF/CPF deductions, leave balances) map to Dolibarr llx_user records with HR module fields. Employee compensation and deduction components migrate to Dolibarr's expense report and HR modules if active. Payroll journal postings are extracted as a linked batch and loaded after llx_user to ensure account references are satisfied. EPF/CPF contribution rates replay as Dolibarr HR parameter settings.
FACT ERP.NG
Fixed Asset
Dolibarr ERP
Asset
1:1FACT ERP.NG Fixed Asset records (acquisition cost, depreciation method, accumulated depreciation, location) map to Dolibarr llx_asset records. Depreciation schedules are converted to Dolibarr amortization entries. If the destination Dolibarr instance does not have the Asset module enabled, we map assets to a custom table and flag this as a configuration gap requiring module activation before load.
FACT ERP.NG
Inventory / Stock
Dolibarr ERP
Stock
1:1FACT ERP.NG inventory balances per warehouse per item map to Dolibarr llx_product_stock records. Reorder levels and warehouse assignments migrate. Serial and batch number values (stored at value-level in FACT) map to Dolibarr llx_product_lot. Multi-warehouse configurations in FACT map to multiple warehouse entries in Dolibarr's stock module. We flag any stock records with null warehouse assignments for customer resolution before load.
FACT ERP.NG
CRM / Leads / Contacts
Dolibarr ERP
Third Party + Contact + Lead
1:manyFACT ERP.NG's CRM module holds Leads, Contacts, and Opportunities as linked objects. We map Contact records to Dolibarr Third Parties (IsCustomer=1) with the primary contact on llx_contact. Opportunity records map to Dolibarr llx_projet with opportunity stage, amount, and owner preserved. FACT opportunity-to-contact links replay as project-linked contacts in Dolibarr via llx_element_contact.
FACT ERP.NG
Custom Fields / Parameters
Dolibarr ERP
Module Parameters / Extra Fields
lossyFACT ERP.NG's Configuration Only model stores business rules, tax rates, pricing matrices, approval workflows, and inventory parameters as platform settings rather than user-defined fields. We extract every non-default parameter during discovery and replay them into equivalent Dolibarr module parameter pages (Setup > Modules) or custom extra fields (llx_extrafields) on each object. If parameters cannot be mapped to a Dolibarr equivalent, we document them in a Configuration Gap Report for the customer's admin to address post-migration.
| FACT ERP.NG | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Customer | Third Party (type: Customer)1:1 | Fully supported | |
| Supplier | Third Party (type: Supplier)1:1 | Fully supported | |
| Item / Product | Product1:1 | Fully supported | |
| Sales Order | Order1:1 | Fully supported | |
| Purchase Order | Supplier Order1:1 | Fully supported | |
| GL Account / Chart of Accounts | Account (Accounting Module)lossy | Fully supported | |
| Journal Entry | Accounting Entry1:many | Fully supported | |
| Payroll / Employee | User / Employee1:1 | Fully supported | |
| Fixed Asset | Asset1:1 | Fully supported | |
| Inventory / Stock | Stock1:1 | Fully supported | |
| CRM / Leads / Contacts | Third Party + Contact + Lead1:many | Fully supported | |
| Custom Fields / Parameters | Module Parameters / 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.
FACT ERP.NG gotchas
Configuration parameters must be mapped as first-class migration objects
Payroll journal entries create a mandatory sequencing dependency with the GL
Slow report rendering can extend migration validation cycles
No publicly documented API for direct programmatic extraction
Dashboard configurations are not exportable data objects
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 extraction method confirmation
We audit FACT ERP.NG across all active modules: Customers, Suppliers, Items, Sales Orders, Purchase Orders, GL Accounts, Journal Entries, Payroll, Fixed Assets, Inventory, and CRM. We confirm extraction method (direct database access or file-based export), identify the payroll-to-GL dependency chain, extract every non-default configuration parameter, and map the Chart of Accounts structure. The discovery output is a written migration scope with record counts per object, extraction method, and a Dolibarr module activation checklist for the destination instance.
Destination schema setup and module activation
We activate the required Dolibarr modules on the destination instance: Third Party, Product, Stock, BOM/MRP, Project/Opportunity, HR/Employee, Accounting, and any third-party accounting extensions for multi-currency if needed. We configure decimal precision limits, payment term defaults, and numbering sequences before any data loads. We create the Chart of Accounts in Dolibarr matching the FACT account code structure, map opening balances to accounts flagged with non-zero FACT balances, and deploy a sandbox validation run to confirm the accounting module accepts journal entry inserts before financial data migration begins.
Configuration parameter replay
Every non-default FACT ERP.NG configuration parameter is extracted during discovery and mapped to an equivalent Dolibarr module parameter page or extra field. This includes tax rates, pricing tier matrices, approval workflow settings, inventory reorder levels, and payroll deduction rates (EPF/CPF). We generate a configuration-replay script as part of the migration package. Parameters with no Dolibarr equivalent are documented in a Configuration Gap Report for the customer's admin to address with a third-party add-on or manual configuration post-migration.
Master data migration in dependency order
We load master data in strict dependency order: GL Accounts first (required for journal validation), then Third Parties (Customers and Suppliers), then Products and Stock, then Fixed Assets. Each phase emits a row-count reconciliation report. We resolve inter-object references (e.g., supplier code on Purchase Orders, product ID on Sales Order lines) before each phase begins. Payroll loads as the penultimate master phase with journal entry extraction triggered at this point to capture the payroll-to-GL postings as a linked batch.
Transactional data and journal entry migration
After master data is confirmed in Dolibarr, we load transactional data: open and closed Sales Orders, Purchase Orders, and CRM opportunities. Journal entries are loaded last using the payroll-first sequencing rule. FACT payroll journal batches are loaded before any AR/AP journal entries to satisfy the mandatory sequencing dependency. All journal entry loads trigger Dolibarr accounting validation; any rejected entries (missing account reference, balance mismatch) are logged to an exception queue and resolved before cutover.
Cutover, validation, and rebuild handoff
We freeze FACT ERP.NG writes during the cutover window, run a final delta migration of any records modified during the migration, then enable Dolibarr as the system of record. We deliver a Dashboard and Workflow Inventory Document listing every FACT CXO Control Tower KPI and workflow that requires manual rebuild in Dolibarr or a third-party BI tool. We do not rebuild automations or e-invoicing compliance records inside the migration scope; that work is handled by the customer's admin team with the rebuild guide we provide.
Platform deep dives
FACT ERP.NG
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between FACT ERP.NG and Dolibarr ERP.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across FACT ERP.NG and Dolibarr ERP.
Object compatibility
All 8 core objects map 1:1 between FACT ERP.NG 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
FACT ERP.NG: Not publicly documented.
Data volume sensitivity
FACT ERP.NG 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 FACT ERP.NG to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your FACT ERP.NG 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 FACT ERP.NG
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.