ERP migration
Field-level mapping, validation, and rollback between Finesse ERP and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
Finesse ERP
Source
Dolibarr ERP
Destination
Compatibility
9 of 12
objects map 1:1 between Finesse ERP and Dolibarr ERP.
Complexity
BStandard
Timeline
8-12 weeks
Overview
Moving from Finesse ERP to Dolibarr is a manufacturing-to-SME ERP migration that requires careful sequencing because Finesse does not publish API endpoints or documented rate limits, meaning discovery depends on database-level exports coordinated through ESS technical staff. Dolibarr's modular architecture covers CRM, invoicing, procurement, stock, and project management but its manufacturing module is basic compared to Finesse's multi-mode ETO/MTO/ATO depth. We extract job costing headers and line-level cost entries from Finesse, map BOMs to Dolibarr's product-and-BOM module (restructuring multi-level Finesse BOMs into Dolibarr's single-level format), and preserve work order priority and quantity data in Dolibarr's production order fields. Finesse's tightly coupled schema across Customers, Vendors, Chart of Accounts, Items, Projects, and Jobs demands phased migration with dimensional master data loaded before transactional layers. Workflows, automations, and report definitions do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Dolibarr's configuration layer.
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 Finesse 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.
Finesse ERP
Customer
Dolibarr ERP
Third-Party Contact (type: Customer)
1:1Finesse Customer records with address, contact, payment terms, credit limits, and tax IDs map directly to Dolibarr Third-Party contacts of type 'Customer'. The s.RowID becomes the Dolibarr ref (external id for dedupe), and the Finesse customer name becomes t.nom. We preserve payment terms in the dedicated duree_reglement field and credit limits as a custom field since Dolibarr's default installation does not enforce customer credit limits.
Finesse ERP
Vendor
Dolibarr ERP
Third-Party Contact (type: Supplier)
1:1Finesse Vendor master data (bank details, W-9 information, payment terms, ship-from locations) maps to Dolibarr Third-Party contacts of type 'Supplier'. Multi-address Finesse vendor records with separate ship-from locations are promoted into Dolibarr's addresses table with the 'shipfrom' address type. We preserve the Finesse vendor reference as Dolibarr's ref_supplier field.
Finesse ERP
Chart of Accounts
Dolibarr ERP
Accounting Account
1:1Finesse GL account structure (account number, name, type, description, intercompany flags, active/inactive status) maps to Dolibarr's accounting_account table. Account types map from Finesse's account classification to Dolibarr's pcg_type (product, view, reconciliation). We preserve active/inactive status explicitly to prevent inactive Finesse accounts from appearing in Dolibarr's account selector dropdowns. Finesse multi-segment account structures map to Dolibarr's pcg_version with the first segment preserved as account number.
Finesse ERP
Item / Product
Dolibarr ERP
Product + BOM + Stock
1:manyFinesse Items map to Dolibarr Products (product table with type=0 for goods). The Finesse item type (raw material, finished good, sub-assembly) becomes Dolibarr's fk_product_type. BOMs in Finesse map to Dolibarr's bom table (one BOM per finished item), restructuring multi-level Finesse BOMs into Dolibarr's flat single-level format: if Finesse has a three-level BOM, we create multiple Dolibarr BOM records and note the sub-assembly linkage for manual assembly order planning. Routings and work center data have no native Dolibarr equivalent; we preserve routing steps as a custom field (fk_ouv倒在gating in Dolibarr's production module if activated) and flag this as requiring partner configuration during user acceptance testing.
Finesse ERP
Project
Dolibarr ERP
Project
1:1Finesse Projects (headers with status, cost variance, milestones) map to Dolibarr Project records. The Finesse project_status and cost_variance fields migrate to Dolibarr proj.description (as structured text) and custom fields (pct_variance__c). Project start and end dates map to proj.date_start and proj.date_end. We extract project-level milestone descriptions and map them to Dolibarr ProjectTask records with zero assigned hours to preserve the schedule structure. Note that Dolibarr's native project cost tracking is basic; customers needing ETO-style cost variance reporting should activate the project cost extension or use a custom field reporting approach.
Finesse ERP
Job / Work Order
Dolibarr ERP
Production Order
lossyFinesse Jobs (the manufacturing execution unit with start date, quantity, priority, and cost tracking) map to Dolibarr Production Order records (fk_product = finished item, qty = job quantity, fk_bom = linked BOM). Job priority and planned start date migrate to the production order's planned_start_date and priority custom fields. Line-level cost entries from Finesse (labor and material postings) aggregate into Dolibarr project task cost custom fields or note fields on the linked project, since Dolibarr production orders do not carry native cost breakdown at the line level. Customers with complex job cost variance reporting needs should plan for custom reporting or a BI extension.
Finesse ERP
Open AP / Accounts Payable
Dolibarr ERP
Supplier Invoice
1:1Open Finesse AP invoices and credit memos migrate to Dolibarr facture_fourn (supplier invoice) records. We export open AP as line-item detail rather than summary balances to preserve aging accuracy in Dolibarr. Vendor references map to the supplier contact (t.rowid), payment terms to duree_reglement, and invoice due dates to date_lim_reglement. Any Finesse AP records with nested approval hold flags are flagged for manual review before destination activation. Finesse cost-distributed invoices (with cost center or WIP postings) require discussion during scoping: Dolibarr's supplier invoice lines do not natively support cost center splits without extension modules.
Finesse ERP
Open AR / Accounts Receivable
Dolibarr ERP
Customer Invoice
1:1Open Finesse AR invoices, unapplied payments, and credit memos migrate to Dolibarr facture (customer invoice) records with full aging detail. We preserve the Finesse AR aging buckets as custom fields on the invoice for reconciliation. Any AR records with nested dispute or credit hold flags migrate as Dolibarr invoice status=demande_paiement (payment requested) with the hold flag preserved in a custom field and a note for the customer's billing admin to review. The customer contact reference (socid) resolves to the Dolibarr Third-Party contact created from the Finesse Customer mapping.
Finesse ERP
Inventory Balances
Dolibarr ERP
Stock
1:1Finesse on-hand quantities by location and lot number migrate to Dolibarr stock_mouvement (stock movement) and warehouse inventory records. We extract the Finesse inventory valuation snapshot and create corresponding stock_reel entries per warehouse. Lot and serial number traceability migrates where Finesse tracks lot numbers, mapping to Dolibarr's lotindre object. We flag any negative quantities or quantities below Finesse safety stock levels as a pre-migration reconciliation item. Finesse's multi-warehouse locations map to Dolibarr's entrepot records.
Finesse ERP
Custom Fields
Dolibarr ERP
ExtraFields (extrafields)
lossyFinesse user-defined fields on master and transaction records export with both their definition and values. We map Finesse field definitions to Dolibarr's extrafields database table (INSERT INTO llx_extrafields), creating each custom field with its type (varchar, int, datetime, text, select, etc.) before importing values into the corresponding llx_<object>_extrafields table. Custom field values for Customers, Vendors, Products, Projects, and Invoices are then loaded as part of the main data migration phase.
Finesse ERP
Documents / Attachments
Dolibarr ERP
ECM (Electronic Content Management)
1:1Documents stored in Finesse (drawings, specs, photos, PDF documents) are exported via file system copy or direct database BLOB export depending on the Finesse storage backend. We copy files to the Dolibarr document directory structure, creating ECM folders that mirror the Finesse document categories (e.g., /customer/, /project/, /item/). Each document record is created in llx_ecm_files with the entity, module, and ref linking to the parent Dolibarr record. Files older than the customer's retention window are flagged for manual review before migration. The migration admin configures Dolibarr's ECM module activation during the destination setup phase.
Finesse ERP
User / Employee
Dolibarr ERP
User
1:1Finesse user records (login, roles, department assignments, security permissions) map to Dolibarr llx_user records. Login, first name, last name, email, and active status migrate directly. Finesse role names map to Dolibarr's rights structure via the llx_rights_def table, though role names differ: Finesse role-based permissions require manual mapping to Dolibarr's permission system (read/write/delete on per-module rights). Department assignments map as custom fields on User or as a separate Dolibarr department structure if the HR module is activated. Inactive Finesse users are exported with status=0 in Dolibarr for audit trail purposes.
| Finesse ERP | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Customer | Third-Party Contact (type: Customer)1:1 | Fully supported | |
| Vendor | Third-Party Contact (type: Supplier)1:1 | Fully supported | |
| Chart of Accounts | Accounting Account1:1 | Fully supported | |
| Item / Product | Product + BOM + Stock1:many | Fully supported | |
| Project | Project1:1 | Fully supported | |
| Job / Work Order | Production Orderlossy | Fully supported | |
| Open AP / Accounts Payable | Supplier Invoice1:1 | Mapping required | |
| Open AR / Accounts Receivable | Customer Invoice1:1 | Mapping required | |
| Inventory Balances | Stock1:1 | Mapping required | |
| Custom Fields | ExtraFields (extrafields)lossy | Mapping required | |
| Documents / Attachments | ECM (Electronic Content Management)1:1 | Mapping required | |
| User / Employee | User1: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.
Finesse ERP gotchas
Finesse lacks published API documentation
Complex table dependencies require phased migration
ERP migration timelines routinely exceed initial estimates
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 ESS schema coordination
We coordinate with ESS to obtain a Finesse database export and schema documentation in a test environment. This requires a 2-4 week coordination window with ESS technical staff to provision read-only database access and extract the full relational schema (tables, columns, foreign keys, indexes). We simultaneously audit Finesse's data volumes: customer count, vendor count, item count with BOM depth, project count, job count, open AP/AR invoice line counts, inventory warehouse count, and document attachment volume. The discovery output is a written migration scope, schema map, and ESS export plan. We do not begin transformation design until the schema map is confirmed against the actual source database.
Destination schema design and Dolibarr module activation
We design the Dolibarr destination schema based on the Finesse schema map. This includes activating Dolibarr modules (Third-Party/Contact, Product, BOM/Stock, Project, Facture/Sustomer and Supplier, Production, ECM, HR/Users, Accounting) and defining custom fields (extrafields) for manufacturing-specific data that has no native Dolibarr field (job cost variance, routing data, lot traceability, project cost breakdown). We design the BOM restructuring plan: for each multi-level Finesse BOM, we produce a mapping document specifying which Dolibarr BOM record holds each component and which are sub-assemblies requiring separate BOM records. The destination schema is validated in a Dolibarr sandbox before any data migration begins.
Sandbox migration and reconciliation
We run a full migration into a Dolibarr sandbox using production-like data volumes. The customer's operations lead and finance lead reconcile record counts across all migrated objects, spot-check 25-50 records per object against the Finesse source, and validate BOM structure accuracy on a sample of 5-10 multi-level BOMs. Any field mapping corrections, custom field type adjustments, or BOM restructuring decisions happen in the sandbox phase. We also validate Dolibarr's ECM document storage path and confirm that document filenames and parent-record references resolve correctly. Sign-off on the sandbox migration gates production migration.
Phased production migration in dependency order
We run production migration in strict dependency order. Phase 1: dimensional master data (Chart of Accounts, Third-Party contacts for Customers and Vendors). Phase 2: Items with BOM definitions (products created before BOMs are linked). Phase 3: Projects and Project Tasks (project headers before task detail). Phase 4: Inventory stock balances by warehouse and lot. Phase 5: Open AP and AR invoices with line items and payment terms. Phase 6: Jobs mapped to Production Orders. Phase 7: Custom field values per object. Phase 8: Document attachments via ECM. Each phase emits a row-count reconciliation report and a field-level sample validation before the next phase begins. We flag any records rejected due to Dolibarr validation rules and resolve them before proceeding.
Cutover, delta migration, and workflow handoff
We freeze Finesse write access during the cutover window (typically a Friday evening to Saturday morning), run a final delta migration of any records modified during the migration window, then enable Dolibarr as the system of record. We deliver the written workflow and automation inventory document to the customer's admin team, along with the BOM restructuring reference sheet and a custom field glossary mapping each Finesse custom field to its Dolibarr extrafield equivalent. We support a one-week hypercare window where we resolve any record reconciliation issues raised by the manufacturing or finance team. We do not rebuild Finesse workflows or report definitions in Dolibarr as part of the migration scope.
Post-migration review and Dolibarr extension planning
We conduct a post-migration review session with the customer's team covering BOM accuracy on the first 5-10 production orders, job cost variance visibility in the new Dolibarr project reports, and AR/AP aging match against Finesse's pre-migration aging snapshot. Any discrepancies are documented with the specific record IDs and root cause (source data error, mapping error, or Dolibarr field constraint). We provide a Dolibarr extension recommendation document covering the Dolistore modules and partner resources available for any manufacturing gaps identified (advanced job costing, routing, work center capacity) so the customer can plan the next configuration phase independently.
Platform deep dives
Finesse ERP
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between Finesse ERP and Dolibarr ERP.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Finesse ERP and Dolibarr ERP.
Object compatibility
All 8 core objects map 1:1 between Finesse 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
Finesse ERP: Not publicly documented..
Data volume sensitivity
Finesse 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 Finesse ERP to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your Finesse 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 Finesse 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.