ERP migration

Migrate from Oracle JD Edwards EnterpriseOne to Microsoft Dynamics 365 Business Central

Field-level mapping, validation, and rollback between Oracle JD Edwards EnterpriseOne and Microsoft Dynamics 365 Business Central. We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Business Central.

Oracle JD Edwards EnterpriseOne logo

Oracle JD Edwards EnterpriseOne

Source

Microsoft Dynamics 365 Business Central

Destination

Microsoft Dynamics 365 Business Central logo

Compatibility

58%

7 of 12

objects map 1:1 between Oracle JD Edwards EnterpriseOne and Microsoft Dynamics 365 Business Central.

Complexity

BStandard

Timeline

6-10 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from Oracle JD Edwards EnterpriseOne to Microsoft Dynamics 365 is a schema-translation migration, not a direct record copy. JDE stores entities in a flat F-table architecture (F0101 Address Book, F0901 General Ledger, F4311 Purchase Orders, F4801 Work Orders) with business-unit accounting and multi-currency ledgers; Dynamics 365 Finance and Supply Chain Management uses a dimensional chart of accounts with Financial Dimensions, legal entities, and fiscal calendars that must be designed before data lands. We extract from JDE's F-tables using direct database reads or AIS REST API, transform business-unit identifiers into Dynamics 365 Financial Dimensions, and load through the destination's Data Management Framework with batch chunking. Media objects require the R98MODAT utility to pre-load filesystem-attached files into F00165 before extraction, otherwise attachments silently drop. Open AP and AR transactions carry outstanding balances that must reconcile to the penny post-load. Workflows, UBEs (custom reports), and UDO project reservations do not migrate; we deliver a written inventory of every active UBE and customisation for the customer's admin to rebuild in Visual Studio Code AL or Power Automate post-migration.

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

Oracle JD Edwards EnterpriseOne logo

Oracle JD Edwards EnterpriseOne

What's pushing teams away

  • Named User Plus licensing costs scale per-user per-module, making the total cost of ownership unpredictable as headcount grows and driving organizations toward cloud ERP with flatter pricing models.
  • Difficulty customizing workflows and error handling creates friction for teams that need rapid process changes, particularly in fast-moving distribution and order-management environments.
  • MRP limitations where overdue or status-999 sales orders do not propagate demand signals down the BOM hierarchy force organizations to implement manual workarounds or supplemental planning tools.
  • Organizations acquired by companies running different ERP systems face pressure to consolidate onto a single platform, triggering data migration projects away from JDE.
  • Annual support fees at approximately 22% of the perpetual license cost represent a recurring expense that prompts periodic cost-versus-benefit reviews, especially for smaller JDE deployments.

Choosing

Microsoft Dynamics 365 Business Central logo

Microsoft Dynamics 365 Business Central

What's pulling them in

  • Deep integration with Microsoft 365, Power BI, and Power Platform means organizations already on the Microsoft stack get identity, reporting, and workflow continuity out of the box.
  • Unified financials, sales, service, and operations replace multiple disconnected systems — users report that data entered once flows through purchase orders, invoicing, and approvals without manual re-entry.
  • Copilot AI features (predictive analytics, embedded business intelligence) are included in both Essentials and Premium tiers, addressing demand for AI without separate module purchases.
  • Named-user licensing with no concurrent model appeals to organizations that want predictable per-seat costs even if some users access the system infrequently.
  • Strong partner ecosystem with certified NAV-to-Business Central migration specialists gives mid-market companies confidence the cutover from legacy Navision can be executed reliably.

Object mapping

How Oracle JD Edwards EnterpriseOne objects map to Microsoft Dynamics 365 Business Central

Each row shows how a Oracle JD Edwards EnterpriseOne object lands in Microsoft Dynamics 365 Business Central, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Oracle JD Edwards EnterpriseOne

Address Book (F0101, F0111, F0116)

maps to

Microsoft Dynamics 365 Business Central

Customer and Vendor

1:many
Fully supported

JDE Address Book (F0101) is a single master entity table for customers, suppliers, employees, and prospects differentiated by Address Book type codes (ECST). We split by ABAN8 address number and the AT1-AT3 alpha name fields: entities with type Customer become D365 CustCustomerV2 entities; type Supplier become VendVendorV2 entities; type Employee become HcmWorkerV2 or DirPerson entities depending on D365 HR module scope. F0111 contact info and F0116 phone numbers attach as Contact Info records linked to the respective Customer or Vendor. We resolve address book numbers (ABAN8) as the dedupe key during import and map JDE category codes to D365 Customer Groups and Vendor Groups.

Oracle JD Edwards EnterpriseOne

General Ledger (F0901)

maps to

Microsoft Dynamics 365 Business Central

Main Account and Financial Dimensions

lossy
Fully supported

JDE GL uses object-account structure (Company.OBJ.SUB in F0901) where Company maps to a business unit. We translate each JDE object account into a D365 Main Account and generate Financial Dimension sets from the JDE Company and Subsidiary (SUB) values. D365 requires a Chart of Accounts configuration before any GL data loads; we build the COA as a parallel workstream during migration scoping. Budget and actual amounts from F0901 load into GeneralLedgerAccountSummary with fiscal period sliced by the JDE fiscal date patterns.

Oracle JD Edwards EnterpriseOne

Accounts Payable (F0411, F0414)

maps to

Microsoft Dynamics 365 Business Central

Vendor Invoice and Vendor Transaction

1:1
Fully supported

F0411 invoice headers and F0414 payment history carry open AP balances that must reconcile to the penny post-import. We extract the vendor address number, invoice number, invoice date, due date, gross amount, and currency from F0411 and F0414, then create D365 VendInvoiceJournalHeader and VendInvoiceJournalLine records with the open amount preserved in PaymentTermsReference. JDE invoice numbers become D365 InvoiceNumbers; we flag duplicates against existing D365 vendor invoices during load.

Oracle JD Edwards EnterpriseOne

Accounts Receivable (F0311, F03B11)

maps to

Microsoft Dynamics 365 Business Central

Customer Invoice and Customer Transaction

1:1
Fully supported

F0311 invoice headers and F03B11 receipt history carry open AR balances. We map F0311 document number to D365 InvoiceNumber, invoice date to InvoiceDate, and outstanding balance to PaymentTermsReference on the CustomerInvoiceEntity. Receipt records from F03B11 become D365 CashDisc and PaymentJournal records linked to the customer account. Currency conversion rates from F0015 (currency exchange rates) are pre-loaded into D365 ExchangeRateProvider before AR import.

Oracle JD Edwards EnterpriseOne

Item Master (F4101)

maps to

Microsoft Dynamics 365 Business Central

Released Product

1:1
Fully supported

F4101 item master records map to D365 Released Products with item number, description, unit of measure (from F41002), and stocking type preserved. JDE stocking type codes (STKT) map to D365 ProductType (Item vs Service) and InventoryModelGroup. Cost layers from F4101 (LandedCost factors) translate to D365 CostingVersion and CostGroup assignments. JDE category codes (CTRY, PCTR, LOCN) become D365 Product Categories linked via CategoryHierarchy.

Oracle JD Edwards EnterpriseOne

Branch/Plant Inventory (F4102)

maps to

Microsoft Dynamics 365 Business Central

Warehouse and On-hand Inventory

1:1
Fully supported

F4102 branch/plant records map to D365 Warehouses (inventLocationId from JDE MPLN or branch plant code) and InventOnHand entities. Quantity on hand at the time of migration freeze date is extracted from F4102 and loaded into D365 InventSum with the corresponding site and warehouse references resolved. Serial and lot numbers from F4108 and F41L08 load as D365 InventSerial and InventLot entities linked to the on-hand records.

Oracle JD Edwards EnterpriseOne

Sales Order (F4211, F42119)

maps to

Microsoft Dynamics 365 Business Central

Sales Order Header and Line

1:1
Fully supported

F4211 order headers and F42119 order detail lines are the most structurally complex JDE tables because pricing, taxes, and branch/plant assignments are embedded directly in the line record. We extract header fields (document type, order number, customer address number, order date) and line fields (item number, quantity ordered, unit price, extended amount, branch/plant) separately, then reconstruct them as D365 SalesOrderHeaderEntity and SalesOrderLineEntity records. JDE order status codes (STAJ) map to D365 SalesOrderStatus with held orders flagged as SalesOrderHoldStatus.

Oracle JD Edwards EnterpriseOne

Purchase Order (F4311)

maps to

Microsoft Dynamics 365 Business Central

Purchase Order Header and Line

1:1
Fully supported

F4311 uses a complex row structure where receipt and invoicing lines are intermingled with order lines under the same document number. We extract purchase order headers, lines, and schedule dates as separate queries, then reconstruct them as D365 PurchTable and PurchLine entities. Receipt schedules (F43121) map to D365 PurchReceiptSchedule. JDE document types (DCTO) map to D365 PurchTableOriginDocumentType.

Oracle JD Edwards EnterpriseOne

Work Order (F4801, F3112, F3003)

maps to

Microsoft Dynamics 365 Business Central

Production Order with Route and BOM

1:many
Fully supported

JDE Work Orders (F4801) carry routing and operation data in F3112 and BOM assembly lines in F3003 as three separate linked tables. We extract the complete work order assembly hierarchy, resolve the parent F4801 WO number, and reconstruct it as a D365 ProductionOrder with routes (from F3112 operation sequences and work centres) and bill of materials (from F3003 component lines) as sub-components. JDE work order status (WOST) maps to D365 ProductionOrderStatus. We flag any F3111 route revisions for manual review post-import.

Oracle JD Edwards EnterpriseOne

Pricing Schedules (F4072)

maps to

Microsoft Dynamics 365 Business Central

Trade Agreements and Price Groups

lossy
Mapping required

JDE Advanced Pricing schedules in F4072 store effective dates, break quantities, adjustment types, and formula-based pricing. We extract the full pricing hierarchy and map price adjustment rules to D365 Trade Agreements (SalesPrice and PurchasePrice) and PriceGroup entities. JDE pricing formulas requiring calculation logic that cannot map to D365 trade agreement conditions are flagged in the pricing inventory document for manual rebuild in the D365 pricing page or a pricing extension.

Oracle JD Edwards EnterpriseOne

Media Objects (F00165)

maps to

Microsoft Dynamics 365 Business Central

Attachment via SharePoint or Dataverse

1:1
Mapping required

Media objects stored in F00165 (attachments, images, embedded documents) require R98MODAT to be run as a pre-export step to load filesystem-attached files into the database. Without this utility, attachments are silently excluded from the JDE export. We run R98MODAT before extraction and then migrate media objects as D365 attachments linked via the SharePoint document management integration or the Dataverse annotation entity depending on the target D365 workload.

Oracle JD Edwards EnterpriseOne

User Defined Objects (UDOs)

maps to

Microsoft Dynamics 365 Business Central

Custom Objects or Azure Data Lake

lossy
Mapping required

JDE UDOs (custom reports/UBEs, custom tables, custom business functions) tracked in the Object Management Workbench are not end-user data and do not have a direct D365 equivalent. UDOs reserved to a specific development project are reassigned to the user's default project during the JDE export process; we document every UDO project assignment pre-export and re-reserve in the target environment post-import. Custom UBEs cannot be compiled for D365; we deliver a written UDO inventory with each object's purpose, last-modified date, and the recommended D365 rebuild path (Power BI for reports, AL extensions for custom tables).

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.

Oracle JD Edwards EnterpriseOne logo

Oracle JD Edwards EnterpriseOne gotchas

High

JDE-to-Cloud version parity is mandatory

High

Media objects must be pre-loaded before export

Medium

User Defined Objects lose their project reservation

Medium

AIS REST API requires token-based authentication on v2 endpoints

Low

Workflow thresholds silently suppress notifications

Microsoft Dynamics 365 Business Central logo

Microsoft Dynamics 365 Business Central gotchas

High

Named-user licensing has no concurrent-use relief

High

API rate limits throttle large-volume migrations

Medium

Historical posted transactions require selective migration scoping

Medium

NAV-to-Business Central cloud migration requires partner coordination

Low

Custom fields and AL extensions require separate migration handling

Pair-specific challenges

  • JDE Chart of Accounts requires full redesign before GL import

    JDE uses business-unit accounting where the Company code and Subsidiary (SUB) together form the account identifier in F0901. D365 Finance uses a flat Main Account chart with Financial Dimensions attached at posting time. There is no direct one-to-one field mapping between JDE object-account strings and D365 main accounts. We design the D365 COA during scoping by extracting every distinct JDE SUB value, mapping each to either a D365 main account or a Financial Dimension value, and loading the COA as a prerequisite before any GL data moves. Skipping this step means GL balances post to placeholder accounts or fail validation entirely.

  • R98MODAT must run before JDE media object export

    Oracle's recommended approach is to run the R98MODAT utility to load all media objects from the filesystem into the F00165 database table before running the migration export. JDE Tools Release 9.2.1 and later require this step; earlier releases need a manual downgrade of the target cloud environment before import. We invoke R98MODAT as a pre-export step on every engagement. Without it, attachments, images, and embedded documents silently drop from the export with no error in the Oracle Cloud Migration Utility log.

  • JDE multi-site and branch/plant map to D365 site-warehouse hierarchy

    JDE organisations commonly run multiple sites with separate branch/plant codes (MMCU in F4102) representing separate legal entities, cost centres, or inventory locations. D365 Supply Chain uses a Site-Warehouse-Location hierarchy that is more rigid. We extract every distinct MMCU from F4101 and F4102 and map each to a D365 Site and Warehouse pair during scoping. Sites that represent separate legal entities in JDE may need separate D365 legal entities rather than separate warehouses within the same entity, which requires coordination with the customer's finance team.

  • Work Order BOM and routing data spans three linked F-tables

    JDE Work Order assembly data is split across F4801 (work order header), F3003 (BOM components), and F3112 (routing operations). These tables link by work order number (WONO) and are imported separately, which means BOM component lines can reference work order numbers that have not yet been loaded if the import sequence is wrong. We sequence Work Order imports as a single atomic operation: F4801 headers first, then F3003 BOM lines, then F3112 routing operations, with foreign-key validation between phases.

  • AIS REST API token-based auth required on Tools 9.2.26+

    Starting with Tools Release 9.2.26.0, JDE AIS REST v2 endpoints require a token obtained from the v2 tokenrequest service rather than basic authentication. Using an outdated authentication method results in 401 responses for all scheduler service calls. We validate the target environment's Tools Release during scoping and use the appropriate token flow. If JDE is running on an earlier Tools Release, we fall back to direct Oracle or SQL Server database reads to extract F-table data, bypassing AIS entirely.

Migration approach

Six steps for a successful Oracle JD Edwards EnterpriseOne to Microsoft Dynamics 365 Business Central data migration

  1. Discovery and D365 edition selection

    We audit the JDE environment across modules licensed (Financials, Distribution, Manufacturing), Tools and Applications release (P96470 output), database backend (Oracle or SQL Server), and active UDO count from the Object Management Workbench. We pair this with a D365 edition decision: Business Central ($175/user/mo, 10-2,000 users, suited to companies with simpler supply chain) versus Finance and Supply Chain Management ($180-$430/user/mo, for multi-site manufacturing and advanced warehousing). The discovery output is a written migration scope, a COA redesign proposal, and a D365 edition recommendation.

  2. Chart of Accounts redesign and Financial Dimension strategy

    We extract every distinct Company and Subsidiary combination from F0901, every business unit (MCU) from F0006, and every cost object from F4101 category codes. These become either D365 Main Accounts or Financial Dimension values in a structure approved by the customer's finance team. We configure the D365 COA in a Sandbox or DEV environment before any data moves, deploy the Main Account chart via the Data Management Framework, and validate that opening balances post correctly before proceeding.

  3. Schema pre-creation and data validation in Sandbox

    We pre-create all D365 entities (Customers, Vendors, Released Products, Warehouses, Sales Orders, Purchase Orders, Production Orders) and custom fields in the target D365 environment before any JDE data loads. We run R98MODAT to pre-load media objects. We then run a full migration into a D365 Sandbox using production-like data volumes from JDE. The customer's finance and operations leads reconcile record counts, spot-check 25-50 records against JDE source, and validate GL balance reconciliation. Schema and mapping corrections happen in Sandbox, not in production.

  4. Master data migration in dependency order

    We run production migration in dependency order: Chart of Accounts and Financial Dimensions first, then Address Book (split to Customer and Vendor entities), then Item master and branch/plant inventory, then open AP and AR transactions with balances, then Sales Orders and Purchase Orders. Each phase emits a row-count reconciliation report and a balance check before the next phase begins. Parent-record lookups (AccountId on Contact, ItemId on SalesOrderLine) are resolved in-memory before insert to avoid foreign-key failures.

  5. Transactional and manufacturing data migration

    Work orders, BOMs, and routing data are loaded as a single sequenced batch after master data is validated. We use batch chunking and exponential backoff on the D365 Data Management Framework OData API with 429-throttling handling. JDE Advanced Pricing schedules (F4072) are converted to D365 Trade Agreements and flagged for any formula-based pricing that cannot map directly. Activity history (if any Help Desk or CRM-like engagements exist in JDE) is migrated to D365 notes or custom entity records.

  6. Cutover, validation, and UDO inventory handoff

    We freeze JDE writes during cutover, run a final delta migration of any records modified during the migration window, and enable D365 as the system of record. We deliver the UDO inventory document listing every custom UBE, custom table, and Object Management Workbench project reservation for the customer's admin to rebuild in Visual Studio Code AL, Power Automate, or a D365 partner. We support a two-week hypercare window where we resolve any reconciliation issues. Post-cutover, any workflows, approval routes, or automation rebuilds are a separate engagement.

Platform deep dives

Context on both ends of the pair

Oracle JD Edwards EnterpriseOne logo

Oracle JD Edwards EnterpriseOne

Source

Strengths

  • Cross-platform deployment on Oracle Database, SQL Server, Windows, Unix, and Linux protects existing infrastructure investments.
  • Continuous delivery with six-month feature pack releases keeps the system modernised without requiring disruptive major-version upgrade projects.
  • Over 6,000 global customers across manufacturing, distribution, food and beverage, and real estate create a deep third-party consultant and integration ecosystem.
  • Advanced Pricing supports complex multi-level, multi-currency, and volume-sensitive pricing rules with formula-based and commodity-table pricing.
  • Modular per-module Named User Plus licensing lets organizations license only the functional areas they actively use.

Weaknesses

  • Named User Plus licensing scales per-user per-module, making total cost of ownership difficult to predict as organisations grow and adding users across multiple modules multiplies licence fees.
  • Customisation requires navigating the Object Management Workbench and the development tools layer, which has a steep learning curve compared to modern SaaS configuration approaches.
  • MRP cascading limitations mean overdue or held sales orders (status 999) do not automatically propagate demand signals down the bill of materials hierarchy.
  • Annual support fees at approximately 22% of perpetual licence cost represent a recurring expense that becomes a target for cost-reduction reviews during economic downturns.
  • Integration with modern cloud-native applications requires middleware or connector tooling, as JDE's native AIS REST API is functional but not as developer-friendly as contemporary API platforms.
Microsoft Dynamics 365 Business Central logo

Microsoft Dynamics 365 Business Central

Destination

Strengths

  • Tight integration with Microsoft 365 (Outlook, Teams, SharePoint) for users already in the Microsoft ecosystem.
  • Includes Copilot AI, predictive analytics, and embedded Power BI dashboards at no additional cost in both license tiers.
  • Supports multiple companies within a single tenant for holding-company or multi-entity organizational structures.
  • Open REST API v2.0 with OAuth 2.0 authentication and data entity abstraction layer for developer-friendly integrations.
  • Strong partner ecosystem specializing in NAV-to-Business Central migrations provides implementation confidence for legacy upgrades.

Weaknesses

  • Named-user licensing model means every active user account requires a paid license — no concurrent access model to reduce costs for occasional users.
  • SaaS-only deployment means no on-premises option; organizations requiring full data residency control may not have viable alternatives within Microsoft's stack.
  • Manufacturing module (Production Orders, routing, work centers) is only available on Premium tier, pushing cost-sensitive manufacturers to higher-priced plans.
  • Customization and extension development requires AL language knowledge and developer licenses, limiting what power users can do without a partner engagement.
  • Global pricing increases effective October 2024 and again October 2025 after five years of stable pricing, creating budget uncertainty for existing customers.

Complexity grading

How hard is this migration?

Standard ERP migration. All 8 core objects map 1:1 between Oracle JD Edwards EnterpriseOne and Microsoft Dynamics 365 Business Central.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Oracle JD Edwards EnterpriseOne and Microsoft Dynamics 365 Business Central.

  • Object compatibility

    A

    All 8 core objects map 1:1 between Oracle JD Edwards EnterpriseOne and Microsoft Dynamics 365 Business Central.

  • 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

    Oracle JD Edwards EnterpriseOne: Not publicly documented by Oracle for the AIS Server REST API.

  • Data volume sensitivity

    B

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

Estimator

Estimate your Oracle JD Edwards EnterpriseOne to Microsoft Dynamics 365 Business Central 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 Oracle JD Edwards EnterpriseOne to Microsoft Dynamics 365 Business Central data migrations

Answers to the questions buyers ask most during Oracle JD Edwards EnterpriseOne to Microsoft Dynamics 365 Business Central migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Oracle JD Edwards EnterpriseOne to Microsoft Dynamics 365 Business Central migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most JDE-to-D365 migrations land between six and ten weeks for straightforward like-for-like scopes covering Address Book, GL/AP/AR, Items, and open Sales Orders. Migrations with Work Order and BOM routing data, multi-site inventory (multiple branch/plants), Advanced Pricing schedules, or historical transactional history spanning multiple open years move to fourteen to twenty-four weeks because of COA redesign time, BOM/routing reconstruction, and AP/AR balance reconciliation. ERP Suites cites $85K-$150K for like-for-like and $150K-$275K for upgrade-and-migrate scopes, consistent with these timeline ranges.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Oracle JD Edwards EnterpriseOne.
Land in Microsoft Dynamics 365 Business Central, 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