ERP migration

Migrate from Agility ERP to Epicor Prophet 21

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 logo

Agility ERP

Source

Epicor Prophet 21

Destination

Epicor Prophet 21 logo

Compatibility

75%

9 of 12

objects map 1:1 between Agility ERP and Epicor Prophet 21.

Complexity

BStandard

Timeline

6-8 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

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.

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

Agility ERP logo

Agility ERP

What's pushing teams away

  • Does not integrate all business processes automatically, forcing teams to track certain workflows manually outside the system and creating data silos.
  • The interface feels outdated compared to newer cloud ERPs, with limited mobile functionality and a UI that has not kept pace with modern design expectations.
  • Difficulties managing user permissions and access rights, where configuring granular role-based access requires significant admin time and often outsized IT involvement.

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 Agility ERP objects map to Epicor Prophet 21

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

maps to

Epicor Prophet 21

Customer

1:1
Fully supported

Agility 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

maps to

Epicor Prophet 21

Vendor

1:1
Fully supported

Agility 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

maps to

Epicor Prophet 21

Sales Order

1:1
Fully supported

Agility 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

maps to

Epicor Prophet 21

Purchase Order

1:1
Fully supported

Open 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

maps to

Epicor Prophet 21

Part

1:1
Fully supported

Agility 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

maps to

Epicor Prophet 21

Bill and JobMOps

1:many
Fully supported

Agility 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

maps to

Epicor Prophet 21

GL Account

1:1
Mapping required

Agility 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

maps to

Epicor Prophet 21

GL Journal

1:1
Fully supported

Historical 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

maps to

Epicor Prophet 21

Fixed Asset

lossy
Fully supported

Agility 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

maps to

Epicor Prophet 21

UD Field or Custom Table

lossy
Fully supported

Agility 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

maps to

Epicor Prophet 21

Site

1:1
Fully supported

Agility 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

maps to

Epicor Prophet 21

Job

1:1
Fully supported

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

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.

Agility ERP logo

Agility ERP gotchas

High

Fixed asset data requires custom extraction

Medium

GL code character limits vary by destination

Medium

Open order status vocabulary differs from industry standards

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

  • Fixed asset records require a custom extraction from Agility ERP

    Agility ERP does not expose fixed asset records through its standard reporting layer or API. Customers migrating away who have active depreciation schedules must request a direct database extract from Agility ERP support, which adds lead time and may require a separate professional services engagement. We flag any customer with a non-zero fixed-asset balance during scoping and coordinate the custom extract before the migration window opens. Without this step, fixed asset data is not available for import into Epicor ERP.

  • GL account codes frequently exceed Epicor length limits

    Agility ERP allows longer account code strings than Epicor ERP imposes. During import scoping we audit every account code against the target system's length limits and renumber any that exceed the threshold. Codes that change require a mapping table that we deliver alongside the migrated chart of accounts. The customer's finance team must update any downstream documents, reporting, and integrations that reference the old account codes.

  • BOM hierarchies demand parent-child ordering before Epicor insert

    Epicor Kinetic requires that every component part in a BOM exists in the Part table before the Bill record can reference it. Agility ERP BOMs with multi-level structures must be imported in strict dependency order, with top-level assemblies loaded last after all sub-assemblies and purchased components are already present. We run a topological sort on the BOM dataset before any Epicor insert to identify and resolve circular references and missing components. BOMs that are not imported in dependency order cause Epicor to reject the Bill insert and halt the inventory migration.

  • Order status vocabulary requires an explicit Agility-to-Epicor translation table

    Agility ERP uses a proprietary set of order status labels that do not map directly to Epicor ERP's standard order status codes. We build a customer-specific status lookup table during the discovery phase so that every open sales order and purchase order lands with the correct status in Epicor. Without this mapping, orders can appear in the wrong workflow stage after cutover, causing purchasing teams to act on incorrectly labeled purchase orders or sales teams to miss orders in their fulfillment queue.

  • Custom fields require field-by-field review and possible BPM logic post-import

    Agility ERP stores custom fields in a non-standard extension table that does not map automatically to Epicor UD fields. We review every active custom field during scoping, identify the corresponding Epicor target (UD01-UD19 field, Z-Table, or separate custom table), and flag any that require a BPM to populate post-import because the import tool cannot write directly to those field types. This review typically adds one to two days to the discovery phase but prevents silent data loss on fields that appear empty after cutover.

Migration approach

Six steps for a successful Agility ERP to Epicor Prophet 21 data migration

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

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

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

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

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

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

Context on both ends of the pair

Agility ERP logo

Agility ERP

Source

Strengths

  • Full accounting, inventory, and order management in a single integrated system.
  • Fast implementation timeline relative to enterprise ERP alternatives.
  • Low total cost of ownership including licensing, deployment, and ongoing maintenance.

Weaknesses

  • Limited native integrations with third-party tools and external systems.
  • Outdated user interface with minimal mobile app capabilities.
  • User permission management requires significant administrative effort to configure correctly.
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. 2 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 Agility ERP and Epicor Prophet 21.

  • Object compatibility

    B

    2 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

    Agility ERP: Not publicly documented.

  • Data volume sensitivity

    B

    Agility ERP doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

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

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

Can't find your answer?

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 consultation

Most Agility ERP to Epicor ERP migrations land between six and eight weeks for customers under 5,000 records per entity type with straightforward GL structures and no active fixed asset schedules. Migrations with complex multi-level BOMs, active depreciation schedules requiring custom extraction, open orders exceeding 2,000 lines, or multi-site inventory configurations move to twelve to twenty weeks because of BOM dependency analysis, fixed-asset extraction lead time, and Epicor Kinetic test cycles.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Agility ERP.
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