ERP migration

Migrate from Epicor Prophet 21 to Acumatica

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

Epicor Prophet 21 logo

Epicor Prophet 21

Source

Acumatica

Destination

Acumatica logo

Compatibility

93%

14 of 15

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

Complexity

BStandard

Timeline

2–5 days

Rollback included Accuracy guarantee Field-level validation

Try the reverse

Acumatica
Epicor Prophet 21

Overview

What this migration involves

Epicor Prophet 21 stores data in a Microsoft SQL Server database organized in header/detail table pairs — oe_hdr/oe_line for orders, po_hdr/po_line for purchase orders, customer tables with address splits, and user-defined fields in separate UDF tables. Acumatica exposes a REST API backed by an identical relational model — Customers, Stock Items, Sales Orders, Purchase Orders, Warehouse Management — so direct field-to-field mapping is structurally straightforward. The migration complexity lives in three zones: P21 user-defined fields (scattered across multiple tables) must be consolidated into Acumatica's user-defined field framework; P21's multi-company-in-one-database model must map to Acumatica's per-company tenant structure or a single company with cost-bucket segmentation; and P21 DynaChange customizations and Business Rules have no Acumatica equivalent and must be documented for rebuild. We extract from P21 via direct SQL queries (on-premises) or the P21 Data Services OData API (cloud/SaaS), stage in a FlitStack-controlled schema, transform all field names and data types, then load into Acumatica via its REST API with batch upsert. A delta-pickup window captures any P21 records modified during the cutover window, and an audit log with one-click rollback covers reconciliation failures.

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

Epicor Prophet 21 logo

Epicor Prophet 21

What's pushing teams away

  • High costs for add-ons, new modules, and per-user pricing create budget surprises, especially for growing distributors adding functionality beyond the base subscription.
  • Difficult and limited customization options frustrate teams trying to adapt P21 to non-standard workflows, with G2 reviewers citing extensive manual adjustments and SKU field maintenance struggles.
  • Report generation performance is poor — multiple reviewers note the system freezes or takes excessive time to download reports, impacting daily operational workflows.
  • Missing features require teams to layer third-party bolt-ons for functionality that competitors bundle in, increasing total cost and integration complexity.
  • Upgrade paths can break SDK customizations and Business Process Modules, creating migration risk and forcing costly re-development when moving to newer Epicor versions.

Choosing

Acumatica logo

Acumatica

What's pulling them in

  • Unlimited user licensing lets companies add staff without per-seat billing shocks, making Acumatica cost-predictable at scale.
  • Flexibility and scalability earn consistent praise — users value a platform that adapts to vertical workflows without forcing a redesign.
  • Real-time visibility across financials, inventory, and projects gives mid-market businesses a consolidated operational view previously available only in enterprise-tier ERPs.
  • Cloud-native architecture with automatic updates removes infrastructure management burden from in-house IT teams.
  • Modular licensing lets companies start with one or two suites (Financials, Distribution) and expand into Manufacturing or CRM incrementally.

Object mapping

How Epicor Prophet 21 objects map to Acumatica

Each row shows how a Epicor Prophet 21 object lands in Acumatica, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Epicor Prophet 21

Customer (cust_hdr)

maps to

Acumatica

Customer (CR303000)

1:1
Fully supported

P21 customer header maps to Acumatica Customer. P21's company_cd and cust_id combine to form Acumatica's CustomerID. Primary contact name and email pull from the cust_contact join; P21's credit_limit has no native Acumatica equivalent and migrates as a custom decimal field on the customer summary.

Epicor Prophet 21

Customer Address (cust_addr)

maps to

Acumatica

Customer Location (CR303010)

1:1
Fully supported

P21 stores addresses in a separate cust_addr table keyed by cust_id and addr_cd. Each address row becomes an Acumatica Customer Location — AddressLine1, City, State, ZIP, Country map directly. The primary address flag (addr_cd = 'MAIN') becomes the IsDefaultLocation flag in Acumatica.

Epicor Prophet 21

Vendor (vendor_hdr)

maps to

Acumatica

Vendor (AP303000)

1:1
Fully supported

P21 vendor header maps to Acumatica Vendor. P21 vendor_id becomes VendorCD in Acumatica; vendor_name becomes the VendorName attribute. The vendor's primary address (from vendor_addr) is also pulled during extraction and written to the default vendor location in Acumatica. Terms of payment (vendor.terms_code) maps to Acumatica's PaymentTermID by value lookup against the terms table, with unmatched codes defaulting to net-30.

Epicor Prophet 21

Vendor Location (vendor_addr)

maps to

Acumatica

Vendor Location (AP303010)

1:1
Fully supported

P21's vendor address table maps to Acumatica Vendor Location with AddressLine1, City, State, and ZIP carried over directly. The primary vendor contact (contact_name, phone, email) populates the Vendor Contact fast-tab on the Acumatica vendor record, preserving the full vendor communication profile established in P21.

Epicor Prophet 21

Item (inv_hdr / item)

maps to

Acumatica

Stock Item (IN202000)

1:1
Fully supported

P21 item master (inv_hdr or item table depending on P21 version) maps to Acumatica Stock Item. P21 part_no becomes InventoryCD; description becomes Description. Item class (prod_cat or item_class) maps to Acumatica ItemClassID; UOM from P21's uom_code maps to Acumatica's BaseUnit and SalesUnits.

Epicor Prophet 21

Item Warehouse (inv_loc)

maps to

Acumatica

Warehouse (WH204000) + Stock Item Site

1:1
Fully supported

P21 warehouse locations (inv_loc table with whse_cd and loc_cd) map to Acumatica Warehouses. Each unique P21 warehouse code generates a corresponding Acumatica warehouse. Qty on hand, reorder point, and safety stock from P21's inv_loc aggregate into Acumatica's Stock Item Site records (IN2040S0 series) linked to each warehouse, preserving the on-hand position at the location level.

Epicor Prophet 21

Sales Order Header (oe_hdr)

maps to

Acumatica

Sales Order (SO301000)

1:1
Fully supported

P21 order header (oe_hdr) maps to Acumatica Sales Order. Order number, order date, customer ID, and branch (whse_cd) map directly. P21 order status codes (HOLD, OPEN, SHIPPED) map to Acumatica Status values by value lookup. Freight and miscellaneous charges carry into Acumatica's Order Total.

Epicor Prophet 21

Sales Order Line (oe_line)

maps to

Acumatica

Sales Order Detail (SO3010L0)

1:1
Fully supported

P21 order lines (oe_line) map to Acumatica Sales Order Details. Line number, part number (as InventoryID), description, quantity ordered, quantity shipped, unit price, and warehouse branch all transfer directly. Any promotional or volume discounts recorded in P21's disc_pct field become Acumatica's ManualDiscount field, preserving the original pricing intent at the line level.

Epicor Prophet 21

Purchase Order Header (po_hdr)

maps to

Acumatica

Purchase Order (PO301000)

1:1
Fully supported

P21 PO header maps to Acumatica Purchase Order. VendorID, order date, terms, and branch warehouse transfer directly via direct field mapping. Acumatica uses a separate Vendor Ref (VendorRefNbr) field that captures P21's po_num for cross-system reconciliation, ensuring your AP team can match P21 PO numbers to Acumatica documents without ambiguity.

Epicor Prophet 21

Purchase Order Line (po_line)

maps to

Acumatica

Purchase Order Detail (PO3010L0)

1:1
Fully supported

P21 PO lines map to Acumatica PO Details with line number, part number, description, quantity ordered, qty received, and unit cost carried over. P21 landed cost elements (freight, duty) require Acumatica's landed cost feature configuration before lines can capture those values.

Epicor Prophet 21

User-Defined Fields (P21 UDF tables)

maps to

Acumatica

Custom Fields (Acumatica UDF Framework)

1:1
Fully supported

P21 UDFs are stored in separate tables per module (e.g., cust_udf, item_udf) with column names that are user-defined. Each UDF column becomes an Acumatica user-defined field on the corresponding screen — string UDFs become String fields, numeric UDFs become Decimal fields, and date UDFs become Date fields. An inventory UDF table covering 20+ custom columns will generate 20+ Acumatica custom field definitions.

Epicor Prophet 21

Part Cross-Reference (xc_ref)

maps to

Acumatica

Inventory Cross-Reference (IN2040G0)

1:1
Fully supported

P21's part cross-reference table (xc_ref) maps to Acumatica's Inventory Cross-Reference screen. Each P21 alternate part number, manufacturer code, or customer-specific part ID becomes an Acumatica cross-reference row with the appropriate type designation (Vendor, Customer, or Manufacturer). The reference description and any preferred-vendor flags carry over to maintain your current sourcing relationships in Acumatica.

Epicor Prophet 21

Lot / Serial Number (lot_ser)

maps to

Acumatica

Lot / Serial Class (IN201030) + InventoryReceipt Details

1:1
Fully supported

P21 lot/serial tracking data (lot_ser table) maps to Acumatica's Lot/Serial classes and receipt-level detail. Lot number, expiration date, and quantity on hand carry into Acumatica's LotSerialNbr and Qty fields. Acumatica's attribute configuration on the lot class captures any P21 lot-level custom fields.

Epicor Prophet 21

P21 Company Segmentation

maps to

Acumatica

Acumatica Company / Cost Bucket

1:many
Fully supported

P21 multi-company databases share a single schema with company-segmented data — each company has its own cust_id, vendor_id, and order number sequences. Teams with 2–5 P21 companies can map to individual Acumatica tenants (for isolated tax/reporting) or a single Acumatica company with cost-bucket segmentation for shared GL accounts. FlitStack surfaces the trade-offs in the migration plan before the run.

Epicor Prophet 21

DynaChange Customizations

maps to

Acumatica

No Equivalent — Acumatica Customization Project

1:1
Fully supported

P21 DynaChange allows UI layout modifications, tab additions, and field visibility rules. Acumatica has no DynaChange equivalent — UI customizations are built as Acumatica Customization Projects (screen extensions, PX graph overrides). FlitStack inventories all DynaChange rules during discovery and exports a functional specification for your Acumatica developer to rebuild as customization projects.

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.

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

Acumatica logo

Acumatica gotchas

High

API user licenses cap concurrent sessions and request throughput

High

Multi-tenant filtering requires CompanyID awareness

Medium

Custom fields require separate discovery before field mapping

Medium

Notes and attachments use a separate linked table structure

Low

Implementation timelines frequently run 3–9 months end-to-end

Pair-specific challenges

  • P21 UDFs are scattered across separate tables and must be inventoried before Acumatica field creation

    Epicor Prophet 21 stores user-defined fields in module-specific tables — cust_udf for customer UDFs, item_udf for item UDFs, and so on — with column names defined by your P21 administrator. Acumatica's UDF framework requires pre-creating each field on the target screen before data can load. A P21 setup with 30 active UDFs across 5 modules will generate 30 Acumatica custom field definitions. We inventory every UDF column during discovery and deliver an Acumatica UDF setup manifest before the migration run attempts to write data.

  • P21 multi-company databases require an Acumatica tenant strategy before data lands

    P21 runs multiple companies (business entities) inside a single SQL Server database using company-segmented data — each company has its own order number sequences, customer IDs, and GL segments. Acumatica creates a separate company (tenant) per legal entity by default, which means a 4-company P21 setup becomes 4 Acumatica tenants unless you configure cost-bucket segmentation inside a single company. Both approaches have implications for tax setup, inter-company transactions, and reporting. We surface the trade-off analysis in the migration plan before the first record loads.

  • P21 DynaChange customizations have no Acumatica equivalent and must be rebuilt

    P21 DynaChange lets administrators add tabs, reorder fields, and control field visibility within P21 windows without touching the base application. Acumatica's customization model is entirely different — screen-level changes are built as Acumatica Customization Projects (C# graph extensions and screen-level overrides) and deployed as packages. Any DynaChange rules that enforce business logic (hiding fields based on user role, pre-populating values) cannot be migrated as data and must be rewritten as Acumatica customization projects. We inventory every DynaChange rule during discovery and export a functional specification to hand off to your Acumatica developer.

  • Acumatica's inventory valuation method must be selected before stock data loads

    P21 defaults to average cost valuation for on-hand inventory, but Acumatica lets you choose Standard, Average, or FIFO valuation per item class. Loading P21 on-hand quantities into Acumatica without setting the valuation method first causes Acumatica to use the item class default — which may differ from P21's average cost. For lot-tracked items with landed costs in P21, the landed cost configuration in Acumatica must be active before PO receipts land, otherwise freight and duty roll into the item cost differently than in P21.

  • P21 document and number sequences do not map to Acumatica by default

    P21 generates order numbers, invoice numbers, and item IDs using internal number sequences that are not exposed as standalone fields — they are the primary key. Acumatica has its own number sequences configured in the SNSetup screen, and these are independent of the data values. Migrating P21 order number 'SO-2024-00142' into Acumatica requires mapping it to the OrderNbr field while Acumatica's internal sequence counter is separately managed. For customer-facing documents (quotes, invoices), the P21 number should be preserved in Acumatica's CustomerRefNbr or an external reference field, not the Acumatica-generated document number.

Migration approach

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

  1. Inventory the P21 schema and extraction strategy

    FlitStack reviews your P21 environment: version, patch level, modules in use, number of UDF tables and column definitions, DynaChange rule inventory, number sequence configurations, and whether P21 is on-premises (direct SQL) or SaaS (OData/API extraction). On-premises P21 uses read-only SQL access; SaaS P21 uses the P21 Data Services OData API with pagination limits. We deliver a P21 Extraction Specification document that names every table and field we will read before we touch any data.

  2. Design the Acumatica target schema

    Based on the P21 inventory, FlitStack produces an Acumatica Schema Setup Plan: custom field definitions for every P21 UDF, item class configuration for valuation method, warehouse definitions for every P21 location code, and a decision framework for multi-company P21 setups (multi-tenant vs. cost-bucket). Your Acumatica administrator creates the schema elements before data arrives — we provide the exact list so nothing is missed.

  3. Extract, stage, and validate P21 master data

    Master data (customers, vendors, items, warehouses, price lists, and all UDF values) is extracted from P21, staged in FlitStack's validation environment, and checked for referential integrity — orphaned customer addresses, items with no UOM, vendors without payment terms. We surface duplicates, stale records, and incomplete addresses before the migration run. Historical orders (open and closed) are extracted separately after master data is confirmed clean.

  4. Run a sample migration with field-level diff

    A representative slice — typically 100–500 records spanning customers, items, open orders, and closed orders — migrates into a test Acumatica company. We generate a field-level diff between the P21 source values and the Acumatica destination values for every mapped field, so you can verify UDF consolidation, number sequence preservation, lot/serial traceability, and order status mapping before committing to the full run.

  5. Execute full migration with delta-pickup and rollback guard

    The full migration loads into the production Acumatica company via Acumatica's REST API with batch upsert for transactional records. A delta-pickup window (typically 24–48 hours after the full run completes) captures any P21 records modified during cutover — open orders in flight, new customer additions. FlitStack maintains an audit log of every record written, its source value, and its destination key. One-click rollback reverts all Acumatica records to the pre-migration state if reconciliation against P21 reveals unexpected gaps.

Platform deep dives

Context on both ends of the pair

Epicor Prophet 21 logo

Epicor Prophet 21

Source

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.
Acumatica logo

Acumatica

Destination

Strengths

  • Unlimited named-user licensing eliminates per-seat cost scaling as teams grow.
  • Modular architecture lets companies deploy Financials first and add Distribution, Manufacturing, or CRM incrementally.
  • Cloud-native with automatic updates removes infrastructure patching and version management from IT responsibilities.
  • Flexible customization framework (UDFs, extensions) supports vertical-specific workflows without forking core code.
  • Multi-tenant architecture with CompanyID isolation enables safe data segregation across subsidiaries.

Weaknesses

  • Steep learning curve and complex initial setup create significant onboarding friction.
  • Report Designer is widely cited as unintuitive and difficult to use for non-developers.
  • Feature gaps require customizations or third-party add-ons, adding implementation cost and complexity.
  • Implementation timelines frequently exceed initial estimates, especially for multi-module deployments.
  • API rate limits and concurrent session caps are tied to license tier, creating throughput constraints for bulk data operations.

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 Epicor Prophet 21 and Acumatica.

  • 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

    Epicor Prophet 21: Not publicly documented by Epicor; third-party connector rate limits vary by integration layer.

  • Data volume sensitivity

    B

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

Estimator

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

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

Can't find your answer?

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

Book a free 30 minute consultation

For P21 environments under 100,000 master records with clean data, the extraction-through-delta window runs in 2–5 days of clock time. Multi-company P21 setups, heavy UDF usage (30+ custom columns), or historical order loads spanning 5+ years extend the timeline to 3–8 weeks. The longest planning step is UDF inventory and Acumatica schema creation — data movement itself is typically faster than ERP-to-ERP migrations that rely on API-only extraction.

Adjacent paths

Related migrations to explore

Ready when you are

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