ERP migration

Migrate from Infor XA to Epicor Prophet 21

Field-level mapping, validation, and rollback between Infor XA and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.

Infor XA logo

Infor XA

Source

Epicor Prophet 21

Destination

Epicor Prophet 21 logo

Compatibility

83%

10 of 12

objects map 1:1 between Infor XA and Epicor Prophet 21.

Complexity

BStandard

Timeline

8-12 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Migrating from Infor XA to Epicor ERP is a multi-phase extraction from IBM i Db2 followed by schema translation into Epicor's REST API. Infor XA stores manufacturing data in RPG-era flat-file structures that require unpacking into relational records; there is no public API, so extraction relies on read-only SQL access to the IBM i database coordinated with the customer's IBM i administrator. We extract Items, BOMs, Work Orders, Purchase Orders, Routings, GL accounts, open AP/AR, Customer Orders, and Shop Floor Data Collection records in dependency order, starting with master data and completing with transactional history. We map multi-level XA BOMs to Epicor's single-level BOM hierarchy with operation-level sequencing, transform XA's custom fields (CMS470 user-defined fields) to Epicor User Defined Fields, and convert IBM i security profiles to Epicor's role-based access model. We do not migrate RPG programs, CL scripts, custom Business Objects, IFS-hosted document attachments, or workflows; these are documented in a written inventory for the customer's admin to rebuild in Epicor's Business Activity Management framework.

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

Infor XA logo

Infor XA

What's pushing teams away

  • The aging green-screen interface requires Citrix XenApp access and frequent password rotations, creating friction for shop floor operators and increasing IT overhead for every user session.
  • Extracting large datasets from Db2 for i requires additional steps and tooling; customers report that bulk data exports are time-consuming and often need custom scripting.
  • The pool of developers skilled in RPG and IBM i administration is shrinking, making long-term maintenance costs and customization risk escalate as tenured staff retire.
  • Limited native cloud capabilities and difficulty integrating modern CRM, eCommerce, WMS, and automation tools put XA customers at a disadvantage against competitors with cloud-native architectures.
  • High cost of customizations layered over decades of site-specific modifications creates a growing total cost of ownership that drives evaluation of modern ERP alternatives.

Choosing

Epicor Prophet 21 logo

Epicor Prophet 21

What's pulling them in

  • Industry-specific design for wholesale distributors, not a general-purpose ERP repurposed for distribution — distributors choose P21 because it matches their replenishment, kitting, and counter-sale workflows out of the box.
  • Strong inventory control with automated replenishment, lot and serial tracking, and multi-warehouse management appeals to distributors with complex stock requirements and tight margin pressure.
  • Responsive customer support cited across G2 and Gartner reviews, with Epicor's 90% retention rate reflecting long-term customer satisfaction in a market where switching costs are high.
  • Cloud deployment on Microsoft Azure provides the flexibility to scale user counts and warehouse locations without on-premise infrastructure investment.
  • The Software Development Kit lets distributors personalize P21 to their specific business processes without modifying the application source code, preserving upgrade paths.

Object mapping

How Infor XA objects map to Epicor Prophet 21

Each row shows how a Infor XA 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.

Infor XA

Item master (IM)

maps to

Epicor Prophet 21

Part (PartMaster)

1:1
Fully supported

XA Item records carry stocking codes, cost methods, warehouse assignments, lot/serial controls, and unit-of-measure conversions that map to Epicor Part and PartWhse records. We extract from the IM tables (IMITEMP, IMITEMX) and map stocking UOM, standard cost, and stocking location to Epicor Part and PartWhse. XA's stocking code (M/S/T for manufactured/stocked/transferred) translates to Epicor's TypeCode and Method of Mfg. Multi-warehouse configurations in XA generate one PartWhse record per warehouse in Epicor.

Infor XA

Bill of Material (BOM)

maps to

Epicor Prophet 21

JobMtl / PartMtl (multi-level BOM)

1:many
Fully supported

XA BOMs support multi-level, phantom, and substitute item structures with effective date windows. Migration requires recursive BOM explosion to flatten nested hierarchies into Epicor's single-level BOM format. We extract BOMM and BOMX tables, compute the full BOM tree, and map each level to Epicor PartMtl records linked to the parent Part. Phantom items (XA BOMH phantom flag) become Epicor JobMtl phantom material sequences. Effective date ranges from XA translate to Epicor's revision-effective date logic, with multiple revisions created where date-range overlaps exist.

Infor XA

Work Order (WO)

maps to

Epicor Prophet 21

JobHead / JobMtl / JobOper

1:1
Fully supported

XA Work Orders drive shop floor control with operation sequences, labor posting, and costing links. We extract WOHDDR/ WODETL tables and map WO header status, priority, type, and start/due dates to Epicor JobHead. Operation sequences map to JobOper with work center references and schedule dates. Material requirements map to JobMtl. We preserve WO-to-operation linkage and labor posting records, extracting WOLabor to post against the equivalent Epicor LaborDtl records during migration. Closed and open work orders migrate; historical WO records with status other than complete are flagged for customer review before migration.

Infor XA

Purchase Order (PO)

maps to

Epicor Prophet 21

POHeader / POLine

1:1
Fully supported

XA PO headers carry supplier assignment, terms, and delivery schedules; line items carry quantity, price, and delivery date. We extract POHDDR/PODETL and map supplier (RMSUPP to Vendor table), PO number, terms, and line status to Epicor POHeader and POLine. Open POs (released or partially received) migrate as active records; closed or received POs migrate as historical records with receipt history. Purchase order history in XA's PO receipt records requires mapping to Epicor's PORel and RcvDtl tables with vendor invoicing matched against XA's AP invoice data.

Infor XA

General Ledger (GL)

maps to

Epicor Prophet 21

GLAccount

1:1
Fully supported

XA GL accounts are defined in a structured chart of accounts with account codes, descriptions, and posting controls in COAFIL and COASEG tables. Standard account definitions export cleanly and map 1:1 to Epicor's GLAccount structure. We validate account code length and character set against Epicor's account segment rules and flag any XA account codes that exceed Epicor's segment length limits for manual remediation. GL fiscal periods, posting date ranges, and currency assignments migrate from XA's fiscal calendar and multi-currency setup to Epicor's GLFiscals and Currency tables.

Infor XA

Open AP/AR records

maps to

Epicor Prophet 21

APInvHed / ARPmtSched / ARInvoice

1:1
Fully supported

Outstanding payables and receivables carry supplier/customer references, invoice numbers, due dates, and amounts. We extract APOPEN and AROPEN tables and map to Epicor's APInvHed (header) and ARInvoice records. We flag any AP records with hold status or discount terms that require Epicor payment terms and AP validation rule mapping. Open invoice balances must tie to the migrated GL accounts to ensure Epicor's AP/APTran posting is accurate at cutover. Period assignment is preserved from XA's fiscal period structure.

Infor XA

Customer Order (SO)

maps to

Epicor Prophet 21

OrderHed / OrderDtl

1:1
Fully supported

XA sales orders link to pricing, availability checking, and inventory allocation. We extract SOHDDR/SODETL and map order headers, line items, delivery addresses, and order-specific discounts or special terms to Epicor OrderHed and OrderDtl. Order status in XA (open, partially shipped, on hold) maps to Epicor OpenLine or within completion logic. Pricing and availability checking results from XA are noted but recalculated in Epicor at migration time to reflect current inventory and pricing rules.

Infor XA

Shop Floor Data Collection

maps to

Epicor Prophet 21

LaborDtl / PartTran

1:1
Mapping required

Time entries, labor posting, and operation completions in XA's shop floor module (SFDC/SFWC tables) tie to work orders and employees. We extract labor clock-in/out records, operation completions, and scrap postings and map them to Epicor LaborDtl (linked to the migrated JobOper) and PartTran (inventory transactions for labor, scrap, and material usage). Labor cost in XA is computed using XA's labor posting rules; we migrate the hours and let Epicor recalculate cost using Epicor's labor rates and work center rates at migration time unless the customer specifies otherwise.

Infor XA

Manufacturing Routing

maps to

Epicor Prophet 21

JobOper / EmpBasic (work center reference)

1:1
Fully supported

Routings define operation sequences, work centers, and labor or machine standards tied to production in XA. We extract the RMROUTE tables and map routing operations to Epicor JobOper, resolving work center codes to Epicor's ResourceGroup and Resource tables. Operation labor hours, machine hours, and setup/cycle times from XA map to Epicor StdFormat, EstLaborHours, and EstMachineHours. We flag any XA routing work centers that have no direct Epicor ResourceGroup equivalent for customer configuration before migration.

Infor XA

Custom fields (CMS470)

maps to

Epicor Prophet 21

User Defined Fields (UDFs)

lossy
Fully supported

XA supports user-defined fields on items, suppliers, and purchase agreement headers via CMS470—these are alphanumeric, numeric, or date fields that require explicit field-level mapping to Epicor UDFs. We identify every active CMS470 field during discovery, provision matching UDFs in Epicor (with correct field type, length, and decimal places) before any data import, and map the values column-by-column. New UDFs must be created in Epicor first, which requires Epicor admin access and is sequenced before record migration begins.

Infor XA

Users and security profiles

maps to

Epicor Prophet 21

User, Customer, Supplier (RBAC model)

1:1
Fully supported

XA user accounts and IBM i security profiles define access rights and default accounting entities. We extract user records and map them to Epicor's User account with role-based security. IBM i profile authority (program object restrictions, data area access) maps to Epicor's Menu Security and Company/Site restrictions. Users with multiple company assignments in XA receive multiple Epicor Company record assignments. We flag any custom security or menu restrictions that have no direct Epicor RBAC equivalent for manual configuration.

Infor XA

Supplier (RMSUPP)

maps to

Epicor Prophet 21

Vendor

1:1
Fully supported

XA supplier master records carry terms, payment methods, and bank information that map to Epicor Vendor. We extract RMSUPP and map payment terms, currency, and bank details to Epicor Vendor records with Terms and BankAcct references. Supplier part numbers stored in XA's supplier item cross-reference map to Epicor's VendorPP (Vendor Part Preference). AP BACS/EFT bank details from XA map to Epicor's VendorBank table with appropriate bank routing and account number fields.

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.

Infor XA logo

Infor XA gotchas

High

Direct Db2 extraction required for bulk data export

Medium

IFS-hosted document attachments fall outside standard extraction

High

Decades of site-specific RPG customizations resist direct migration

Low

Citrix XenApp dependency complicates user acceptance testing

Epicor Prophet 21 logo

Epicor Prophet 21 gotchas

High

Third-party bolt-on integrations complicate migration scope

High

Dirty data without standardized processes compounds migration risk

Medium

SDK customizations and BPMs may not survive platform upgrades

Medium

Report-based export only for non-technical users

Low

Per-user pricing model requires accurate user count before migration planning

Pair-specific challenges

  • IFS-hosted document attachments do not migrate as database records

    Infor XA stores scanned documents, reports, and custom output files in the IBM i Integrated File System rather than as database records. Standard migration extracts cover database objects only. We flag this gap during scoping, recommend a parallel IFS file copy task executed by the customer's IBM i administrator, and advise customers to validate XA file reference records against IFS file paths. Document linking from XA file reference records to IFS paths must be reconciled manually against Epicor's native document attachment model or DocStar ECM if that is deployed.

  • RPG-era flat-file structures require relational unpacking before mapping

    XA data in Db2 for i often stores related fields across multiple flat-file record types that must be joined and normalized before mapping to Epicor's relational schema. BOMs, work order operations, and routing definitions frequently span multiple file members (BOMM/BOMX, WODETL/WOOP, RMROUTE/RMROPR) that require SQL joins to reconstruct a coherent record. We use native SQL joins against the IBM i Db2 to produce flattened intermediate datasets before Epicor transform mapping, which adds extraction complexity but is necessary to maintain referential integrity.

  • CMS470 custom field provisioning must precede Epicor record migration

    Every XA CMS470 user-defined field must have a matching Epicor UDF created before any corresponding record import begins, because Epicor requires the field to exist at schema level before data can be written to it. We identify every CMS470 field during discovery, provision the UDFs in Epicor with correct data type, length, and decimal precision during the schema design phase, and then map values column-by-column during record migration. This sequencing is mandatory; attempting to migrate records with unmapped custom field columns causes record rejection at import time.

  • BOM explosion for multi-level hierarchies adds significant extraction time

    XA multi-level BOMs with 10 or more levels of nesting, phantom items, and substitute components require recursive explosion during extraction before they can be mapped into Epicor's single-level BOM format. For large part families with deep BOM trees, the explosion step can extend the discovery and extraction phases by two to four weeks. We estimate BOM complexity during scoping based on the deepest BOM level and number of phantom items identified in the BOMM tables, and we build the explosion logic before committing to the migration timeline.

  • XA multi-plant configurations require Epicor company/site structuring before migration

    Organizations running XA with multiple plants sharing a single GL have a shared-chart-of-accounts structure that does not map directly to Epicor's Plant and Company hierarchy. Epicor requires each plant to be configured as a separate Site with its own site-level inventory and optionally its own Company for consolidated or separate financials. We design the Epicor company/site hierarchy during scoping based on the customer's inter-company transaction patterns, GL posting requirements, and whether a shared or split chart of accounts is needed post-migration.

Migration approach

Six steps for a successful Infor XA to Epicor Prophet 21 data migration

  1. IBM i access and extraction planning

    We coordinate with the customer's IBM i administrator to establish read-only SQL access to the XA Db2 database using a dedicated IBM i user profile with limited authority to production tables. We audit the Db2 table catalog to identify all XA data tables (IM, BOM, WO, PO, SF, GL, AP, AR, SO, RM) and document their schema dependencies. We schedule data extraction runs during non-production windows to avoid impacting live XA sessions and configure the extraction tooling (native SQL or IBM i Access ODBC) to chunk large tables into manageable CSV outputs.

  2. Data profiling and dependency mapping

    We profile the extracted XA data to assess volume (record counts per table), quality (duplicate items, orphaned BOMs, missing supplier references), and dependency order. We identify master data entities (Items, BOMs, Routings, GL Accounts, Suppliers, Customers) that must load before transactional entities (Work Orders, POs, Shop Floor records, AP/AR, Sales Orders). We surface data quality issues—duplicate part numbers, BOMs with missing parent items, GL accounts without posting controls—and deliver a cleansing checklist to the customer's XA administrator before migration design begins.

  3. Epicor schema design and UDF provisioning

    We design the destination Epicor schema based on the customer's Epicor edition, company structure, and site configuration. This includes provisioning all User Defined Fields (UDFs) that correspond to XA CMS470 custom fields, configuring the GL chart of accounts to match the migrated XA account structure, setting up Epicor work centers and resource groups mapped from XA routing definitions, configuring Part UOMs, and designing the BOM revision structure. All UDFs must be created in Epicor before record migration begins. We design the Epicor schema in a non-production Epicor environment first for validation.

  4. Master data migration in dependency order

    We migrate master data first: GL Accounts (Chart of Accounts and Fiscal Calendar), Suppliers (Vendor table), Customers (Customer table), Items (Part and PartWhse records), Bills of Material (PartMtl exploded from XA BOM tables), Manufacturing Routings (JobOper from XA RMROUTE), and finally User accounts mapped from XA IBM i profiles to Epicor RBAC roles. Each master data phase produces a reconciliation report (record count, key field validation) before the next phase begins. BOM explosion runs during this phase, producing flat BOM datasets ready for Epicor PartMtl import.

  5. Transactional data migration with referential integrity

    We migrate transactional data in dependency order after master data is validated: Open Purchase Orders (POHeader/POLine), Open Customer Orders (OrderHed/OrderDtl), Work Orders (JobHead/JobMtl/JobOper with operation sequences), Shop Floor Labor History (LaborDtl/PartTran), and Open AP/AR (APInvHed/ARInvoice). GL period balances migrate last. Each phase runs against the Epicor REST API with batch chunking, error logging, and real-time record count reconciliation. Any failed records are held in an exception queue for resolution before the next phase begins.

  6. Cutover, delta migration, and workflow inventory handoff

    We freeze writes to XA during the cutover window, run a final delta migration of any records created or modified during the migration period, validate total record counts in Epicor against source XA record counts, and hand off the system of record. We deliver a written inventory of all identified RPG custom programs, CL scripts, and XA site-specific modifications with a categorization recommendation (replace with standard Epicor feature, migrate as-is, or rebuild). We do not rebuild XA RPG programs, automations, or workflows as part of standard migration scope. We support a two-week hypercare window for data reconciliation issues identified after cutover.

Platform deep dives

Context on both ends of the pair

Infor XA logo

Infor XA

Source

Strengths

  • Deep discrete manufacturing functionality purpose-built for engineer-to-order and make-to-order production environments on IBM i.
  • Integrated financials, inventory, production, and purchasing within a single Db2 for i database reduces data synchronization overhead.
  • Long product history means extensive module coverage for mid-to-large discrete manufacturers with complex costing requirements.
  • Support for multi-site, multi-currency, and multi-company structures within a single accounting entity framework.
  • Infor ION and Infor OS integration layers provide some pathway for modern middleware connectivity despite limited native APIs.

Weaknesses

  • Green-screen-centric UI requiring Citrix XenApp creates poor user experience for modern workforce expectations and adds licensing complexity.
  • No publicly documented REST API for direct integration; data extraction relies on direct Db2 reads, CSV exports, or third-party connectors.
  • RPG and IBM i developer scarcity drives up consulting and maintenance costs as experienced staff retire from the workforce.
  • Limited cloud capabilities and mobile access lag behind modern ERP platforms with browser-based or native mobile interfaces.
  • Site-specific customizations accumulated over decades create significant migration risk and often require partial reimplementation in the target system.
Epicor Prophet 21 logo

Epicor Prophet 21

Destination

Strengths

  • Purpose-built for wholesale distribution with industry-specific replenishment, kitting, and counter-sale workflows out of the box.
  • Multi-warehouse management with bin locations, cross-docking, and real-time inventory visibility across all warehouse locations.
  • Automated replenishment engine with demand-based and min-max planning reduces stockouts and overstock carrying costs.
  • AI-infused reporting via Epicor Prism provides Gen AI-driven insights into ERP data without requiring a BI team.
  • Strong customer retention at 90% and a 50-year track record in the distribution vertical provides long-term vendor stability.

Weaknesses

  • High total cost of ownership — per-user pricing of $150-200/month plus $10K-$500K implementation creates significant budget commitment for small and mid-market distributors.
  • Customization via SDK requires technical expertise and introduces upgrade risk when custom code conflicts with new P21 releases.
  • Report generation performance is a known pain point — multiple users report system freezes during large or complex report exports.
  • Third-party bolt-on reliance for functionality that competitors include natively increases integration complexity and total solution cost.
  • Limited public API documentation — developers building custom integrations report difficulty finding P21 API authentication methods and endpoint specifications.

Complexity grading

How hard is this migration?

Standard ERP migration. 3 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Infor XA and Epicor Prophet 21.

  • Object compatibility

    B

    3 of 8 objects need a mapping; the rest are 1:1.

  • 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

    Infor XA: Not publicly documented — depends on Runtime Server (nginx gateway) configuration and IDF object limits..

  • Data volume sensitivity

    A

    Infor XA exposes a bulk API — large-volume migrations stream efficiently.

Estimator

Estimate your Infor XA to Epicor Prophet 21 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 Infor XA to Epicor Prophet 21 data migrations

Answers to the questions buyers ask most during Infor XA to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Infor XA to Epicor Prophet 21 migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between eight and twelve weeks for organizations under 50,000 Items, 20,000 BOMs, and 10,000 Work Orders with open financial records only. Migrations with decades of historical work order and shop floor labor records, deep multi-level BOM hierarchies (15+ levels), open customer orders with pricing history, or multi-plant XA configurations requiring Epicor company/site structuring move to fourteen to twenty-two weeks because of recursive BOM explosion, routing transformation, GL reconciliation, and UDF provisioning complexity.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Infor XA.
Land in Epicor Prophet 21, 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