ERP migration
Field-level mapping, validation, and rollback between Oracle JD Edwards EnterpriseOne and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
Oracle JD Edwards EnterpriseOne
Source
Epicor Prophet 21
Destination
Compatibility
12 of 15
objects map 1:1 between Oracle JD Edwards EnterpriseOne and Epicor Prophet 21.
Complexity
BStandard
Timeline
8-12 weeks
Overview
Moving from Oracle JD Edwards EnterpriseOne to Epicor ERP is a cross-ERP data migration that requires translating a flat-file-oriented data model built around JDE's F0005 data dictionary into Epicor's relational object schema. JDE stores sales order pricing, taxes, and branch assignments denormalized across F4211 and F42119, while Epicor uses a normalized sales order header-detail structure with separate pricing and tax tables. We resolve that structural difference during transformation, map multi-currency and multi-legislative data to Epicor's fiscal calendar and tax configuration, and preserve historical timestamps from F0901, F0411, F0311, and F4101 before cutover. Workflows, orchestrator schedules, and UBE custom reports do not migrate; we deliver a written inventory of each for the customer's admin to rebuild in Epicor Kinetic Studio.
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 Oracle JD Edwards EnterpriseOne object lands in Epicor Prophet 21, 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)
Epicor Prophet 21
Customer and Supplier records
1:1JDE Address Book is the master entity for customers, suppliers, employees, and prospects. We export F0101 (master), F0111 (contact info), and F0116 (phone numbers) and map to Epicor Customer or Supplier records by party type. Address book category codes (AN8, AB4, AB5) map to Epicor Custom Fields or Character fields in the party master. Multi-legislative addresses resolve to Epicor's country-specific address formats. The search name from F0101.SRCH becomes Epicor's Name field.
Oracle JD Edwards EnterpriseOne
General Ledger (F0901)
Epicor Prophet 21
GL Account and GL Journal records
1:1JDE Account Master (F0901) with chart of accounts stored in business units (MCU), object (OBJ), and subsidiary (SUB) segments maps to Epicor's GL Account structure. We flatten the JDE 3-segment account code (Business Unit.Object.Subsidiary) into Epicor's account string format. Account balances from F0902 migrate as opening balances in Epicor GL. Multi-currency ledgers in JDE map to Epicor separate company currencies or functional currency configurations.
Oracle JD Edwards EnterpriseOne
Accounts Payable (F0411, F0414)
Epicor Prophet 21
AP Invoice and AP Payment records
1:1JDE Accounts Payable stores invoices in F0411 and payments in F0414. We extract open AP transactions with outstanding balances and payment terms, mapping JDE payment terms codes to Epicor Terms records. Vendor hold status and 1099 flag from F0411 map to Epicor Supplier flags. Retainage records in F0414 migrate as separate Payable records with retainage hold status.
Oracle JD Edwards EnterpriseOne
Accounts Receivable (F0311, F03B11)
Epicor Prophet 21
AR Invoice and AR Receipt records
1:1JDE Accounts Receivable stores invoices in F0311 and receipts in F03B11. We extract open AR transactions with outstanding balances, aging buckets, and dunning levels. JDE's document type (RD, RI, RM) maps to Epicor Invoice, Debit Memo, and Credit Memo types. Multi-currency AR with exchange rate variances migrates with the original rate preserved in Epicor's currency history table.
Oracle JD Edwards EnterpriseOne
Item Master (F4101)
Epicor Prophet 21
Part and Part Revision records
1:1JDE Item Master in F4101 maps to Epicor Part master with stocking type, unit of measure, and category code assignments preserved. The stocking type (B/M/O/S) maps to Epicor's Type Code (Stock, Make, Buy, Special). JDE unit of measure conversions from F41003 migrate to Epicor's UOM class and conversion rules. Category codes from F4101 map to Epicor Part Class codes and custom fields.
Oracle JD Edwards EnterpriseOne
Branch/Plant Inventory (F4102)
Epicor Prophet 21
PartBin (warehouse quantity) records
1:1JDE F4102 stores per-branch-plant inventory quantities, lot information, and location data. We map each F4102 branch-plant record to Epicor PartBin entries by site and warehouse. Lot number records from F4108 migrate to Epicor Lot records linked to PartBin. Cost layer information from F41026 (Item Cost file) migrates as Epicor Part transactions for FIFO or average cost valuation.
Oracle JD Edwards EnterpriseOne
Sales Order Header (F4211)
Epicor Prophet 21
OrderHed (sales order header) records
1:1JDE F4211 stores sales order headers with order type, status, customer address number, and branch plant embedded in the header. We extract order headers and map JDE order status codes to Epicor OrderHed Status (open, partially shipped, closed). Header-level pricing from F4211 is preserved; line-level pricing is extracted from F42119. JDE multi-currency pricing migrates with the original exchange rate.
Oracle JD Edwards EnterpriseOne
Sales Order Line (F42119)
Epicor Prophet 21
OrderDtl (sales order detail) records
1:1JDE F42119 stores sales order lines with pricing, tax, and branch plant assignments. We map to Epicor OrderDtl with resolved PartNum, SalesUM,IUM conversions, and quantity breaks. JDE line status and promise date migrate to Epicor OrderDtl Status and ReqDate. Line type codes map to Epicor's line types (standard, make-to-order, job).
Oracle JD Edwards EnterpriseOne
Purchase Order (F4311)
Epicor Prophet 21
POHeader and PODetail records
lossyJDE F4311 uses a complex row structure where receipt and invoicing lines are intermingled with purchase order lines. We split F4311 into Epicor POHeader and PODetail records, separating open purchase order lines from completed receipt lines. Schedule dates from F4311.PRDJ migrate as Epicor line delivery dates. JDE approval workflow status maps to Epicor POHeader approval status.
Oracle JD Edwards EnterpriseOne
Work Order (F4801)
Epicor Prophet 21
JobMtl, JobOper, and JobHead records
lossyJDE Work Orders carry routing and operation step data across multiple linked tables: F4801 (header), F3112 (operations), F3003 (BOM). We extract the complete work order assembly structure and reconstruct it as Epicor Job records with JobMtl (materials) and JobOper (operations) entries. JDE status codes map to Epicor Job status (planned, released, complete, closed).
Oracle JD Edwards EnterpriseOne
Advanced Pricing (F4072)
Epicor Prophet 21
PriceLbr and PriceCnd records
lossyJDE Advanced Pricing schedules stored in F4072 with effective dates, break quantities, and adjustment types map to Epicor Price List records and Price Break conditions. We extract the full pricing hierarchy including volume discounts, customer-specific pricing, and formula-based adjustments. JDE price adjustment rules become Epicor Price Break conditions with matching Qualifiers (customer, quantity, date range).
Oracle JD Edwards EnterpriseOne
Bills of Material (F3002, F3003)
Epicor Prophet 21
PartMtl (BOM) and PartOpr (routing) records
1:1JDE BOM data in F3002 (BOM header) and F3003 (BOM detail) with revision and effectivity dates migrates to Epicor PartMtl records. The bill structure type (M for manufactured, K for kit) maps to Epicor BOM Type. Phantom bills map to Epicor Material Type 4. BOM rollup costs from JDE migrate as Epicor BomMtlBurdenCost and BomMtlMtlCost fields.
Oracle JD Edwards EnterpriseOne
Media Objects (F00165)
Epicor Prophet 21
Document Management records
1:1JDE media objects (attachments, images, embedded documents) stored in F00165 require running the R98MODAT utility to load filesystem-based media objects into the database before export. We invoke R98MODAT as a pre-export step on Tools Release 9.2.1 and later systems, then export F00165 records as Epicor Document Management records linked to the parent entity (Part, Order, Job, Quote).
Oracle JD Edwards EnterpriseOne
User Defined Objects (UDOs)
Epicor Prophet 21
Custom Objects (documented for rebuild)
1:1JDE custom reports (UBEs), custom tables, and other UDOs tracked in the Object Management Workbench do not migrate to Epicor ERP as functional equivalents. We document every UDO's name, project reservation, and data structure in a written inventory. Custom UBEs require a rewrite in Epicor Kinetic Studio Report Builder or a third-party reporting tool (Power BI, SSRS). Custom tables require schema re-creation in Epicor with a migration of their data through standard Epicor data import tools.
Oracle JD Edwards EnterpriseOne
Fixed Assets (F1201, F1202)
Epicor Prophet 21
Asset records
1:1JDE Fixed Assets stored in F1201 (master) and F1202 (transactions) migrate to Epicor Asset records with original cost, accumulated depreciation, fiscal year depreciation schedules, and asset status. JDE asset category codes map to Epicor Asset Group. Depreciation methods (straight-line, declining balance, units of production) migrate to Epicor depreciation rules. In-service date and placed-in-service date from F1201 map to Epicor acquisition date fields.
| Oracle JD Edwards EnterpriseOne | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Address Book (F0101, F0111, F0116) | Customer and Supplier records1:1 | Fully supported | |
| General Ledger (F0901) | GL Account and GL Journal records1:1 | Fully supported | |
| Accounts Payable (F0411, F0414) | AP Invoice and AP Payment records1:1 | Fully supported | |
| Accounts Receivable (F0311, F03B11) | AR Invoice and AR Receipt records1:1 | Fully supported | |
| Item Master (F4101) | Part and Part Revision records1:1 | Fully supported | |
| Branch/Plant Inventory (F4102) | PartBin (warehouse quantity) records1:1 | Fully supported | |
| Sales Order Header (F4211) | OrderHed (sales order header) records1:1 | Fully supported | |
| Sales Order Line (F42119) | OrderDtl (sales order detail) records1:1 | Fully supported | |
| Purchase Order (F4311) | POHeader and PODetail recordslossy | Fully supported | |
| Work Order (F4801) | JobMtl, JobOper, and JobHead recordslossy | Fully supported | |
| Advanced Pricing (F4072) | PriceLbr and PriceCnd recordslossy | Fully supported | |
| Bills of Material (F3002, F3003) | PartMtl (BOM) and PartOpr (routing) records1:1 | Fully supported | |
| Media Objects (F00165) | Document Management records1:1 | Mapping required | |
| User Defined Objects (UDOs) | Custom Objects (documented for rebuild)1:1 | Mapping required | |
| Fixed Assets (F1201, F1202) | Asset records1: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.
Oracle JD Edwards EnterpriseOne gotchas
JDE-to-Cloud version parity is mandatory
Media objects must be pre-loaded before export
User Defined Objects lose their project reservation
AIS REST API requires token-based authentication on v2 endpoints
Workflow thresholds silently suppress notifications
Epicor Prophet 21 gotchas
Third-party bolt-on integrations complicate migration scope
Dirty data without standardized processes compounds migration risk
SDK customizations and BPMs may not survive platform upgrades
Report-based export only for non-technical users
Per-user pricing model requires accurate user count before migration planning
Pair-specific challenges
Migration approach
Discovery and environment assessment
We audit the source JDE environment: Tools Release and Applications version from P96470, database backend (Oracle or SQL Server), active modules (Financials, Supply Chain, Manufacturing), F0005 data dictionary extensions, custom UDO count from Object Management Workbench, and media object storage location. We also assess the target Epicor ERP tenant: company structure, site/warehouse setup, chart of accounts format, and existing Part/Customer/Supplier records. The discovery output is a written migration scope with a table-level mapping specification, a JDE-to-Epicor object dependency graph, and a timeline estimate.
Pre-export preparation on JDE source system
We run the R98MODAT utility to load all filesystem-based media objects into the F00165 database table. We check AIS REST API authentication (token-based for Tools Release 9.2.26.0 and later) and validate connectivity. We document all UDO project reservations before migration and create a rollback checklist. For multi-legislative JDE deployments, we extract fiscal calendars per company code for Epicor fiscal period mapping. We confirm that all traditional objects are checked in for the path code to be exported.
Staging export and transformation
We export JDE data in dependency order: master data first (Address Book F0101, Item Master F4101), then financial balances (F0901, F0411, F0311, F1201), then transactional data (F4211/F42119 sales orders, F4311 purchase orders, F4801 work orders), then BOM and routing (F3002, F3003, F3112), then pricing (F4072), then media objects (F00165). Each export is written to a staged CSV or JSON file with the original F-prefix column names preserved. We run transformation scripts that flatten the JDE 3-segment account code (MCU.OBJ.SUB) into Epicor's account string format and split co-mingled F4311 rows into separate PO and AP records.
Epicor schema pre-creation and configuration
Before any data loads, we create the Epicor destination schema: Part records for every JDE item (F4101), Supplier records for every JDE supplier Address Book entry, Customer records for every JDE customer, and GL Account records matching the chart of accounts structure. We configure Epicor sites mapped to JDE MCU values, price lists mapped to JDE pricing schedules (F4072), and order types mapped to JDE document types. The Epicor admin validates the site/warehouse structure before we proceed to record load.
Production load in dependency order with reconciliation
We load Epicor records in strict dependency order: Part (from F4101), Supplier (from F0101 by supplier), Customer (from F0101 by customer), GL Account (from F0901), then transactional records (AP/AR from F0411/F0311, Orders from F4211/F42119, POs from F4311, Jobs from F4801), then BOM/routing (F3002/F3003), then pricing (F4072), then media objects (F00165). Each phase emits a row-count reconciliation report comparing the JDE export count to the Epicor load count. Discrepancies are investigated before the next phase begins. We use Epicor's REST API with batch chunking and exponential backoff on rate limit responses.
Cutover, delta sync, and post-migration handoff
We freeze JDE writes during cutover and run a final delta migration of any records modified during the migration window. We validate Epicor financial trial balance against the JDE GL closing balances. We deliver the UDO inventory, workflow threshold documentation, and Orchestrator schedule map to the customer's Epicor admin. We support a one-week hypercare window for reconciliation issues. We do not rebuild JDE workflows, orchestrator schedules, or UBE custom reports inside the migration scope; those are separate engagements for the customer's admin or an Epicor implementation partner.
Platform deep dives
Oracle JD Edwards EnterpriseOne
Source
Strengths
Weaknesses
Epicor Prophet 21
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. 2 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 Oracle JD Edwards EnterpriseOne and Epicor Prophet 21.
Object compatibility
2 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
Oracle JD Edwards EnterpriseOne: Not publicly documented by Oracle for the AIS Server REST API.
Data volume sensitivity
Oracle JD Edwards EnterpriseOne 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 Oracle JD Edwards EnterpriseOne to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your Oracle JD Edwards EnterpriseOne to Epicor Prophet 21 migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Oracle JD Edwards EnterpriseOne
Other ways to arrive at Epicor Prophet 21
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.