ERP migration
Field-level mapping, validation, and rollback between JD Edwards World and Dolibarr ERP. We move data and schema; workflows are rebuilt natively in Dolibarr ERP.
JD Edwards World
Source
Dolibarr ERP
Destination
Compatibility
10 of 13
objects map 1:1 between JD Edwards World and Dolibarr ERP.
Complexity
BStandard
Timeline
6-8 weeks
Overview
Moving from JD Edwards World to Dolibarr is a modernization migration from a 40-year-old IBM AS/400-hosted ERP to a modular open-source PHP/MySQL ERP designed for small and mid-sized businesses. Because World has no native REST API, we extract data directly from IBMi table files (F-prefixed physical files like F0101, F0911, F4101) and transform them into Dolibarr's relational schema (llx_ prefixed tables). The largest technical challenge is normalizing World's Object.Subsidiary account numbering into Dolibarr's simpler single-segment chart of accounts structure, which requires a per-company mapping validated by the customer's finance team before final load. We preserve open Purchase Orders, Sales Orders, Work Orders, Item Master records with branch-plant overrides, on-hand inventory balances, and employee master data. Dolibarr's paid API module (required for REST access) must be licensed before migration begins, and workflows, custom JDE reports, and the Contract Billing limit enforcement module do not migrate — we deliver a written rebuild inventory for each.
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 JD Edwards World 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.
JD Edwards World
Address Book (F0101)
Dolibarr ERP
llx_societe + llx_socpeople
1:manyWorld's F0101 Address Master holds all business entities (customers, vendors, employees, prospects) under a single AN8 key. We split into Dolibarr llx_societe (third-party organizations) and llx_socpeople (individual contacts). The AN8 becomes a custom external reference field (ref_ext) preserved for audit. Address lines, city, state, postal code, and country map to Dolibarr's address fields with country code validation. We also preserve the World address type flags (Ship To, Bill To, Remit To) as Dolibarr contact type labels.
JD Edwards World
Customer Master (F0301)
Dolibarr ERP
llx_societe (type = Customer)
1:1World F0301 stores AR customer records linked to F0101 by AN8. We extract payment terms, credit limits, tax exemption codes, and AR aging method. In Dolibarr, these map to the llx_societe row with typent_code = 'TE_CUSTOMER'. Credit limit enforcement in World is a business rule; Dolibarr does not enforce credit limits natively, so we store the limit as a custom field and recommend configuring a Dolibarr alert workflow post-migration if credit control is critical.
JD Edwards World
Vendor Master (F0401)
Dolibarr ERP
llx_societe (type = Supplier)
1:1World F0401 stores AP vendor records with payment terms, 1099 reporting flags, and bank account information for ACH. We extract Remit-To address, 1099 box codes, and vendor bank account detail (Routing Number + Account Number) for ACH setup in Dolibarr. In Dolibarr, typent_code = 'TE_SUPPLIER'. ACH bank data migrates to llx_societe_rib with careful field mapping since Dolibarr's bank account structure differs from World's ACH record layout.
JD Edwards World
Account Master (F0901)
Dolibarr ERP
llx_accounting_account
lossyWorld's F0901 defines the Chart of Accounts using Object.Subsidiary segments that vary by company code. We normalize each World company to a target Dolibarr Chart of Accounts (each company in Dolibarr can have its own chart of accounts). The Object.Subsidiary string is parsed and concatenated into a single Dolibarr account code (e.g., 4100-0001 or 4100.001) with the description preserved. This normalization must be validated by the customer's finance team before import because mis-mapped accounts corrupt financial reporting. We flag any World accounts that reference inactive Cost Codes or Business Units not present in the target chart.
JD Edwards World
Account Ledger (F0911)
Dolibarr ERP
llx_accounting_bookkeeping
1:1World F0911 stores every journal entry with account, amount, batch number, fiscal period, and subsidiary coding. We extract the current-year open entries and selected historical periods based on the customer's fiscal year cutoff. Post-migration, Dolibarr's Accounting Export module can be used for ongoing journal entry creation, but historical F0911 records are imported as bookkeeping entries with doc_date, code_journal, and num_compte resolved to the target chart of accounts. We flag any F0911 records that reference obsolete Cost Codes, Business Units, or Subledgers not present in the target account mapping.
JD Edwards World
Item Master (F4101)
Dolibarr ERP
llx_product
1:1World F4101 is the central product catalog controlling inventory, procurement, and pricing. We extract item number (LITM/PSITM), description, unit of measure, cost method, and item type flags. World's branch-plant-specific overrides in F4102 (on-hand quantities, location-specific pricing) merge into Dolibarr llx_product as multi-warehouse stock entries. Unit of measure conversions require a mapping table because World uses a defined UOM class system (each item has an owning UOM with defined conversions) while Dolibarr uses a simpler per-product UOM with sell/buy/packaging ratios.
JD Edwards World
Inventory Ledger (F4111)
Dolibarr ERP
llx_stock
1:1World F4111 stores all inventory transactions (receipts, issues, adjustments, transfers). We extract the on-hand balance snapshot from the most recent F41021 (Item Location) records for immediate seeding in Dolibarr's warehouse stock. Selected transaction history (typically current fiscal year) migrates as Dolibarr stock movement records (llx_stock_movement) linked to the source warehouse and product. Very large F4111 archives (multi-year) are excluded from standard migration to avoid oversized load times; the customer's finance team decides the history cutoff.
JD Edwards World
Purchase Orders (F4311)
Dolibarr ERP
llx_commande_fournisseur + llx_commande_fournisseurdet
1:1World F4311 stores open and historical PO records with line-level detail, delivery addresses, terms, and receipt routing. We extract open POs (status not equal to closed) for migration into Dolibarr Supplier Orders (llx_commande_fournisseur). Line items map to llx_commande_fournisseurdet with product reference resolved to the migrated llx_product record. Closed POs are optionally carried forward as reference records without line-level migration. Receipt Routing information from F4311 does not have a Dolibarr equivalent; we store it as a custom field on the PO for manual follow-up.
JD Edwards World
Sales Orders (F4211)
Dolibarr ERP
llx_commande + llx_commandedet
1:1World F4211 stores order header and line detail with pricing, backorder flags, and freight terms. We extract open orders for migration into Dolibarr Customer Orders (llx_commande). Line items map to llx_commandedet with the product reference resolved to the migrated llx_product. World's embedded pricing structure (which can reference price tables, discounts, and UOM conversions) is resolved at migration time and stored as fixed amounts in Dolibarr's line price fields. We flag any line items referencing products not yet migrated as a separate reconciliation list.
JD Edwards World
Work Orders (F4801)
Dolibarr ERP
llx_projet + llx_stock_mouvement (for material consumption)
1:1World F4801 stores manufacturing work orders with routing steps and material requirements (F4802). Dolibarr's Projects module (llx_projet) handles project tracking but lacks native routing, capacity planning, or labor tracking. We map Work Order header to llx_projet, Work Order line (bill of materials from F3111) to llx_projet_task with a flag indicating it originated as a manufacturing BOM. Material requirements from F3111 migrate as Dolibarr stock reservation records. Routing steps have no direct Dolibarr equivalent; we document them as task descriptions within the project plan for manual rebuild if shop floor scheduling is required.
JD Edwards World
Employee Master (F060116)
Dolibarr ERP
llx_user + llx_societe (for employee third parties)
1:1World F060116 stores HR master records including compensation, job data, and organizational assignment. We extract employee name, department, job title, pay grade, and effective-dated history for compliance. In Dolibarr, employees map to llx_user (for system login access) and optionally to llx_societe as contacts of type 'Employee' if the organization tracks employees as third-party records for project assignment. We preserve World cost center and Business Unit assignments as Dolibarr project tags or custom fields. Effective-dated history is stored as a JSON audit trail in a custom field on the user record.
JD Edwards World
Account Balances (F0902)
Dolibarr ERP
llx_accounting_account (cumulative period balances)
1:1World F0902 stores period and cumulative account balances. We extract the current period opening balance and year-to-date cumulative balance for each account, computing the balance forward from F0911 if F0902 is inconsistent. In Dolibarr, we seed the opening balance on llx_accounting_account as a beginning balance journal entry on the account's first active period rather than storing period-level balances directly, since Dolibarr computes period balances from the bookkeeping entries in llx_accounting_bookkeeping.
JD Edwards World
Custom Tables (Z-files)
Dolibarr ERP
Custom fields on llx_extrafields or separate lookup tables
lossyWorld Z-prefixed custom tables (e.g., F55Z100) hold company-unique data that does not map to standard World tables. If the customer provides Z-file specifications during discovery, we attempt to map them to Dolibarr custom fields (llx_extrafields) on the matching standard object. Z-files with complex structures that have no Dolibarr equivalent are excluded from automated migration; we deliver a written specification of Z-file contents, record counts, and recommended Dolibarr implementation approach for the customer's development team. Custom World modified programs (P-prefixed) that alter standard field behavior cannot migrate at all.
| JD Edwards World | Dolibarr ERP | Compatibility | |
|---|---|---|---|
| Address Book (F0101) | llx_societe + llx_socpeople1:many | Fully supported | |
| Customer Master (F0301) | llx_societe (type = Customer)1:1 | Mapping required | |
| Vendor Master (F0401) | llx_societe (type = Supplier)1:1 | Mapping required | |
| Account Master (F0901) | llx_accounting_accountlossy | Mapping required | |
| Account Ledger (F0911) | llx_accounting_bookkeeping1:1 | Mapping required | |
| Item Master (F4101) | llx_product1:1 | Mapping required | |
| Inventory Ledger (F4111) | llx_stock1:1 | Mapping required | |
| Purchase Orders (F4311) | llx_commande_fournisseur + llx_commande_fournisseurdet1:1 | Mapping required | |
| Sales Orders (F4211) | llx_commande + llx_commandedet1:1 | Mapping required | |
| Work Orders (F4801) | llx_projet + llx_stock_mouvement (for material consumption)1:1 | Mapping required | |
| Employee Master (F060116) | llx_user + llx_societe (for employee third parties)1:1 | Fully supported | |
| Account Balances (F0902) | llx_accounting_account (cumulative period balances)1:1 | Fully supported | |
| Custom Tables (Z-files) | Custom fields on llx_extrafields or separate lookup tableslossy | Not 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.
JD Edwards World gotchas
Direct database access required for World migrations
Oracle Client version mismatch after database migration
Custom table modifications require manual conversion program updates
Account format (Object.Subsidiary) varies by company
Contract Billing limit processing must be preserved manually
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
IBMi connectivity and World environment discovery
We establish a secure connection to the customer's IBMi system via ODBC or native DB2, validate read access to the F-prefixed data libraries, and enumerate the installed World modules, version (A7.3 through A9.4), and any active custom Z-file tables or modified World programs. We extract record counts for each major table (F0101, F0301, F0401, F0901, F0902, F0911, F4101, F4111, F4211, F4311, F4801, F060116) to size the migration volume. If direct database access is not available, we scope the manual CSV export approach with a per-table export template. This step also confirms that the customer has licensed Dolibarr's API module.
Dolibarr target environment provisioning and module selection
We provision or validate the target Dolibarr instance (self-hosted on the customer's infrastructure or a designated cloud VM) and confirm which Dolibarr modules are active: Third Party/Contact (standard), Product/Stock (standard), BOM/Manufacturing (paid module), Projects (standard), Accounting (standard), Invoicing (standard), HR/Expense (paid module). We configure the chart of accounts structure based on the Object.Subsidiary normalization mapping agreed with the finance team. We also configure multi-currency settings if the World environment uses multiple currencies.
Account structure normalization and finance team validation
We build the World-to-Dolibarr account mapping spreadsheet by parsing each World company code's account structure (Object.Subsidiary length and position defined in F0901) and proposing a corresponding Dolibarr account code. The customer's finance team reviews, corrects, and approves the mapping before any Account Master or Account Ledger records are extracted. This is the most time-sensitive dependency in the migration because account normalization errors require retroactive correction in the bookkeeping history.
Sandbox migration and reconciliation
We run a full migration into a staging environment using production-like data volume. The customer reconciles a statistical sample of records (typically 50-100 per object type) against the World source, checking account assignments, third-party hierarchies, order totals, and inventory quantities. We correct any mapping errors identified during sandbox reconciliation before production migration begins. Sandbox migration typically takes one to two weeks depending on data volume.
Production migration in dependency order
We run production migration in record-dependency order: third parties first (F0101 split into llx_societe and llx_socpeople), then products with warehouse stock (F4101 + F4111), then accounting setup (F0901 + F0902), then open Purchase Orders (F4311), open Sales Orders (F4211), work orders as projects (F4801), and employee records (F060116). Account Ledger (F0911) runs last with a fiscal year cutoff agreed during scoping. Each phase emits a row-count reconciliation report before the next phase begins. We use Dolibarr's REST API (or direct MySQL for bulk loads where API performance is insufficient) with batch chunking and retry logic.
Cutover, delta sync, and rebuild handoff
We freeze World writes during the cutover window, run a final delta migration of any records modified during the migration period, then enable Dolibarr as the system of record. We deliver a written inventory of World workflows, custom reports, Contract Billing limit configurations, and Z-file custom tables with a recommended Dolibarr rebuild approach for each. We support a one-week hypercare window for reconciliation issues. We do not rebuild World workflows, custom reports, or contract enforcement logic inside the migration scope; these are documented for the customer's admin team or a Dolibarr implementation partner.
Platform deep dives
JD Edwards World
Source
Strengths
Weaknesses
Dolibarr ERP
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between JD Edwards World and Dolibarr ERP.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across JD Edwards World and Dolibarr ERP.
Object compatibility
All 8 core objects map 1:1 between JD Edwards World 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
JD Edwards World: Not applicable.
Data volume sensitivity
JD Edwards World 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 JD Edwards World to Dolibarr ERP migration scoping. Not seeing yours? Book a call.
Walk through your JD Edwards World 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 JD Edwards World
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.