ERP migration
Field-level mapping, validation, and rollback between Agility ERP and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
Agility ERP
Source
Dolibarr ERP
Destination
Compatibility
11 of 12
objects map 1:1 between Agility ERP and Dolibarr ERP.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Agility ERP to Dolibarr is a step down from a mid-market commercial ERP to a lightweight open-source platform. Agility ERP provides a unified accounting, inventory, and order management system with per-user licensing starting at $31.10, while Dolibarr is GPL-licensed with no per-user fees and modular activation. We handle the structural differences: Dolibarr uses a modular architecture where only activated modules expose data, Agility ERP's proprietary order status labels require explicit mapping to Dolibarr's workflow states, and GL account codes that exceed Dolibarr's character limit must be renumbered before import. Fixed asset records are not accessible via Agility ERP's standard export layer; we coordinate a direct database extraction with Agility ERP support before the migration window. Workflows, automations, and custom forms do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Dolibarr's module system.
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 Agility 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.
Agility ERP
Customer
Dolibarr ERP
Third Party (Customer type)
1:1Agility ERP Customer records map to Dolibarr Third Party contacts where the IsCustomer flag is enabled. Address, contact name, email, and payment terms transfer as standard Dolibarr fields. We validate email format during import and flag duplicate third-party names across the full import set to prevent double-creation. Customer-specific custom fields stored in Agility ERP's extension table require individual mapping to Dolibarr's ExtraFields system, which we configure before migration.
Agility ERP
Vendor
Dolibarr ERP
Third Party (Supplier type)
1:1Agility ERP Vendor records map to Dolibarr Third Party contacts with the IsSupplier flag enabled. Remit-to addresses, tax IDs, and payment terms transfer 1:1. We check for duplicate vendor names within the import set to prevent Dolibarr from creating duplicate third-party records. Vendor-specific custom fields follow the same ExtraFields mapping process as customer fields.
Agility ERP
Open Sales Order
Dolibarr ERP
Customer Order
1:1Agility ERP open sales orders map to Dolibarr Customer Order records with status preserved. The Agility ERP status vocabulary (Open, Released, Backordered, and any custom statuses) requires an explicit lookup table we build during the discovery phase; each Agility ERP status value maps to a corresponding Dolibarr order status or custom workflow state. Line items transfer with quantity ordered, quantity delivered, quantity remaining, unit price, and product reference. The customer order date and order number are retained for audit trail continuity.
Agility ERP
Open Purchase Order
Dolibarr ERP
Supplier Order
1:1Agility ERP open purchase orders map to Dolibarr Supplier Order records. The same status vocabulary mapping logic applies as for sales orders. Line-level purchase order data transfers with supplier reference fields retained. If Agility ERP purchase orders reference a vendor record, we resolve the vendor lookup to the corresponding Dolibarr Third Party before inserting the supplier order.
Agility ERP
Inventory Item
Dolibarr ERP
Product
1:1Agility ERP inventory items map to Dolibarr Product records when the Stock module is activated. Cost layer data (average cost, FIFO cost, or lot cost) from Agility ERP transfers to Dolibarr's PMP (Weighted Average Price) field. We flag any items where the destination costing method differs from the source method so the customer can decide whether to adjust the cost layer during import or accept Dolibarr's default. Stock on hand and reorder point values transfer as Product Stock records linked to the appropriate warehouse.
Agility ERP
Chart of Accounts
Dolibarr ERP
Account (Accounting module)
1:1Agility ERP account codes, descriptions, and classification (asset, liability, expense, revenue) map to Dolibarr accounting accounts. We audit every account code against Dolibarr's character length limits during scoping; any code exceeding the threshold is renumbered and recorded in a mapping table delivered alongside the chart of accounts. Account codes that change require a historical journal remap before historical entries are loaded, which we flag during discovery.
Agility ERP
Journal Entry
Dolibarr ERP
Accounting Entry
1:1Historical Agility ERP journal entries transfer as Dolibarr accounting entries. We flag entries that contain embedded account IDs from the legacy chart of accounts and remap them to the new Dolibarr GL structure before loading. Only the current and prior fiscal year are migrated by default; additional years are migrated only if the customer specifies a longer retention scope during discovery, as historical volume directly affects migration timeline and price.
Agility ERP
Fixed Asset
Dolibarr ERP
Fixed Asset (with Asset module)
1:1Fixed asset records including depreciation schedules are not accessible via Agility ERP's standard export or API layer. We flag any customer with a non-zero fixed asset balance during scoping and coordinate a direct database extract from Agility ERP support before the migration window opens. This custom extraction adds lead time and may require a separate professional services engagement with Agility ERP. Once extracted, we map asset records, accumulated depreciation, and current book value to Dolibarr's Asset module, which must be activated before import.
Agility ERP
Custom Field
Dolibarr ERP
ExtraFields
lossyAgility ERP stores custom fields in a non-standard extension table that requires field-by-field review during scoping. Each custom field is mapped to a corresponding Dolibarr ExtraFields entry on the appropriate object (ThirdParty, Product, Order, etc.). Field type translation is required: Agility ERP field types map to Dolibarr types (varchar to varchar, integer to integer, date to date). Custom field values transfer as part of the parent object import, not as a separate migration phase.
Agility ERP
Shipping Record
Dolibarr ERP
Shipment
1:1Agility ERP shipment and delivery records map to Dolibarr Shipment records when the Shipping module is activated. Shipment date, carrier, tracking number, and linked sales order reference transfer directly. We resolve the parent customer order reference to the newly created Dolibarr Customer Order during import so the shipment is linked to the correct order.
Agility ERP
Project
Dolibarr ERP
Project
1:1Agility ERP project records map to Dolibarr Project records when the Project module is activated. Project name, description, status, start and end dates, and assigned contact references transfer. If the Dolibarr Project module is not activated during scoping, we flag this as a module activation dependency before migration begins.
Agility ERP
User
Dolibarr ERP
User
1:1Agility ERP user accounts map to Dolibarr User records for admin and staff users (not third-party contacts). We match by email address and map the active/inactive status. User permissions do not migrate directly because Dolibarr's permission model is tied to module activation and Dolibarr's own permission groups; we deliver a permission matrix recommendation based on the user's Agility ERP role so the customer's admin can configure access in Dolibarr.
| Agility ERP | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Customer | Third Party (Customer type)1:1 | Fully supported | |
| Vendor | Third Party (Supplier type)1:1 | Fully supported | |
| Open Sales Order | Customer Order1:1 | Fully supported | |
| Open Purchase Order | Supplier Order1:1 | Fully supported | |
| Inventory Item | Product1:1 | Fully supported | |
| Chart of Accounts | Account (Accounting module)1:1 | Mapping required | |
| Journal Entry | Accounting Entry1:1 | Fully supported | |
| Fixed Asset | Fixed Asset (with Asset module)1:1 | Fully supported | |
| Custom Field | ExtraFieldslossy | Fully supported | |
| Shipping Record | Shipment1:1 | Fully supported | |
| Project | Project1:1 | Fully supported | |
| User | 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.
Agility ERP gotchas
Fixed asset data requires custom extraction
GL code character limits vary by destination
Open order status vocabulary differs from industry standards
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 module scoping
We audit the Agility ERP instance across all modules in use: customer count, vendor count, open sales order volume, open purchase order volume, inventory item count, chart of accounts size, and any historical journal entry scope. We confirm which Dolibarr modules the customer will activate (ThirdParty, Commercial, Stock, Accounting, Project, Asset, etc.) and build the complete data inventory. This output is a written migration scope including record counts per object, any fixed asset extraction requirement, and the Dolibarr module activation checklist.
Status vocabulary and schema mapping
We build the Agility ERP to Dolibarr field mapping for every object, including the order status lookup table, GL account code renumbering where needed, and custom field to ExtraFields translation. We also configure Dolibarr's ExtraFields schema based on the custom field inventory. All mapping decisions are documented and reviewed with the customer before any extraction begins.
Fixed asset database extraction coordination
For customers with a non-zero fixed asset balance, we submit the extraction request to Agility ERP support and track the lead time. Once the database extract is received, we validate its structure against the migration mapping and flag any data quality issues before the asset migration phase.
Sandbox migration and reconciliation
We run a full migration into a Dolibarr staging instance (or a DoliCloud test environment) using production-like data volume. The customer's operations lead reconciles record counts, spot-checks 25-50 random records against the Agility ERP source, and confirms that order statuses, GL codes, and custom field values are correct before production migration begins.
Production migration in dependency order
We run production migration in record-dependency order: Third Parties (customers and vendors first, to resolve the dedupe key), Products (with stock data), Chart of Accounts, Open Purchase Orders, Open Sales Orders, Inventory transactions, Journal Entries (remapped to the new GL codes), Fixed Assets (from the custom extraction), and Projects. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and admin handoff
We freeze Agility ERP writes during cutover, run a final delta migration of any records modified during the migration window, then enable Dolibarr as the system of record. We deliver the automation and workflow inventory document to the customer's admin team. We support a three-day hypercare window where we resolve any reconciliation issues raised by the customer's team.
Platform deep dives
Agility ERP
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. 1 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Agility ERP 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
Agility ERP: Not publicly documented.
Data volume sensitivity
Agility 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 Agility ERP to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your Agility 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 Agility 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.