ERP migration
Field-level mapping, validation, and rollback between Acumatica and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
Acumatica
Source
Epicor Prophet 21
Destination
Compatibility
11 of 15
objects map 1:1 between Acumatica and Epicor Prophet 21.
Complexity
BStandard
Timeline
8-12 weeks
Try the reverse
Overview
Moving from Acumatica to Epicor ERP is a platform migration that requires resolving Acumatica's multi-tenant CompanyID isolation, its UDF extension field pattern (stored under a 'custom' namespace in the REST API), and its separate Note and NoteDoc table structure. Epicor ERP organizes data around Company, Site, Warehouse, Customer, Supplier, Part, and Project entities with a different foreign-key model than Acumatica's normalized schema. We sequence the migration by extracting Acumatica records filtered by the scoped TenantID, mapping Acumatica Business Accounts to Epicor Customers and Vendors to Suppliers, resolving warehouse and site assignments, and importing BOM and routing data for manufacturing customers into Epicor's product configuration tables. Workflows, notification sets, and custom screens built on Acumatica's Customization Project framework do not migrate; we deliver a written inventory of these for the customer's implementation team to rebuild in Epicor.
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.
Source platform
Acumatica platform overview
Scorecard, SWOT, gotchas, and pricing for Acumatica.
Destination platform
Epicor Prophet 21 platform overview
Scorecard, SWOT, gotchas, and pricing for Epicor Prophet 21.
Data migration guide
The complete Epicor ERP migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Source platform guide
Acumatica migration guide
Understand the data you're exporting from Acumatica before mapping it.
Destination checklist
Epicor ERP migration checklist
Pre- and post-cutover tasks for moving onto Epicor Prophet 21.
Source checklist
Acumatica migration checklist
Exit checklist for unwinding your Acumatica setup cleanly.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Acumatica 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.
Acumatica
Business Account (Customer)
Epicor Prophet 21
Customer
1:1Acumatica Business Accounts with Customer marked as primary map to Epicor Customer. The Acumatica CustomerClass and CreditTerms map to Epicor CustomerType and PaymentTerms. Address records in Acumatica (Location table) map to Epicor CustomerPriceHdr/CustomerShipTo addresses. We preserve the primary contact name and email as Customer.AllowShipTo changes to no flag. Multi-entity Acumatica customers with separate CompanyIDs may map to separate Epicor companies or to divisions within one Epicor company depending on the customer's chosen organizational structure.
Acumatica
Business Account (Vendor)
Epicor Prophet 21
Supplier
1:1Acumatica Vendors map to Epicor Supplier. AP settings, payment terms, and tax registration IDs transfer to Epicor Supplier rows. Vendor addresses map to Epicor SupplierPriceHdr/ShipVia addresses. If the Acumatica Business Account serves as both Customer and Vendor, we create separate Customer and Supplier records in Epicor linked by the same name.
Acumatica
Inventory Item (Stock/Non-Stock)
Epicor Prophet 21
Part
1:1Acumatica Inventory Items map to Epicor Part records. Stock items carry warehouse-specific AvailabilityQty data that maps to PartWhse OnHandQty by Site and Warehouse. Non-stock items map to Part with TypeCode = Non-Stock. Units of Measure from Acumatica map to Epicor's UOMClass and UOM conversions. The Acumatica ItemClass determines the Epicor Part Class group. AvailabilityQty is derived at migration time by aggregating warehouse-level stock records.
Acumatica
Bill of Materials
Epicor Prophet 21
JobMtl (BOM)
lossyAcumatica BOMs defined on Inventory Items map to Epicor JobMtl and PartMtl (depending on whether the customer uses make-to-stock or make-to-order). We extract the BOM structure with line quantities, scrap factors, and bill sequence, then create Epicor PartMtl records linked to the parent Part. If Acumatica maintains multiple BOM revisions, we migrate the most recent active revision and flag revision history for manual handoff.
Acumatica
Routing / Production Operator
Epicor Prophet 21
PartOpSeq and JobOper
lossyAcumatica production routings map to Epicor PartOpSeq (for standard routing definitions) and JobOper (for job-specific operations). Work centers from Acumatica map to Epicor Workstations and ResourceGroups. If Acumatica uses Project-based production with tasks, those map to Epicor JobHead with project-linked job numbering.
Acumatica
Chart of Accounts
Epicor Prophet 21
GL Account
1:1Acumatica GL Accounts map to Epicor GLAccount with account class, type, subaccount mask, and active/inactive status preserved. Subaccount segmentation from Acumatica maps to Epicor's segment structure if the customer uses multi-segment account codes. We preserve the account hierarchy and map the AccountClass to Epicor's Category field for reporting grouping.
Acumatica
Project
Epicor Prophet 21
Project
1:1Acumatica Projects map to Epicor Project with budgets, tasks, and change orders preserved. Project attributes and user-defined fields migrate to Epicor Project-level UD fields. If the Acumatica project uses Project-based billing or revenue recognition, we map those settings to Epicor Project and ProjectPhase billing rules. Project hierarchies with sub-projects map to Epicor ProjectPhase records.
Acumatica
Sales Order
Epicor Prophet 21
OrderHed and OrderDtl
1:1Acumatica Sales Orders map to Epicor OrderHed (header) and OrderDtl (lines). Document status (on hold, pending fulfillment, completed) preserves to allow reactivation in Epicor. Line items carry item, quantity, warehouse assignment, and tax category. Tax calculation settings on customer and inventory item combine to produce the Epicor tax liability on import. Open versus closed status governs whether we import the full history or only open documents.
Acumatica
Purchase Order
Epicor Prophet 21
POHeader and PODetail
1:1Acumatica Purchase Orders map to Epicor POHeader and PODetail. Vendor, line items, receipts, and amendments are extracted as related records. Receipts and amendments in Acumatica use separate schemas and migrate as separate linked records in Epicor with appropriate PO line references. Closed PO history migrates if the customer requires it; otherwise we migrate open POs only.
Acumatica
AR Invoice
Epicor Prophet 21
ARInvoice
1:1Open AR invoices from Acumatica carry payment schedules, terms, and aging data. We map customer invoices to Epicor AR Invoice with the aging bucket assignments preserved. Historical invoices referencing balance tables require careful sequencing to maintain GL impact. Closed AR history can be migrated as a reference record without posting impact if the customer requires an audit trail.
Acumatica
AP Invoice
Epicor Prophet 21
APInvoice
1:1Open AP invoices from Acumatica map to Epicor AP Invoice with vendor, invoice number, date, and amount. Terms and payment schedules transfer. GL batch references from Acumatica map to Epicor GL Journal entries for reconciliation. We flag any prepayment or credit memo records that require separate handling in Epicor's prepayment workflow.
Acumatica
Employee
Epicor Prophet 21
Employee
1:1Acumatica Employee records include compensation history, department assignments, and timecard data. Employment status, job titles, and earning codes preserve. Effective-dated rows (such as compensation changes) migrate as separate records with the effective date carried forward. We map the Acumatica Department to Epicor Class for labor reporting.
Acumatica
Warehouse/Location
Epicor Prophet 21
Site and Warehouse
1:manyAcumatica Warehouse records with bin structures map to Epicor Plant (Site) and Warehouse. Each Acumatica warehouse with bins becomes an Epicor Site with one or more Warehouses containing Bin records. Warehouse assignments on inventory items map to PartWhse records linking Part to Site and Warehouse.
Acumatica
Custom Field (UDF)
Epicor Prophet 21
User-Defined Field
lossyAcumatica UDFs on any entity (Business Account, Vendor, Inventory Item, Project, etc.) use the extension DAC pattern and appear under a 'custom' namespace in the REST API. We discover all UDF definitions via the entity schema endpoint before building field mappings. Each UDF maps to an Epicor UD field on the equivalent entity, with Acumatica CustomStringField, CustomDateField, and CustomNumberField types mapped to Epicor string, date, and number UD field types.
Acumatica
Note and NoteDoc
Epicor Prophet 21
Document Management / Linked Note
1:1Acumatica Note text and file attachments stored in the separate Note and NoteDoc tables are not first-class API entities. We extract note content, entity reference (EntityID plus EntityType), and NoteDoc binary files separately, then re-link them in Epicor using the DocReference table or embedded note fields on the target entity depending on Epicor's configuration.
| Acumatica | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Business Account (Customer) | Customer1:1 | Fully supported | |
| Business Account (Vendor) | Supplier1:1 | Fully supported | |
| Inventory Item (Stock/Non-Stock) | Part1:1 | Fully supported | |
| Bill of Materials | JobMtl (BOM)lossy | Fully supported | |
| Routing / Production Operator | PartOpSeq and JobOperlossy | Fully supported | |
| Chart of Accounts | GL Account1:1 | Fully supported | |
| Project | Project1:1 | Fully supported | |
| Sales Order | OrderHed and OrderDtl1:1 | Fully supported | |
| Purchase Order | POHeader and PODetail1:1 | Fully supported | |
| AR Invoice | ARInvoice1:1 | Fully supported | |
| AP Invoice | APInvoice1:1 | Fully supported | |
| Employee | Employee1:1 | Fully supported | |
| Warehouse/Location | Site and Warehouse1:many | Fully supported | |
| Custom Field (UDF) | User-Defined Fieldlossy | Fully supported | |
| Note and NoteDoc | Document Management / Linked Note1: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.
Acumatica gotchas
API user licenses cap concurrent sessions and request throughput
Multi-tenant filtering requires CompanyID awareness
Custom fields require separate discovery before field mapping
Notes and attachments use a separate linked table structure
Implementation timelines frequently run 3–9 months end-to-end
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 organizational design
We audit the Acumatica source environment across license tier (Essentials through Enterprise), active modules (Financials, Distribution, Manufacturing, CRM), CompanyID list and inter-company transaction volume, UDF definitions on all migrated entities, BOM and routing presence on Inventory Items, Project hierarchies and change order volume, and open versus closed document counts for Orders, POs, and invoices. We pair this with an Epicor organizational design session: one Epicor Company per Acumatica Company, or consolidation under one Company with Plants per tenant. The discovery output is a written migration scope, organizational hierarchy map, and a UDF inventory for every source entity.
Epicor company and site provisioning
Before any data import, we provision the Epicor Company, Plant (Site), and Warehouse hierarchy in the destination environment. This is a prerequisite for all subsequent record imports because PartWhse records, Customer address assignments, and Supplier shipping records require a valid Site reference. We coordinate with the customer's Epicor administrator or implementation partner to configure the organizational structure using Epicor Data Management tools or direct database provisioning. This step cannot run in parallel with data extraction from Acumatica because the destination key structure must be stable before we begin inserting records.
GL chart and account mapping
We extract the Acumatica Chart of Accounts with account class, type, subaccount mask, and active/inactive status. We map each Acumatica account to an Epicor GLAccount, preserving subaccount segmentation if the customer uses multi-segment codes. GL account validation rules and posting definitions in Acumatica map to Epicor Account segments and book codes. This phase runs before any transactional imports because every AR/AP/GL entry references account numbers.
Master data migration in dependency order
We run master data migration in strict dependency order: GL Accounts first (all transaction references depend on them), then Part Classes, then Parts (Stock and Non-Stock with PartWhse per Site), then PartMtl and PartOpSeq for BOM and routing, then Customers and Suppliers with address records, then Employees, then Projects with phase and budget structures. Each phase emits a row-count reconciliation report and a random-record spot-check against the Acumatica source before the next phase begins. Custom fields migrate during each phase as named properties within the entity payload.
Transactional record migration
With master data stable and foreign keys resolved, we migrate open Sales Orders, Purchase Orders, AR invoices, and AP invoices. We preserve document status to allow reactivation in Epicor. Closed transaction history migrates if scoped, using a lower-priority batch with separate reconciliation reporting. Activity history (if scoped) migrates via Epicor's REST API with batch chunking and parent-record lookup resolution.
Sandbox migration and production validation
We run a full migration into an Epicor Sandbox environment using production-like data volume. The customer's operations team reconciles record counts (Customers in, Suppliers in, Parts in, open Orders in, open POs in), spot-checks fifty random records against the Acumatica source, and signs off the schema and mapping before production migration begins. Any BOM mapping corrections, site assignments, or UDF type mismatches surface here and are resolved before production cutover.
Production cutover and workflow handoff
We freeze Acumatica writes during cutover, run a final delta migration of any records modified during the migration window, then enable Epicor as the system of record. We deliver a written inventory of Acumatica workflows, notification sets, and customization projects (screen-level customizations, extension projects, and custom reports) that require rebuild in Epicor using its Business Event Manager, Report Designer, and Customization Framework. We do not rebuild these as part of the migration scope. We support a one-week hypercare window to resolve reconciliation issues raised during the first production week.
Platform deep dives
Acumatica
Source
Strengths
Weaknesses
Epicor Prophet 21
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. 3 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 Acumatica and Epicor Prophet 21.
Object compatibility
3 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
Acumatica: Licensed by tier — limits visible in License Monitoring Console (SM604000). Community reports suggest ~100 API calls/minute on standard licenses, with higher limits on Enterprise. Concurrent web service sessions are also license-restricted..
Data volume sensitivity
Acumatica 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 Acumatica to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your Acumatica 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 Acumatica
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.