ERP migration
Field-level mapping, validation, and rollback between Infor M3 and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
Infor M3
Source
Dolibarr ERP
Destination
Compatibility
8 of 12
objects map 1:1 between Infor M3 and Dolibarr ERP.
Complexity
CModerate
Timeline
4-8 weeks
Overview
Moving from Infor M3 to Dolibarr is a structural consolidation as much as a data migration. Infor M3 is an enterprise ERP built for multi-site, multi-company manufacturing and distribution operations with deep BOM hierarchies, work order routing, and inter-plant distribution orders. Dolibarr is an open-source modular ERP/CRM designed for small to mid-market companies with a simpler chart-of-accounts structure and no native manufacturing execution module. We extract Items, Orders, Inventory, and Financial data from Infor M3 using chunked API calls that respect Infor OS's 25-second REST timeout, then map and transform records to fit Dolibarr's schema. Multi-level Bills of Material and Work Orders require flattening because Dolibarr lacks a routing-based manufacturing module; we deliver a written BOM inventory and work order summary for manual re-creation. Multi-company and multi-site configurations in M3 map to Dolibarr Projects and Categories for segmentation without requiring separate Dolibarr instances. Workflows, automations, and output management configurations in M3 do not migrate; we deliver a written inventory for the customer's admin to rebuild in Dolibarr's Workflow module.
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 Infor M3 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.
Infor M3
Item
Dolibarr ERP
Product / Service
1:1Infor M3 Items (the product/material master) map directly to Dolibarr Products. We export Item Number, Description, Type (Stocked/Non-stocked/Service), Unit of Measure, and any costing data. M3's costing model (Standard, Average, FIFO) is preserved in a Dolibarr custom field; the costing itself is not calculated in Dolibarr since Dolibarr does not compute weighted average or FIFO cost internally. If the M3 Item has multiple UOMs, we map the primary purchasing UOM and primary sales UOM as separate Dolibarr UOM entries. Discontinued Items in M3 map to Dolibarr Products with the archived status flag.
Infor M3
Customer Order
Dolibarr ERP
Order / Proposal (convert to Order)
1:1M3 Customer Orders map to Dolibarr Customer Orders. Header fields (order number, order date, customer reference) map directly. Order lines map to Dolibarr Order lines with Product reference, quantity, unit price, and discount. M3 order status (Pending, Released, Invoiced, Cancelled) maps to Dolibarr status values (Draft, Validated, Closed). Open orders migrate with status preserved so the customer's sales team can continue fulfillment in Dolibarr. Historical closed orders migrate with status set to Closed and are available for reporting.
Infor M3
Supplier Order
Dolibarr ERP
Supplier Proposal / Order
1:1M3 Supplier Orders (Purchase Orders) map to Dolibarr Supplier Proposals that are validated to create Supplier Orders. Supplier order number, date, and terms map directly. Line items map with supplier product reference, quantity, and cost. M3 approval status maps to Dolibarr Draft/Validated status. Open purchase orders with goods pending receipt migrate with lines open for receipt against the supplier order in Dolibarr.
Infor M3
Bill of Materials
Dolibarr ERP
Product (flat BOM only)
lossyM3 Bills of Material with multi-level structures, operations, resources, and by-products do not have a direct Dolibarr equivalent. Dolibarr Products support a flat BOM (list of components with quantities) but not routing-based manufacturing with work centers, operations, or labor time. We flatten multi-level M3 BOMs into single-level Dolibarr Product BOMs by recursively exploding the hierarchy. Any M3 BOM with operations or work order routing is flagged in the handoff document as requiring manual re-creation in Dolibarr's BOM module or an external MES. Configured and attribute-controlled products in M3 require a separate re-design session because Dolibarr does not support attribute-based configuration.
Infor M3
Work Order
Dolibarr ERP
Project
1:manyM3 Work Orders with status, operations, and time entries are split across Dolibarr. The Work Order header (number, item, quantity, start date, due date) migrates as a Dolibarr Project. Each Work Order operation that consumed time or materials generates a Project Task line in Dolibarr. The actual production output is not modeled in Dolibarr since there is no MES; the Project serves as a manufacturing summary record. Work Orders with a status of Released or In-Process that are not yet complete are flagged in the handoff for the customer's team to close or continue manually.
Infor M3
Inventory
Dolibarr ERP
Stock
1:1M3 Inventory quantities, warehouse locations, and bin assignments map to Dolibarr Stock (Warehouse > Stock). We export warehouse code, bin location, quantity on hand, and unit of measure per Item-Warehouse-Bin combination. M3's multi-warehouse configuration maps to separate Dolibarr warehouses. If M3 uses lot or serial number tracking, these migrate as Dolibarr Lot/Serial entries linked to the Stock movements. Current stock values are informational in Dolibarr since Dolibarr does not compute weighted average cost; the M3 costing data is preserved in custom fields for reference.
Infor M3
Financial Ledger
Dolibarr ERP
Account / Journal
1:1M3 General Ledger accounts map to Dolibarr Accounts (plan comptable). We export the account number, description, account type (Asset, Liability, Equity, Income, Expense), and company association for multi-company configurations. Open AR and AP balances migrate as Dolibarr third-party accounts with aged outstanding amounts. M3's inter-company journals require manual mapping because Dolibarr is single-company per instance; inter-company entries are reconciled and posted to a clearing account with a note in the handoff document. M3 cost center and department associations map to Dolibarr Projects or Categories for segmentation.
Infor M3
Chart of Accounts
Dolibarr ERP
Chart of Accounts
lossyM3's multi-company chart of accounts structure is extracted and mapped to a single Dolibarr chart of accounts. For multi-company M3 deployments, each company's account ranges are preserved as a named cost center or project prefix within the single Dolibarr chart. The customer reviews and approves the account mapping before we load. M3's financial dimensions (departments, cost centers, projects) map to Dolibarr Categories and Projects for reporting segmentation.
Infor M3
Fixed Assets
Dolibarr ERP
Asset
1:1M3 Fixed Asset records including asset classification, acquisition date, cost, accumulated depreciation, and depreciation method map to Dolibarr Assets. Open depreciation periods with remaining book value migrate with the current depreciation schedule. Depreciation history migrates as asset accounting entries. M3 assets fully depreciated or disposed of migrate with their final values as historical records.
Infor M3
Distribution Order
Dolibarr ERP
Stock Movement / Project
1:1M3 Distribution Orders managing inter-site or inter-company transfers map to Dolibarr Stock Movements with a Project reference for tracking. The origin warehouse, destination warehouse, item, and quantity transfer as a multi-warehouse movement in Dolibarr. Status (Pending, Shipped, Received) maps to movement status. Distribution orders that are part of a closed cycle migrate as completed movements; open transfers migrate with lines pending receipt.
Infor M3
Company / Business Partner
Dolibarr ERP
Third Party (Customer / Supplier)
1:1M3 Business Partners (Customers and Suppliers) map to Dolibarr Third Parties with type distinction (Customer, Supplier, or Both). M3's Address, Contact Person, Payment Terms, and Price List assignments map directly. M3's multi-company business partner assignments are preserved as Third Party Categories for reporting segmentation. Customer and Supplier accounts are separate Third Party records in Dolibarr rather than a unified partner record as in M3.
Infor M3
Custom Field
Dolibarr ERP
Extra Field
lossyM3 custom fields attached to Items, Orders, and other objects are extracted and mapped to Dolibarr Extra Fields (Extrafields). We preserve the field label, data type, and current values. Fields that are not exposed in the M3 API (display-only custom fields) are noted in the manifest for manual re-creation in Dolibarr. Dolibarr's Extra Field system supports text, integer, float, date, select, checkbox, and link-to-dictionary types, which cover most M3 custom field scenarios.
| Infor M3 | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Item | Product / Service1:1 | Fully supported | |
| Customer Order | Order / Proposal (convert to Order)1:1 | Fully supported | |
| Supplier Order | Supplier Proposal / Order1:1 | Fully supported | |
| Bill of Materials | Product (flat BOM only)lossy | Fully supported | |
| Work Order | Project1:many | Fully supported | |
| Inventory | Stock1:1 | Fully supported | |
| Financial Ledger | Account / Journal1:1 | Fully supported | |
| Chart of Accounts | Chart of Accountslossy | Mapping required | |
| Fixed Assets | Asset1:1 | Mapping required | |
| Distribution Order | Stock Movement / Project1:1 | Fully supported | |
| Company / Business Partner | Third Party (Customer / Supplier)1:1 | Fully supported | |
| Custom Field | Extra Fieldlossy | 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.
Infor M3 gotchas
REST API handler timeout of 25 seconds blocks large record migrations
API concurrency caps differ by tenant suffix — PRD vs non-PROD
Dataset export captures only main message data — related records require separate calls
Custom fields behave inconsistently across M3 modules
Minimum 20-user licensing requirement inflates migration scope
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 M3 tenant scoping
We audit the source Infor M3 environment across company codes, site assignments, active modules, custom field definitions, and API credential scope. We identify the M3 tenant type (PRD or non-PROD suffix) to determine API concurrency caps. We extract a record-count summary for Items, Orders, Inventory, BOMs, Work Orders, Financial accounts, and Fixed Assets. We also assess BOM complexity (number of levels, presence of operations and work centers) to scope the flattening effort. The discovery output is a written migration scope with object prioritization, a preliminary object mapping document, and a BOM complexity rating (Simple/Complex/Manufacturing-Grade).
Dolibarr environment provisioning and schema pre-creation
We provision the target Dolibarr instance — either self-hosted on the customer's infrastructure or on a VPS we configure. We pre-create the chart of accounts, warehouses, product categories, and third-party categories before any data loads. We enable the Dolibarr ERP API module and confirm API access with a test call. For multi-company M3 migrations, we confirm the consolidation strategy (separate instances or single instance with Categories) with the customer's admin. We run the pre-flight checklist covering PHP version, file permissions, session configuration, and numerotation settings.
BOM flattening and dependency sequencing
We extract M3 BOMs in dependency order — top-level assemblies first, then sub-assemblies, then components — using the M3 API with pagination. We recursively explode each BOM to flatten multi-level structures into single-level Dolibarr Product BOM entries. Any BOM containing operations, work centers, or by-products is flagged in the BOM inventory document. We also extract Costing Models and Costing Elements and attach them as Dolibarr custom fields on the Product record. The BOM flattening runs as a separate phase before item import to ensure component Items exist before parent-product BOMs reference them.
API extraction with pagination and checkpointing
We extract M3 records using Infor OS REST API calls with explicit pagination. Each large object (Items, Inventory, Transaction History) is chunked into 500-record pages with checkpoint tokens stored between runs. We respect the PRD concurrency cap of 10 simultaneous API calls. For non-production tenants, we reduce parallelism to 5 concurrent calls. We run extraction in dependency order: Items first, then Inventory, then Orders, then Financial data, then Fixed Assets. Each extraction phase emits a record-count report before the next phase begins. Orphaned child records are held in a staging queue and retried after parent records are confirmed loaded.
Transformation and loading into Dolibarr
We transform extracted records to match Dolibarr's schema, apply the account mapping (from the approved mapping document), convert M3 status codes to Dolibarr status values, and load records via Dolibarr's REST API. For high-volume objects (Inventory, Transaction history), we batch records into Dolibarr's import queue. Third Parties load first so that Customer and Supplier Orders can reference valid party IDs. Products load second so that Order lines can reference valid product IDs. Orders load third, Inventory loads fourth, Financial data loads fifth, and Fixed Assets load last. Each phase is reconciled against the M3 extraction counts before the next phase begins.
Sandbox reconciliation and mapping approval
We run a full migration into a Dolibarr staging environment (a copy of production) and perform reconciliation. The customer's admin reviews record counts, spot-checks 25-50 random records against the M3 source, and validates the BOM flattening output. Any mapping corrections are documented and applied before production migration begins. This step is critical for multi-company M3 migrations where account mapping and company consolidation decisions need admin sign-off.
Production migration, cutover, and BOM/Workflow handoff
We run the production migration in dependency order with a freeze on new M3 writes during the cutover window. We run a final delta migration of any records modified during the migration window. We enable Dolibarr as the system of record and deliver the BOM inventory document (with flattened BOMs and flagged manufacturing items), the Workflow and automation inventory (for Dolibarr's Workflow module rebuild), and the account mapping summary. We support a one-week hypercare window for reconciliation issues. We do not rebuild M3 workflows, output management configurations, or manufacturing automations as code; those are documented for the customer's admin to rebuild in Dolibarr's Workflow module.
Platform deep dives
Infor M3
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Moderate ERP migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Infor M3 and Dolibarr ERP.
Object compatibility
1 of 8 objects need a mapping; the rest are 1:1.
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
Infor M3: Not publicly documented; enforced by tenant-level concurrency caps (PRD: 10 per service, non-PRD: 5 per service) and usage-based limits on minutes and storage.
Data volume sensitivity
Infor M3 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 Infor M3 to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your Infor M3 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 Infor M3
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.