ERP migration
Field-level mapping, validation, and rollback between Focus ERP and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
Focus ERP
Source
Dolibarr ERP
Destination
Compatibility
12 of 14
objects map 1:1 between Focus ERP and Dolibarr ERP.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Focus ERP to Dolibarr is a migration from a commercial mid-market ERP to a community-maintained open-source ERP and CRM. The migration is scoped primarily around financial master data, inventory, and procurement records. Focus ERP's multi-company cost-center model requires careful decomposition: allocation ratios that are native in Focus ERP become custom numeric fields in Dolibarr, and inter-company journal entries require reconciliation before they can land in Dolibarr's simpler account structure. We extract outstanding AP/AR with full payment histories and flag partial payments, credit memos, and misaligned invoice dates for manual resolution before the load. Historical journal entries, if required, are sequenced in dependency order so that account balances are established before transaction lines post. Dolibarr's strict date format enforcement means every extracted timestamp is validated against the regex ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ before staging. We do not migrate Focus ERP automations, custom report templates, or HRM records as those modules have no native Dolibarr equivalent; we deliver a written inventory of these for the customer's admin to address post-migration.
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 Focus ERP 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.
Focus ERP
Chart of Accounts
Dolibarr ERP
Account (Accounting module)
1:1Focus ERP account codes and descriptions, including parent-child hierarchies and segment columns, map directly to Dolibarr's Account object. We preserve account codes exactly and map Focus ERP account types (asset, liability, equity, revenue, expense) to Dolibarr's account categories. Multi-segment account codes are flattened or split into the appropriate number of sub-account fields based on the customer's chart design.
Focus ERP
Customer Master
Dolibarr ERP
Third Party (Customer)
1:1Focus ERP customer records with billing addresses, payment terms, and tax registration numbers map to Dolibarr Third Party (type Customer). We deduplicate on name-and-address composite keys where multi-company instances create duplicate customers. Payment term codes are mapped from Focus ERP's terms table to Dolibarr's payment condition labels.
Focus ERP
Vendor Master
Dolibarr ERP
Third Party (Supplier)
1:1Focus ERP vendor master records map to Dolibarr Third Party (type Supplier) with the same deduplication logic as customers. Supplier-specific fields such as supplier catalog reference and default lead times are preserved as extrafields on the Dolibarr Third Party object.
Focus ERP
Open AP (Accounts Payable)
Dolibarr ERP
Supplier Invoice (facture fournisseur)
1:1Outstanding payable records carry invoice numbers, due dates, and outstanding amounts. We extract open items with full payment history and flag partial payments and credit memos requiring split-line treatment. Each open AP item maps to a Dolibarr Supplier Invoice (status unpaid or partially paid), and the customer confirms the intended resolution for any split lines before we commit the load.
Focus ERP
Open AR (Accounts Receivable)
Dolibarr ERP
Customer Invoice (facture client)
1:1Outstanding receivable records carry invoice numbers, due dates, and outstanding balances. We apply the same extraction logic as AP: full payment history captured, partial payments flagged, and credit memos requiring explicit customer confirmation before load. Invoices are linked to the corresponding Third Party (Customer) already migrated in the previous phase.
Focus ERP
Inventory Items
Dolibarr ERP
Product (stock module)
1:1Item masters with SKUs, descriptions, cost prices, selling prices, and stock levels export directly to Dolibarr Product records with the Stock module enabled. Where Focus ERP min/max replenishment rules were configured, we preserve those as extrafields in Dolibarr since native reorder management is simpler. Barcode and lot tracking fields map to Dolibarr's product lot and serial number tables if those modules are activated.
Focus ERP
Purchase Orders
Dolibarr ERP
Supplier Order (commande fournisseur)
1:1Open purchase orders map to Dolibarr Supplier Orders. Line-item tax codes and discount percentages from Focus ERP require explicit value-mapping because tax rate configurations differ by country setup in both systems. We stage the mapping table before the first load batch and present it for customer review.
Focus ERP
Sales Orders
Dolibarr ERP
Customer Order (commande client)
1:1Open and historical sales orders map to Dolibarr Customer Orders with the same tax and discount value-mapping step as purchase orders. Order status in Focus ERP (confirmed, in-progress, closed) maps to Dolibarr order statuses (Draft, Validated, On Hold, Closed) via a status translation table.
Focus ERP
Work Orders / Job Records
Dolibarr ERP
Project + Task (project module)
1:manyFocus ERP field-service and job-tracking records carry custom status workflows, technician assignments, and job-percentage progress fields. Each Focus ERP work order maps to a Dolibarr Project with Tasks representing sub-jobs or line items. Status values are translated via the mapping table, and technician assignments map to Dolibarr Project contact assignments. The customer chooses which active work orders are migrated versus re-created post-migration based on their job lifecycle stage.
Focus ERP
Fixed Assets
Dolibarr ERP
Asset (accountancy module)
1:1Asset registers include acquisition dates, depreciation methods, and book values. Depreciation schedules require recalculation in Dolibarr based on its fiscal year settings, so we extract the asset register with the original depreciation method and book value at migration date and allow Dolibarr to recalculate from the migration date forward. This avoids carrying legacy depreciation schedules across platforms with different calculation engines.
Focus ERP
Users and Roles
Dolibarr ERP
User + Permission Profile
1:1Focus ERP user accounts export from the user table with their role assignments. Role naming conventions differ between Focus ERP versions and Dolibarr's permission model, so we map role names to equivalent Dolibarr permission groups rather than attempting a 1:1 role name match. Users are provisioned in Dolibarr with their permissions set to match the functional access level of the original Focus ERP role.
Focus ERP
Custom Fields and Data Forms
Dolibarr ERP
Extrafields
1:1Custom fields added via Focus ERP's form builder are stored in extended tables. We extract these as key-value pairs and attach them as Dolibarr extrafields on the corresponding object. Fields that use non-standard data types (e.g., custom picklist values, cross-referenced fields) are reviewed individually and mapped to the closest Dolibarr equivalent type (varchar, int, select, or link) before the load.
Focus ERP
Multi-Company Cost Centers
Dolibarr ERP
Third Party + Extrafield
lossyFocus ERP's multi-company structure with allocation ratios is a proprietary feature with no direct Dolibarr equivalent. We decompose the multi-company structure into separate Dolibarr Third Party records (one per cost center) and attach allocation ratios as numeric extrafields. The customer determines whether to rebuild automated allocation rules post-migration using Dolibarr's accounting configuration or a third-party module from the Dolistore.
Focus ERP
Historical Journal Entries
Dolibarr ERP
Accounting Entries (accountancy module)
1:1Transaction histories and journal entries are extracted in dependency order: account codes are established first, then transaction lines post in chronological sequence. Each journal entry line maps to a Dolibarr AccountingRecord linked to the corresponding account. We flag any entries that reference a non-migrated account code for manual resolution before committing that batch.
| Focus ERP | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Chart of Accounts | Account (Accounting module)1:1 | Fully supported | |
| Customer Master | Third Party (Customer)1:1 | Fully supported | |
| Vendor Master | Third Party (Supplier)1:1 | Fully supported | |
| Open AP (Accounts Payable) | Supplier Invoice (facture fournisseur)1:1 | Fully supported | |
| Open AR (Accounts Receivable) | Customer Invoice (facture client)1:1 | Fully supported | |
| Inventory Items | Product (stock module)1:1 | Fully supported | |
| Purchase Orders | Supplier Order (commande fournisseur)1:1 | Fully supported | |
| Sales Orders | Customer Order (commande client)1:1 | Fully supported | |
| Work Orders / Job Records | Project + Task (project module)1:many | Fully supported | |
| Fixed Assets | Asset (accountancy module)1:1 | Mapping required | |
| Users and Roles | User + Permission Profile1:1 | Mapping required | |
| Custom Fields and Data Forms | Extrafields1:1 | Mapping required | |
| Multi-Company Cost Centers | Third Party + Extrafieldlossy | Fully supported | |
| Historical Journal Entries | Accounting Entries (accountancy module)1: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.
Focus ERP gotchas
Non-standard ASCII characters cause silent field truncation on export
Multi-company allocation ratios must be preserved as custom fields
Open AP/AR requires manual reconciliation before export
User role names are not portable across platforms
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
Source audit and scope definition
We audit the Focus ERP instance across all active modules: Chart of Accounts structure, customer and vendor counts, open AP/AR item counts with payment history, inventory item count with stock levels, open purchase and sales order counts, active work order count, fixed asset register size, user count with role assignments, and any custom fields in use via the form builder. We also identify multi-company instances and any inter-company journal entries. The output is a written migration scope with object-level row counts and a Dolibarr module activation checklist for the customer to confirm before we begin extraction.
Dolibarr instance provisioning and module activation
We guide the customer through provisioning a Dolibarr instance (self-hosted or DoliCloud) and activating only the modules required by the migration scope: third-party, product, stock, customer order, supplier order, invoice, accountancy, project, and hr. We pre-create any extrafields required for custom data from Focus ERP before data import begins, so that every record can write to its target schema on the first attempt. The customer configures chart of accounts structure in Dolibarr before we begin account-level data loads.
Character sanitization and date normalization
Before any extraction batch runs, we run a pre-processing scan on the Focus ERP export to identify and replace non-standard ASCII characters in all string fields. We normalize all date fields to YYYY-MM-DD format and validate against Dolibarr's import regex. This step prevents the two most common silent failure points in ERP-to-Dolibarr migrations and is performed on every batch before staging.
Multi-company decomposition and AP/AR reconciliation
We decompose Focus ERP's multi-company cost-center structure into separate Dolibarr Third Party records with allocation ratios attached as extrafields. We extract all open AP and AR items with full payment history and present the flagged reconciliation list to the customer for resolution before loading. Each confirmed resolution is encoded in the mapping table before the invoice batch loads. This step is a prerequisite for any financial record import.
Data migration in dependency order
We run data migration in strict dependency order: chart of accounts first (so account codes exist for journal lines), then third parties (customers and vendors), then products and stock levels, then fixed assets, then open purchase orders, open sales orders, open supplier invoices, open customer invoices, work orders as projects and tasks, user accounts with permission mapping, and finally extrafields. Each phase emits a row-count reconciliation report before the next phase begins. Historical journal entries, if in scope, run last after account and invoice balances are confirmed.
Cutover, validation, and post-migration handoff
We freeze Focus ERP writes during the cutover window, 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 Focus ERP modules with no Dolibarr equivalent (automations, custom report templates, HR records) and a Dolistore module recommendation list for the customer's admin to address. We support a one-week hypercare window for reconciliation issues raised by the customer's team.
Platform deep dives
Focus ERP
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between Focus ERP and Dolibarr ERP.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Focus ERP and Dolibarr ERP.
Object compatibility
All 8 core objects map 1:1 between Focus ERP 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
Focus ERP: Not publicly documented as a hard ceiling..
Data volume sensitivity
Focus ERP 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 Focus ERP to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your Focus ERP 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 Focus ERP
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.