ERP migration
Field-level mapping, validation, and rollback between Agility ERP and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
Agility ERP
Source
Epicor Prophet 21
Destination
Compatibility
9 of 12
objects map 1:1 between Agility ERP and Epicor Prophet 21.
Complexity
BStandard
Timeline
6-8 weeks
Overview
Moving from Agility ERP to Epicor ERP is a structural migration that requires careful attention to data that lives outside the standard export layer. Agility ERP stores fixed asset records in a non-standard table with no API path, so customers with active depreciation schedules must request a direct database extract before migration begins. We coordinate that extraction during scoping so it does not delay the cutover window. GL account codes in Agility ERP frequently exceed Epicor's character limit and require renumbering with a mapping table delivered alongside the chart of accounts. BOM structures, which are central to Epicor's configure-to-order and engineer-to-order capabilities, must be mapped as parent-child hierarchies with every component, routing, and work center resolved against Epicor's bill and routing schema. Workflows, automations, custom reports, and forms do not migrate; we deliver a written inventory of every Agility ERP workflow and custom report requiring rebuild in Epicor Kinetic so the customer's admin team has a concrete action list after cutover.
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 Agility ERP 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.
Agility ERP
Customer
Epicor Prophet 21
Customer
1:1Agility ERP Customer records map directly to Epicor ERP Customer (or to Epicor Customer and ShipTo depending on whether the customer has multiple ship-to addresses). We extract the customer name, address, remit-to address, payment terms, tax ID, and contact information. Email format validation runs against the migrated set, and any duplicates based on customer name or tax ID are flagged before Epicor insert. Epicor Customer requires a CustNum assigned by the system at insert time; we track the Agility ERP customer ID to CustNum mapping for use as a lookup reference on Order and Invoice records.
Agility ERP
Vendor
Epicor Prophet 21
Vendor
1:1Agility ERP Vendor records map to Epicor ERP Vendor with remit-to address, tax ID, and payment terms transferred as standard fields. We check for duplicate vendor names across the import set to prevent double-creation. Epicor Vendor also requires a VendNum assigned at insert; we maintain the Agility ERP vendor ID to VendNum mapping as a lookup reference for Purchase Order imports.
Agility ERP
Open Sales Order
Epicor Prophet 21
Sales Order
1:1Agility ERP open sales orders transfer to Epicor ERP Sales Order with line items, quantity remaining, order date, and pricing preserved. The Agility ERP order status vocabulary (Open, Released, Backordered, and any customer-specific labels) must be translated to Epicor's order status codes during a discovery-phase lookup table we build specifically for each migration. Order header and line-level discounts, freight terms, and shipping instructions transfer to the corresponding Epicor order fields.
Agility ERP
Open Purchase Order
Epicor Prophet 21
Purchase Order
1:1Open Agility ERP purchase orders migrate to Epicor ERP Purchase Order using the same status translation logic as sales orders. Line-level supplier reference fields, lead times, and receiving instructions transfer to the Epicor PO for audit trail continuity. The Agility ERP supplier reference on each PO line maps to Epicor's POLine.PurPoint or supplier part number fields.
Agility ERP
Inventory Item
Epicor Prophet 21
Part
1:1Agility ERP inventory items map to Epicor ERP Part records with stock on hand, reorder point, and cost layer data (average, FIFO, or lot cost) carried across. Agility ERP uses its own costing method per item; Epicor Kinetic supports Average, FIFO, and Standard costing, and we evaluate whether the source costing method maps cleanly to the destination method or requires a cost revaluation entry post-migration. Lot and serial number traceability migrates where present in the source data.
Agility ERP
Bill of Materials
Epicor Prophet 21
Bill and JobMOps
1:manyAgility ERP BOMs map to Epicor Kinetic Bill records with parent-part, component, quantity-per, operation sequence, and work center references resolved. Epicor Kinetic supports multi-level BOMs and configure-to-order; we validate that every Agility ERP BOM parent has a corresponding Epicor Part record before inserting, and we flag any BOM that references a component not yet migrated. Routing records (work centers, labor and machine rates, setup and run times) map to Epicor JobMOps records linked to the parent Job or Bill. This is one of the highest-risk object mappings because BOM hierarchies with 10+ levels require careful parent-child ordering and component resolution before any Epicor insert runs.
Agility ERP
Chart of Accounts
Epicor Prophet 21
GL Account
1:1Agility ERP GL account codes, descriptions, and classification (asset, liability, expense, revenue) migrate to Epicor ERP GL Account records. Any Agility ERP account code that exceeds Epicor's character limit is flagged during scoping, renumbered against a mapping table we create during discovery, and validated against Epicor's account segment structure. The mapping table is delivered alongside the chart of accounts import so the customer's finance team can audit and update it post-migration.
Agility ERP
Journal Entry
Epicor Prophet 21
GL Journal
1:1Historical Agility ERP journal entries transfer to Epicor ERP GL Journal as memo-line records. Entries that contain embedded account IDs from the legacy chart of accounts must be remapped to the new Epicor GL structure before loading. We run the remapping transform against the full journal history and flag any entry where the original account code cannot be resolved to an Epicor GL Account number.
Agility ERP
Fixed Asset
Epicor Prophet 21
Fixed Asset
lossyAgility ERP does not expose fixed asset records through its standard export layer or API. Customers with active depreciation schedules must request a direct database extract from Agility ERP support before migration begins, which may require a separate professional services engagement with DMSI. We flag any customer with a non-zero fixed-asset balance during scoping and coordinate the custom extract timing so the data arrives before the migration window. The extracted asset records are then mapped to Epicor Fixed Asset records including depreciation schedules, asset class, and book values.
Agility ERP
Custom Field
Epicor Prophet 21
UD Field or Custom Table
lossyAgility ERP stores custom fields in a non-standard extension table that requires field-by-field review to determine which fields map to Epicor UD (User-Defined) fields on the corresponding Epicor table and which require a separate custom table. Epicor Kinetic supports UD01-UD19 fields and custom Z-Table fields, but post-import population of UD fields often requires a BPM (Business Process Management) rule because the data cannot always be loaded directly through the standard import tools. We document every custom field, its Agility ERP data type, and the recommended Epicor target, and we advise on whether a BPM is needed for post-import population.
Agility ERP
Location / Site
Epicor Prophet 21
Site
1:1Agility ERP sites or warehouse locations map to Epicor ERP Site records. If Agility ERP has multiple facilities managed as separate inventory locations, each maps to a corresponding Epicor Site with its own warehouse, bin location structure, and transit time settings. Epicor Kinetic's multi-site architecture requires site assignment before inventory records can be imported.
Agility ERP
Work Order
Epicor Prophet 21
Job
1:1Agility ERP work orders with outstanding quantities transfer to Epicor ERP Job records. JobNum, part number, quantity to build, job date, and assembly sequence map across. Epicor Job records carry the production routing, work center assignments, and labor estimates; if the Agility ERP work order references a BOM and routing, those records must be migrated first so that the Job can reference them. Outstanding jobs with partially completed operations transfer with the completed operation history preserved.
| Agility ERP | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Customer | Customer1:1 | Fully supported | |
| Vendor | Vendor1:1 | Fully supported | |
| Open Sales Order | Sales Order1:1 | Fully supported | |
| Open Purchase Order | Purchase Order1:1 | Fully supported | |
| Inventory Item | Part1:1 | Fully supported | |
| Bill of Materials | Bill and JobMOps1:many | Fully supported | |
| Chart of Accounts | GL Account1:1 | Mapping required | |
| Journal Entry | GL Journal1:1 | Fully supported | |
| Fixed Asset | Fixed Assetlossy | Fully supported | |
| Custom Field | UD Field or Custom Tablelossy | Fully supported | |
| Location / Site | Site1:1 | Fully supported | |
| Work Order | Job1: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.
Agility ERP gotchas
Fixed asset data requires custom extraction
GL code character limits vary by destination
Open order status vocabulary differs from industry standards
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 scoping
We audit the Agility ERP source environment across all modules in scope: Customer count, Vendor count, open Sales Order and Purchase Order line counts, inventory item count, BOM complexity (number of levels, number of configured items), chart of accounts structure, active fixed asset count, journal entry volume, and custom field inventory. We also review the Epicor ERP target environment for existing data, GL account segment structure, site configuration, and any Epicor Kinetic edition constraints that affect object availability. The discovery output is a written migration scope with record counts per object, a fixed-asset extraction request submitted to Agility ERP support, a GL code audit against Epicor's length limits, and the Agility-to-Epicor order status translation table for review.
Schema mapping and BOM dependency analysis
We design the Epicor ERP destination schema in parallel with the Agility ERP extraction logic. This includes mapping every Agility ERP entity to its Epicor equivalent, provisioning any missing Epicor sites, setting up GL account segments to match the renumbered chart of accounts, and evaluating whether Agility ERP custom fields map to Epicor UD fields or require a separate custom table. For BOMs, we run a full dependency analysis against the inventory item list, produce a topological sort of all Bill records, and flag any component part not yet migrated so it can be loaded first. We deliver the BOM import sequence as a numbered runbook before any Epicor insert begins.
Sandbox migration and reconciliation
We run a full migration into an Epicor Kinetic test environment using production-equivalent data volume. The customer's operations and finance leads reconcile record counts (Customers in, Vendors in, Orders in, Parts in, Bills in, GL Accounts in, Journal lines in), spot-check 25-50 records per object against the Agility ERP source, and validate that BOM structures are intact. Any mapping corrections, missing GL account codes, or BOM sequencing issues surface here. The customer signs off the sandbox results before production migration begins.
Data extraction and transformation
We extract data from Agility ERP using the platform's native reporting layer and direct database reads where APIs do not cover all entity types. Fixed assets are extracted from the custom database extract provided by Agility ERP support. All source data passes through the transformation layer: GL account renumbering, order status translation, BOM component resolution, and journal entry remapping to the new GL structure. We produce a data quality report identifying any record that could not be transformed automatically and requires customer input before migration.
Production migration in dependency order
We run production migration in record-dependency order: Sites (for multi-warehouse configurations), GL Accounts, Customers and Vendors (with deduplication checks), Parts (with costing method resolved), Bills (in BOM dependency order), Jobs and open Work Orders, Sales Orders, Purchase Orders, Inventory transactions, Journal entries, Fixed Assets, and Custom field data. Each phase emits a row-count reconciliation report before the next phase begins. The Epicor Kinetic Bulk API and REST endpoints are used with rate-limit handling, exponential backoff, and batch chunking for large record sets.
Cutover, validation, and workflow rebuild handoff
We freeze Agility ERP writes during cutover, run a final delta migration of any records modified during the migration window, then enable Epicor ERP as the system of record. We deliver the custom field mapping inventory, the BOM import sequence runbook, the GL code mapping table, and the workflow and custom report inventory document to the customer's admin team. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team. We do not rebuild Agility ERP workflows, automations, or custom reports inside the migration scope; that work is documented for the customer's Epicor implementation team to address post-cutover.
Platform deep dives
Agility ERP
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 Agility ERP 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
Agility ERP: Not publicly documented.
Data volume sensitivity
Agility ERP 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 Agility ERP to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your Agility ERP 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 Agility ERP
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.