ERP migration

Migrate from ERPAG to Epicor Prophet 21

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

ERPAG logo

ERPAG

Source

Epicor Prophet 21

Destination

Epicor Prophet 21 logo

Compatibility

79%

11 of 14

objects map 1:1 between ERPAG and Epicor Prophet 21.

Complexity

BStandard

Timeline

6-10 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from ERPAG to Epicor ERP is a platform upgrade that reflects how the customer's manufacturing complexity has outgrown SMB-tier tooling. ERPAG is scoped for small-to-midsize manufacturers who need clean inventory, sales, and purchasing tracking with basic MRP; Epicor Kinetic targets 50-to-2,500-employee discrete manufacturers who need deep shop floor control, MES, configure-to-order, multi-level BOMs, and job costing at scale. We sequence the migration around ERPAG's API rate limit of 2 requests per second, exporting historical data in date-range chunks during off-peak hours to avoid blocking live operations. Custom fields exist on most ERPAG objects and are Advanced-plan exclusives, so we scope plan tier first. The double-SKU supplier mapping on Purchase Orders migrates into Epicor's Supplier Part Cross Reference (PartXRefRef) table, and ERPAG's BOM structures require flattening or nesting reconstruction depending on the target Epicor module (PDM or MES). Localization settings do not retroactively rewrite ERPAG documents, so currency and tax configurations are scoped separately from historical document migration. Workflows, automations, B2B portal configurations, and custom document types do not migrate as code; we deliver a written inventory of these for the customer's Epicor admin to rebuild post-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

ERPAG logo

ERPAG

What's pushing teams away

  • No human resources module — businesses needing employee tracking, payroll, or HR workflows must bolt on a separate system or migrate entirely.
  • Limited third-party app integrations beyond the advertised eCommerce and QuickBooks connectors; some users report difficulty finding or enabling integrations.
  • Manufacturing cost estimation gaps cause frustration when input prices fluctuate due to inflation, exchange rates, or supply disruptions.
  • Advanced features like Automation and Customer Portal are gated behind the Advanced plan, pushing growing companies toward unexpected upgrade costs.
  • The platform lacks negative inventory handling, and concurrent-user write conflicts can create phantom negative quantities that require manual repair.

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

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

ERPAG

Item

maps to

Epicor Prophet 21

Part

1:1
Fully supported

ERPAG Items map to Epicor Part records with PartNumber derived from the ERPAG SKU, Description from the Item name, and UnitCost from the current standard cost. ERPAG's cost and price fields translate to Part.StandardBurdenCost, Part.StandardLaborCost, and Part.StandardMaterialCost on the manufacturing cost roll. Stock levels per warehouse migrate to PartWhse records, one per ERPAG warehouse, with OnHandQty and BinCode resolved. We handle any phantom negative quantities from ERPAG's concurrent-write glitch by applying the Repairs and Maintenance fix before extracting stock data.

ERPAG

Customer

maps to

Epicor Prophet 21

Customer

1:1
Fully supported

ERPAG Customer records map to Epicor Customer with CustID derived from the ERPAG customer code, Name from the company name, and Address fields mapped to the primary billing address. ERPAG's financial overview fields (credit limit, payment terms) migrate to Customer fields. ShipTo addresses migrate as CustomerShipTo records linked to the parent Customer. We resolve any B2B portal assignments from ERPAG as notes for the customer's admin to configure in Epicor Customer Connect or a portal equivalent.

ERPAG

Supplier

maps to

Epicor Prophet 21

Supplier

1:1
Fully supported

ERPAG Suppliers map to Epicor Supplier with SupplierID derived from the ERPAG supplier code. ERPAG's double-SKU fields, which store the supplier's own SKU alongside ERPAG's internal SKU, migrate to Epicor's Supplier Part Cross Reference table (PartXRefRef) as part of the same migration pass. Purchasing terms and payment terms map to the Supplier record's standard fields. We preserve the cross-SKU mapping so that future purchase orders in Epicor can reference supplier part numbers directly.

ERPAG

Sales Order

maps to

Epicor Prophet 21

OrderHed + OrderDtl

1:1
Fully supported

ERPAG Sales Orders map to Epicor OrderHed (header) and OrderDtl (line) records. The ERPAG payment_status column is preserved as an OrderHed field. Line items map with Quantity, UnitPrice, and the ERPAG Item SKU resolved to an Epicor PartNum. We migrate open and recently closed sales orders; fully historical orders beyond the reporting window are flagged for archival rather than live migration to avoid performance load in Epicor.

ERPAG

Invoice

maps to

Epicor Prophet 21

InvoiceHed + InvoiceDtl

1:1
Fully supported

ERPAG Invoices map to Epicor InvoiceHed and InvoiceDtl with InvoiceNum as the reference, Customer mapped to CustNum, and invoice totals mapped to open or closed status fields. Tax amounts and currency from ERPAG's localization settings are preserved as-is, noting that ERPAG's currency and tax code settings are frozen at company initialization and do not retroactively rewrite historical documents.

ERPAG

Purchase Order

maps to

Epicor Prophet 21

POHeader + PODetail

1:1
Fully supported

ERPAG Purchase Orders map to Epicor POHeader and PODetail. The double-SKU entry (ERPAG SKU + supplier SKU) is resolved using the PartXRefRef table created during the Supplier migration pass. Goods-received state from ERPAG maps to PODetail.ReceivedQty. We flag any ERPAG Purchase Orders in pending or draft state for the customer's Epicor admin to review before finalizing.

ERPAG

Quotation

maps to

Epicor Prophet 21

QuoteHed + QuoteDtl

1:1
Fully supported

ERPAG Quotations map to Epicor QuoteHed and QuoteDtl with validity dates, pricing, and custom fields preserved. Quotation line items resolve Item SKUs to Epicor PartNums. ERPAG's quotation-to-sales-order conversion history is noted as a data point for Epicor's quote-to-order workflow rebuild.

ERPAG

Work Order

maps to

Epicor Prophet 21

JobHead + JobMtl + JobOper

1:many
Fully supported

ERPAG Work Orders map to Epicor JobHead, with estimated materials sourced from ERPAG's BOM references, estimated labor from ERPAG's cost fields, and actuals preserved for job costing. ERPAG's production status maps to JobHead.JobClosed, JobHead.JobComplete, or JobHead.JobEngineered. Estimated vs. actual cost fields migrate as JobMtl and JobOper cost fields. For work orders without BOM references in ERPAG, we flag for manual routing assignment in Epicor before migration closes.

ERPAG

Bill of Materials (BOM)

maps to

Epicor Prophet 21

PartMtl (multi-level)

1:many
Fully supported

ERPAG BOMs map to Epicor PartMtl records. Single-level BOMs from ERPAG map directly to one PartMtl parent per BOM. Multi-level nested BOMs in ERPAG (if present in Advanced-plan accounts) are expanded and reconstructed as a hierarchy of PartMtl records with the correct ParentPartNum and MtlPartNum references. ERPAG BOM revision tracking maps to Epicor's revision control on Part. If ERPAG BOMs use sub-assemblies not present as standalone parts in Epicor, we flag them for BOM-level review before import.

ERPAG

Warehouse

maps to

Epicor Prophet 21

Site + Warehse

1:1
Fully supported

ERPAG Warehouses map to Epicor Site (the facility or plant level) and Warehse (the physical warehouse within a site). ERPAG's per-warehouse tax settings, currency, and price list settings are documented as configuration notes for the customer's Epicor admin to apply at the Site or Company configuration level, since these are company-initialized settings in Epicor that do not retroactively rewrite imported data.

ERPAG

Custom Field

maps to

Epicor Prophet 21

User Defined Field (UDF) or Custom Field

1:1
Fully supported

ERPAG Custom Fields (up to 15 per document type) map to Epicor User Defined Fields (UDFs) or Extended User Defined Fields depending on the ERPAG custom field type (Free text, List, Amount, Price, Date, Date and time). Custom Tables defined via ERPAG's Custom Table feature (introduced 2025) require schema review to determine whether they map to Epicor UD Codes, a custom table, or a related entity. Custom fields are Advanced-plan exclusives; we verify plan tier during scoping and flag any Advanced-gated objects that appear in the data inventory.

ERPAG

User and User Role

maps to

Epicor Prophet 21

User + UserGrp

1:1
Fully supported

ERPAG Users map to Epicor Users with username, email, and active/inactive status preserved. Role-based permissions from ERPAG document restrictions and general restrictions are exported as scope notes for the customer's Epicor admin to rebuild using Epicor's Security Manager and Role configuration. Active vs. inactive status determines whether the user is provisioned as active in Epicor or held in a provisioning queue.

ERPAG

Item Warehouse Stock

maps to

Epicor Prophet 21

PartWhse

1:many
Fully supported

ERPAG's per-warehouse stock levels (OnHandQty, reserved quantity, available quantity) for each Item map to Epicor PartWhse records, one per warehouse-site combination. Bin locations from ERPAG map to PartBin records if Epicor's warehouse management configuration is active. We detect and repair any phantom negative quantities during the export phase before PartWhse records are created in Epicor.

ERPAG

Supplier Pricing

maps to

Epicor Prophet 21

SupplierPriceList

1:1
Fully supported

ERPAG supplier-specific pricing guidelines (per-item price breaks by quantity tier) map to Epicor Supplier Price List records linked to the Supplier and Part. ERPAG's multi-warehouse pricelists require separate scoping if the customer uses Epicor's per-site price list configuration.

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.

ERPAG logo

ERPAG gotchas

High

API rate limit of 2 requests per second throttles bulk migration speed

High

Localization settings do not retroactively rewrite existing documents

Medium

Plan tier gates Customization, Portal, and Automation features

Medium

No native negative inventory support; phantom negatives require repair step

Low

Delete-all-transactions preserves inventory and contacts, requiring separate scoping

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

  • ERPAG's 2 req/sec API rate limit throttles bulk export speed

    ERPAG's Smart API enforces a strict 2 requests per second rate limit across all authenticated endpoints. For migrations involving thousands of Items, Customers, Sales Orders, and Work Orders, this cap extends the export window to multiple days if raw API polling is used. We handle this by implementing request pacing, chunking historical data by date ranges, and running export phases during off-peak hours. For very large datasets, we supplement API extraction with ERPAG's XLS export endpoints where available to reduce API call count without violating the rate limit.

  • BOM nesting depth requires reconstruction in Epicor

    ERPAG's BOM structures are flatter than Epicor's multi-level method-driven BOM model. If ERPAG Advanced-plan accounts used nested BOMs (BOMs referencing sub-assemblies that are themselves BOMs), the nesting hierarchy must be expanded and reconstructed as a tree of PartMtl records in Epicor with correct ParentPartNum and MtlPartNum references. Sub-assemblies in ERPAG that are not standalone Parts must be provisioned as Parts in Epicor before BOM import, or flagged for manual review. Skipping this step results in flat BOMs in Epicor that do not reflect the intended production structure.

  • Localization settings do not retroactively rewrite historical documents

    ERPAG's language, currency, date format, and tax code settings are initialized at company creation and do not retroactively apply to existing documents. If the customer changed their base currency or tax jurisdiction after data was created, all historical documents retain the original values. We flag this during scoping, separate historical document migration from live go-live configuration, and document any currency or tax mismatches as pre-migration findings for the customer's Epicor admin to address in the go-live checklist.

  • Plan tier gates Customization, Portal, and Automation features

    Custom document types, custom fields, B2B portal configuration, and Automation scripts in ERPAG are Advanced-plan exclusives ($199/month). Migrations scoped from a Basic or Professional account cannot export these objects until the customer upgrades. We include a plan-check step in our scoping questionnaire, verify the customer's current plan tier against the Advanced feature list, and flag any Advanced-gated objects that appear in the data inventory. If the customer upgrades mid-migration, we re-export the Advanced-gated objects as a separate pass.

  • Double-SKU supplier mapping requires PartXRefRef setup in Epicor

    ERPAG uses a double-SKU model on Purchase Orders where both ERPAG's internal SKU and the supplier's own SKU are stored on the same line. This cross-reference must be migrated into Epicor's Supplier Part Cross Reference table (PartXRefRef) before Purchase Order import can succeed, because Epicor's PODetail references the supplier part number via the cross-reference. If the PartXRefRef table is not populated first, PO lines referencing supplier SKUs will fail validation during import.

Migration approach

Six steps for a successful ERPAG to Epicor Prophet 21 data migration

  1. Discovery and plan tier verification

    We audit ERPAG across plan tier, custom field definitions, custom tables, BOM structures, warehouse count, active supplier pricing tiers, and transaction volume by object type. We identify Advanced-plan-gated objects (custom fields, custom documents, B2B portal configurations, automation scripts) and confirm the customer's ERPAG plan tier. If Advanced-gated objects appear in the data inventory and the customer is on Basic or Professional, we flag the upgrade requirement before proceeding. The discovery output is a written migration scope with object inventory, BOM complexity rating, and an Epicor edition recommendation based on the customer's target user count and manufacturing module requirements.

  2. BOM analysis and PartXRefRef schema prep

    We analyze ERPAG BOM structures for nesting depth, sub-assembly usage, and revision tracking patterns. We map single-level BOMs directly to PartMtl records. For multi-level BOMs, we reconstruct the nesting tree and identify any sub-assemblies that require Part provisioning before BOM import. In Epicor, we pre-create the PartXRefRef cross-reference records for every supplier-SKU pair extracted from ERPAG Purchase Orders, so that PODetail imports resolve correctly. BOM revision history is documented as a configuration note for Epicor's revision control setup.

  3. Warehouse and Site mapping

    We map every ERPAG Warehouse to an Epicor Site and Warehse combination. Per-warehouse tax settings, currency, and price list settings from ERPAG are documented as configuration notes for Epicor Company and Site initialization rather than imported as data. We run the phantom negative quantity repair step from ERPAG (Repairs and maintenance in database settings) before extracting stock levels, ensuring that PartWhse.OnHandQty records in Epicor reflect corrected quantities.

  4. Sandbox migration and reconciliation

    We run a full migration into an Epicor Sandbox using production-like data volume. ERPAG's API rate limit means this phase runs in chunked export batches with pacing, so the sandbox pass validates that our date-range chunking, BOM nesting reconstruction, and PartXRefRef resolution produce the expected record counts and relationships in Epicor. The customer's manufacturing operations lead spot-checks PartRev BOM structures, Job costing on Work Orders, and PartWhse bin allocations against the ERPAG source. Schema corrections happen here, not in production.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Sites and Warehouses (configured, not migrated), Parts and PartRev (BOM revision), PartMtl (BOM structure), PartWhse (stock levels), Suppliers and PartXRefRef (cross-references), Customers and CustomerShipTo, QuoteHed and QuoteDtl, POHeader and PODetail, OrderHed and OrderDtl, InvoiceHed and InvoiceDtl, JobHead and JobMtl and JobOper (Work Orders), Custom Fields and UDFs (with plan-tier verification), and User provisioning notes for the customer's Epicor admin. Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, delta migration, and automation rebuild handoff

    We freeze ERPAG writes during cutover, run a final delta migration of any records created or modified during the migration window, then enable Epicor as the system of record. We deliver a written inventory of ERPAG Automation scripts, B2B portal configurations, and custom document types with recommended Epicor equivalents (Kinetic Business Process Management, Customer Connect portal, Customization via Kinetic Studio). The customer's Epicor admin or implementation partner rebuilds automations and portal configuration post-cutover. We support a one-week hypercare window for reconciliation issues. We do not rebuild ERPAG workflows as Epicor Kinetic automations inside the migration scope.

Platform deep dives

Context on both ends of the pair

ERPAG logo

ERPAG

Source

Strengths

  • Transparent per-seat pricing with a 15-day free trial and no long-term contract required.
  • Built-in MRP (Material Requirements Planning) for manufacturing businesses with BOM management and work order tracking.
  • Multi-warehouse support with per-warehouse tax, currency, and price list settings.
  • B2B customer portal with Stripe payment integration for wholesale and field-agent self-service ordering.
  • Customization via JSON/XML designer and Blockly scripting allows building custom document types and API endpoints.

Weaknesses

  • No native HR or payroll module, requiring a separate system for employee management.
  • Automation and customer portal features are Advanced-plan exclusives, limiting functionality at lower tiers.
  • API is rate-limited to 2 requests per second, making large historical data migrations time-intensive.
  • No support for negative inventory quantities; concurrent writes can create phantom negative balances requiring manual cleanup.
  • Limited third-party ecosystem compared to larger ERPs, with fewer pre-built connectors beyond eCommerce platforms.
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 ERPAG 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

    ERPAG: 2 requests per second.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

Walk through your ERPAG 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 six and ten weeks for accounts under 10,000 Items, 2,000 Customers, and 5,000 Work Orders with straightforward BOM structures. Migrations with multi-level BOMs (over 500 BOM revisions), high transaction history (over 50,000 invoices and purchase orders), or multiple warehouse configurations requiring Site and PartWhse mapping extend to fourteen to twenty-two weeks because of BOM nesting reconstruction, PartXRefRef resolution, and Epicor configuration time.

Adjacent paths

Related migrations to explore

Ready when you are

Move from ERPAG.
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