ERP migration

Migrate from FACT ERP.NG to Dolibarr ERP

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 logo

FACT ERP.NG

Source

Dolibarr ERP

Destination

Dolibarr ERP logo

Compatibility

67%

8 of 12

objects map 1:1 between FACT ERP.NG and Dolibarr ERP.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

FACT ERP.NG logo

FACT ERP.NG

What's pushing teams away

  • Slow report rendering and processing delays—users report waiting extended periods for what should be quick queries, especially on larger datasets with full period ranges.
  • Limited depth in certain functional areas—some users supplement FACT ERP.NG with separate software for tasks like advanced HR analytics or niche manufacturing scheduling that the built-in modules do not fully cover.
  • Learning curve for new users despite ease-of-use claims—while the interface is familiar to power users, employees unfamiliar with integrated ERP workflows require structured training before becoming productive.
  • Customisation constraints frustrate niche industry requirements—the Configuration Only model means businesses with highly specific workflows sometimes cannot adapt the system without workaround processes.

Choosing

Dolibarr ERP logo

Dolibarr ERP

What's pulling them in

  • Free open-source core with no per-user license fee makes it the lowest-cost entry point for small teams needing ERP and CRM in one package.
  • Self-hosted deployment gives full data ownership and eliminates vendor lock-in, especially attractive to businesses with compliance requirements.
  • Modular architecture means teams enable only the features they use, keeping the interface uncluttered and reducing learning curve.
  • Fast installation with no technical knowledge required — one reviewer set up multiple businesses in minutes using their own hosting.
  • Active community forum and marketplace of third-party add-ons provide support and extension options without mandatory subscription costs.

Object mapping

How FACT ERP.NG objects map to Dolibarr ERP

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

maps to

Dolibarr ERP

Third Party (type: Customer)

1:1
Fully supported

FACT 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

maps to

Dolibarr ERP

Third Party (type: Supplier)

1:1
Fully supported

FACT 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

maps to

Dolibarr ERP

Product

1:1
Fully supported

FACT 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

maps to

Dolibarr ERP

Order

1:1
Fully supported

FACT 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

maps to

Dolibarr ERP

Supplier Order

1:1
Fully supported

FACT 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

maps to

Dolibarr ERP

Account (Accounting Module)

lossy
Fully supported

FACT 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

maps to

Dolibarr ERP

Accounting Entry

1:many
Fully supported

FACT 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

maps to

Dolibarr ERP

User / Employee

1:1
Fully supported

FACT 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

maps to

Dolibarr ERP

Asset

1:1
Fully supported

FACT 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

maps to

Dolibarr ERP

Stock

1:1
Fully supported

FACT 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

maps to

Dolibarr ERP

Third Party + Contact + Lead

1:many
Fully supported

FACT 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

maps to

Dolibarr ERP

Module Parameters / Extra Fields

lossy
Fully supported

FACT 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.

Gotchas + challenges

What specifically takes care here

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 logo

FACT ERP.NG gotchas

High

Configuration parameters must be mapped as first-class migration objects

High

Payroll journal entries create a mandatory sequencing dependency with the GL

Medium

Slow report rendering can extend migration validation cycles

Medium

No publicly documented API for direct programmatic extraction

Low

Dashboard configurations are not exportable data objects

Dolibarr ERP logo

Dolibarr ERP gotchas

High

Foreign key constraint errors on cross-distribution database restore

High

SQL injection vulnerabilities in version 9.0.1

Medium

Custom fields stored as JSON in extraoptions require field-by-field deserialization

Medium

Decimal precision and rounding configuration affects price fields

Low

No native iOS/Android app forces reliance on browser

Pair-specific challenges

  • Dolibarr's accounting module must be explicitly enabled

    Dolibarr's accounting (Bookkeeping) module is an optional extension that is not active by default. FACT ERP.NG's full GL, journal entries, AR, AP, and payroll postings all require Dolibarr's accounting module to be enabled and configured before any financial data can be loaded. If the module is not activated on the destination instance, all journal entries and account balances will fail to insert and raise DB constraint errors. We confirm module activation during the destination setup step before any financial migration phase begins.

  • Payroll journal entries create a mandatory sequencing dependency with the GL

    FACT ERP.NG posts payroll transactions directly to the General Ledger as journal entries, tightly coupling the Payroll and Financials modules. We must extract Payroll data first, extract the resulting GL postings as linked journal batches, and then load the Financials module in a second pass. Loading GL before Payroll creates duplicate postings or orphaned debit/credit pairs that fail Dolibarr's accounting validation. We enforce this sequencing dependency as the first and second migration phases across all project timelines.

  • No FACT ERP.NG public API means extraction method is confirmed at discovery

    FACT ERP.NG does not publish a public REST or GraphQL API with documented endpoints, authentication flows, or rate limits. We cannot guarantee API-based migration for all customers. We rely on direct database extraction where the customer provides database credentials, and on FACT's built-in export utilities (Excel, CSV) for file-based extraction. Extraction method (direct-DB versus file-based) is confirmed during the discovery phase, and migration timelines are adjusted accordingly—direct-DB extractions are typically faster but require secure credentialing and a read-only database user.

  • Dolibarr precision limits may truncate decimal values from FACT pricing

    Dolibarr's Setup > Limits and accuracy page controls maximum decimal places for unit prices (default: 5) and total prices (default: 2). FACT ERP.NG pricing tiers with higher precision may exceed Dolibarr's default limits, causing silent truncation on unit price inserts. We audit the FACT source precision during discovery, update Dolibarr's decimal limit parameters before any pricing data loads, and flag any price rows that exceed the new limit as exceptions for customer review.

  • Dolibarr basic accounting lacks multi-currency and inter-company consolidation

    Dolibarr's native accounting module handles single-currency bookkeeping, basic bank reconciliation, and VAT declarations. Multi-currency transactions and inter-company consolidation require third-party modules or external reconciliation. FACT ERP.NG supports multi-currency natively. Companies with active multi-currency trading on FACT ERP.NG will need a Dolibarr third-party accounting add-on (e.g., a currency module from Dolistore) or manual FX reconciliation post-migration. We flag this as a destination gap and provide an add-on recommendation during scoping.

Migration approach

Six steps for a successful FACT ERP.NG to Dolibarr ERP data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

FACT ERP.NG logo

FACT ERP.NG

Source

Strengths

  • Configuration-only deployment with 29-day go-live and no coding required
  • 600+ updates per year included in annual subscription with zero downtime
  • Integrated e-invoicing for Malaysian (LHDN) and Singapore (InvoiceNow) compliance
  • Real-time data sharing across financials, CRM, inventory, manufacturing, and payroll
  • Fast CXO Control Tower dashboard reporting across the full data model

Weaknesses

  • Processing speed degrades on large datasets or full period-range reports
  • Configuration-only model limits adaptation for niche industry workflows
  • Limited depth in certain modules may require third-party supplementation
  • Dashboard exports and API capabilities are not publicly documented for migration tooling
  • No public pricing—quotes are custom per company size and turnover
Dolibarr ERP logo

Dolibarr ERP

Destination

Strengths

  • Free core software with AGPL license and no per-user mandatory fee for self-hosted deployments.
  • Modular architecture lets teams activate only needed features, keeping the interface focused and the database lean.
  • Self-hosted option provides full data sovereignty and avoids recurring SaaS subscription costs.
  • Built-in CSV/Excel import and export wizard with saved profiles simplifies recurring data operations.
  • Low-code Module Builder allows functional extensions without writing PHP code.

Weaknesses

  • No native documented REST API for programmatic bulk operations — all migrations depend on the import/export wizard or direct database access.
  • Reporting and analytics are weak without paid add-ons, and built-in charts are limited compared to modern SaaS platforms.
  • UI design is described as dated by multiple reviewers, with infrequent visual updates to the default theme.
  • Community-only support for self-hosted deployments means no SLA or guaranteed response time for issues.
  • Security vulnerabilities (CVE-2024-5314, CVE-2024-5315) in version 9.0.1 with no immediate patch reported.

Complexity grading

How hard is this migration?

Standard ERP migration. All 8 core objects map 1:1 between FACT ERP.NG and Dolibarr ERP.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across FACT ERP.NG and Dolibarr ERP.

  • Object compatibility

    A

    All 8 core objects map 1:1 between FACT ERP.NG and Dolibarr ERP.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    FACT ERP.NG: Not publicly documented.

  • Data volume sensitivity

    B

    FACT ERP.NG doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your FACT ERP.NG to Dolibarr ERP migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about FACT ERP.NG to Dolibarr ERP data migrations

Answers to the questions buyers ask most during FACT ERP.NG to Dolibarr ERP migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Most migrations land between three and five weeks for accounts covering Customers, Suppliers, Items, Sales Orders, and basic GL with no active Payroll or Fixed Assets. Migrations with active Payroll (requiring journal sequencing before GL), multi-warehouse inventory with serial/batch tracking, Fixed Assets with depreciation schedules, or configuration parameter replay move to eight to fourteen weeks because of sequencing dependencies and the configuration gap analysis scope.

Adjacent paths

Related migrations to explore

Ready when you are

Move from FACT ERP.NG.
Land in Dolibarr ERP, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day