ERP migration

Migrate from JD Edwards World to Dolibarr ERP

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 logo

JD Edwards World

Source

Dolibarr ERP

Destination

Dolibarr ERP logo

Compatibility

77%

10 of 13

objects map 1:1 between JD Edwards World and Dolibarr ERP.

Complexity

BStandard

Timeline

6-8 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

JD Edwards World logo

JD Edwards World

What's pushing teams away

  • JD Edwards World runs exclusively on IBM AS/400 hardware that is expensive to maintain, difficult to scale, and increasingly hard to find qualified administrators for as the workforce retires.
  • The user interface is terminal-based and visually dated compared to modern cloud ERPs, making it difficult to attract new employees who expect contemporary software experiences and self-service capabilities.
  • Oracle's Named User Plus licensing model means that as companies grow and add employees who need system access, licensing costs scale in ways that become difficult to predict or control.
  • Support for older World versions (A7.3, A8.1, A9.1) has become increasingly expensive as Oracle narrows its focus to EnterpriseOne, and third-party support providers are harder to find.
  • Integration with modern SaaS tools, API-first applications, and real-time data pipelines is either unavailable or requires expensive middleware that was never part of the original architecture.

Choosing

Dolibarr ERP logo

Dolibarr ERP

What's pulling them in

  • Free open-source core with no per-user license fee makes it the lowest-cost entry point for small teams needing ERP and CRM in one package.
  • Self-hosted deployment gives full data ownership and eliminates vendor lock-in, especially attractive to businesses with compliance requirements.
  • Modular architecture means teams enable only the features they use, keeping the interface uncluttered and reducing learning curve.
  • Fast installation with no technical knowledge required — one reviewer set up multiple businesses in minutes using their own hosting.
  • Active community forum and marketplace of third-party add-ons provide support and extension options without mandatory subscription costs.

Object mapping

How JD Edwards World objects map to Dolibarr ERP

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)

maps to

Dolibarr ERP

llx_societe + llx_socpeople

1:many
Fully supported

World'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)

maps to

Dolibarr ERP

llx_societe (type = Customer)

1:1
Mapping required

World 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)

maps to

Dolibarr ERP

llx_societe (type = Supplier)

1:1
Mapping required

World 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)

maps to

Dolibarr ERP

llx_accounting_account

lossy
Mapping required

World'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)

maps to

Dolibarr ERP

llx_accounting_bookkeeping

1:1
Mapping required

World 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)

maps to

Dolibarr ERP

llx_product

1:1
Mapping required

World 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)

maps to

Dolibarr ERP

llx_stock

1:1
Mapping required

World 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)

maps to

Dolibarr ERP

llx_commande_fournisseur + llx_commande_fournisseurdet

1:1
Mapping required

World 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)

maps to

Dolibarr ERP

llx_commande + llx_commandedet

1:1
Mapping required

World 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)

maps to

Dolibarr ERP

llx_projet + llx_stock_mouvement (for material consumption)

1:1
Mapping required

World 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)

maps to

Dolibarr ERP

llx_user + llx_societe (for employee third parties)

1:1
Fully supported

World 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)

maps to

Dolibarr ERP

llx_accounting_account (cumulative period balances)

1:1
Fully supported

World 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)

maps to

Dolibarr ERP

Custom fields on llx_extrafields or separate lookup tables

lossy
Not supported

World 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.

Gotchas + challenges

What specifically takes care here

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 logo

JD Edwards World gotchas

High

Direct database access required for World migrations

High

Oracle Client version mismatch after database migration

High

Custom table modifications require manual conversion program updates

Medium

Account format (Object.Subsidiary) varies by company

Medium

Contract Billing limit processing must be preserved manually

Dolibarr ERP logo

Dolibarr ERP gotchas

High

Foreign key constraint errors on cross-distribution database restore

High

SQL injection vulnerabilities in version 9.0.1

Medium

Custom fields stored as JSON in extraoptions require field-by-field deserialization

Medium

Decimal precision and rounding configuration affects price fields

Low

No native iOS/Android app forces reliance on browser

Pair-specific challenges

  • World has no REST API; direct IBMi database access is required

    JD Edwards World versions have no native API layer. All data extraction requires connecting directly to the IBMi database via ODBC or native DB2 connectivity to read the F-prefixed physical files. This requires the customer to provide IBMi credentials with database read permissions and may require firewall or VPN configuration to allow FlitStack AI's infrastructure to reach the AS/400. If the customer's security policy prohibits direct database access, manual CSV exports of each World table are the only alternative, and this approach cannot preserve relational integrity across linked tables (F0301 to F0101, F4211 to F4101). We explicitly scope the database connectivity requirement before migration begins.

  • Dolibarr REST API requires a paid module license

    Dolibarr's REST API is not available in the free core version. Organizations must license the API module (part of Dolibarr's commercial module ecosystem) before migration begins, as this is the channel through which FlitStack AI loads data into Dolibarr. The API module is available through Dolibarr's official store or authorized commercial partners at annual subscription pricing. Without the API module, data load requires direct MySQL/MariaDB access on self-hosted instances, which bypasses Dolibarr's internal logic (triggers, validation, audit trails) and is not recommended for production migrations.

  • Object.Subsidiary account normalization is per-company and non-reversible

    World's flexible account numbering (Object.Subsidiary) is defined per company code in F0901, meaning the same account format can represent different accounts in different World subsidiaries. When migrating to Dolibarr's flat chart of accounts, we must map each World company to a target Dolibarr chart and normalize the account codes accordingly. This mapping must be validated by the customer's finance team before any Account Master or Account Ledger records are loaded, because account mis-assignments corrupt financial reporting and are difficult to correct after the fact. We provide a validation spreadsheet as part of the scoping deliverable.

  • World Manufacturing routing and capacity planning has no Dolibarr equivalent

    World's Work Order module (F4801) includes routing steps with operation sequences, work centers, labor standards, and capacity planning that have no direct Dolibarr equivalent. Dolibarr's Projects module tracks tasks and milestones but does not include finite capacity scheduling, work center load balancing, or routing step sequencing. Organizations that rely on World's shop floor control features must plan for manual rebuild of work order routing in Dolibarr's Projects module or a third-party manufacturing add-on. We document the routing step data from F4802 during discovery so the customer's operations team can assess the rebuild scope.

  • Dolibarr MultiCompany module is required for true multi-entity migration

    World's native multi-company architecture handles intercompany transactions, consolidated reporting, and shared address books across subsidiaries as a core feature. Dolibarr's free core supports only a single company context. The MultiCompany module (a paid commercial add-on, approximately $500 one-time) enables multiple company databases within a single Dolibarr instance with inter-company transaction support. If the customer migrates from a multi-company World environment, we confirm MultiCompany module licensing during scoping, as its presence or absence affects how we structure the third-party, account, and project data in Dolibarr.

Migration approach

Six steps for a successful JD Edwards World to Dolibarr ERP data migration

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Context on both ends of the pair

JD Edwards World logo

JD Edwards World

Source

Strengths

  • Rock-solid stability on IBMi with decades of proven uptime in manufacturing and distribution environments
  • Deep modularity with 80+ application modules covering financials, supply chain, manufacturing, and HR
  • Flexible deployment options including on-premise, private cloud, public cloud, or hybrid configurations
  • Strong support for multi-company, multi-currency, and complex organizational structures
  • Predictable long-term licensing under Oracle Applications Unlimited through at least 2036

Weaknesses

  • Terminal-based green screen interface that requires significant user training and creates adoption friction
  • No native REST or SOAP API on World versions, requiring direct database access for integrations
  • High total cost of ownership driven by Named User Plus licensing and IBMi hardware requirements
  • Steep implementation complexity requiring specialized consultants and multi-year deployment cycles
  • Limited modern analytics and BI capabilities compared to cloud-native ERP competitors
Dolibarr ERP logo

Dolibarr ERP

Destination

Strengths

  • Free core software with AGPL license and no per-user mandatory fee for self-hosted deployments.
  • Modular architecture lets teams activate only needed features, keeping the interface focused and the database lean.
  • Self-hosted option provides full data sovereignty and avoids recurring SaaS subscription costs.
  • Built-in CSV/Excel import and export wizard with saved profiles simplifies recurring data operations.
  • Low-code Module Builder allows functional extensions without writing PHP code.

Weaknesses

  • No native documented REST API for programmatic bulk operations — all migrations depend on the import/export wizard or direct database access.
  • Reporting and analytics are weak without paid add-ons, and built-in charts are limited compared to modern SaaS platforms.
  • UI design is described as dated by multiple reviewers, with infrequent visual updates to the default theme.
  • Community-only support for self-hosted deployments means no SLA or guaranteed response time for issues.
  • Security vulnerabilities (CVE-2024-5314, CVE-2024-5315) in version 9.0.1 with no immediate patch reported.

Complexity grading

How hard is this migration?

Standard ERP migration. All 8 core objects map 1:1 between JD Edwards World and Dolibarr ERP.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across JD Edwards World and Dolibarr ERP.

  • Object compatibility

    A

    All 8 core objects map 1:1 between JD Edwards World and Dolibarr ERP.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    JD Edwards World: Not applicable.

  • Data volume sensitivity

    B

    JD Edwards World doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your JD Edwards World to Dolibarr ERP migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about JD Edwards World to Dolibarr ERP data migrations

Answers to the questions buyers ask most during JD Edwards World to Dolibarr ERP migration scoping. Not seeing yours? Book a call.

Can't find your answer?

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 consultation

Straightforward migrations with clean account structures, under 10,000 active records across items, third parties, and open orders, and no multi-company complexity complete in six to eight weeks. Migrations with multi-company World environments, extensive Z-file custom tables, large historical Account Ledger archives, or complex Object.Subsidiary formats requiring per-company mapping validation move to fourteen to twenty weeks. The IBMi connectivity setup and finance team account validation are the two most common timeline dependencies.

Adjacent paths

Related migrations to explore

Ready when you are

Move from JD Edwards World.
Land in Dolibarr ERP, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day