ERP migration
Field-level mapping, validation, and rollback between Open-Prod and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
Open-Prod
Source
Epicor Prophet 21
Destination
Compatibility
9 of 12
objects map 1:1 between Open-Prod and Epicor Prophet 21.
Complexity
BStandard
Timeline
6-10 weeks
Overview
Moving from Open-Prod to Epicor ERP is a manufacturing-ERP migration that requires careful sequencing of production, inventory, and financial data across two structurally different ERPs. Open-Prod organizes data around operational workflows (production planning, logistics, after-sales, accounting, projects) with a relatively flat schema, while Epicor ERP uses a modular structure with dedicated tables for PartRev, PartMtl, PartOpr, OrderDtl, ProjectPhase, and FSCall that demand explicit parent-record resolution during import. We extract customer, product, order, project, and service records from Open-Prod, assess each against Epicor's schema (Part, PartBin, OrderHed, Project, FSServiceCall), and flag custom field mapping and attachment gaps as out-of-scope risks before migration begins. Workflow and process configurations in Open-Prod do not migrate; we deliver a written inventory for the customer's Epicor VAR to rebuild. Production job history and labor records carry audit value but require review of Epicor's JobProd and Labor tables before deciding which historical periods to migrate versus archive.
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 Open-Prod 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.
Open-Prod
Customer / Account
Epicor Prophet 21
Customer and ShipTo
1:manyOpen-Prod customer records map to Epicor Customer (company-level) with one or more ShipTo address records (location-level). The Open-Prod customer's primary contact details, payment terms, and credit limits map to Customer fields; shipping addresses become Epicor ShipTo records linked by CustNum. Customer-specific pricing tiers in Open-Prod map to Part/Customer cross-reference records in Epicor if the customer uses customer-specific pricing.
Open-Prod
Product / Item
Epicor Prophet 21
Part
1:1Open-Prod item records (product details, pricing, inventory quantities) map to Epicor Part. The Open-Prod ItemCode maps to Part.PartNum; description maps to Part.PartDescription; UOM from Open-Prod becomes the Part's stocking UOM. Any Open-Prod variant structures (size, color, finish) that use variant matrices map to Epicor PartRev revisions rather than separate Part records, or to a configurable Part where Epicor's Advanced Product Configurator is enabled. Stocking type (make, buy, phantom) requires a decision against Epicor's TypeCode during scoping.
Open-Prod
Bill of Materials
Epicor Prophet 21
PartMtl and PartOpr
1:manyOpen-Prod bills of material (multi-level BOM and operating ranges) map to Epicor PartMtl (material lines) and PartOpr (operation sequences). Each BOM level in Open-Prod becomes a PartMtl entry with the material PartNum, qty-per, and bom-sequence, with PartOpr entries capturing operation number, work center, and estimated cycle time. Phantom BOMs in Open-Prod map to Epicor Part.PhantomBOM = true. Material scrap and operation scrap percentages transfer as-is if the customer's Epicor configuration supports those fields.
Open-Prod
Inventory / Stock Levels
Epicor Prophet 21
PartBin and Warehse
1:1Open-Prod warehouse-level stock positions map to Epicor PartBin (on-hand quantity per part per warehouse and bin). We extract current inventory snapshots per Open-Prod warehouse location and write them to Epicor Warehse and PartBin records. Open purchase orders and pending shipments in Open-Prod require sequencing after PartBin records are populated to avoid stock discontinuity; we hold these in a pending queue until PartBin stabilization is confirmed.
Open-Prod
Sales Order / Invoice
Epicor Prophet 21
OrderHed and OrderDtl
1:1Open-Prod sales orders and invoices map to Epicor OrderHed (header) and OrderDtl (line). OrderHed captures customer, order date, terms, and ship date; OrderDtl captures part number, quantity, price, and warehouse assignment. Open-Prod invoice records with payment status map to Epicor InvoiceHed and InvoiceDtl. We preserve order lineage (original order number from Open-Prod) as a custom field on OrderHed. Post-migration invoice numbering requires coordination with the customer's Epicor admin to set the correct starting sequence.
Open-Prod
Purchase Order
Epicor Prophet 21
POHeader and PODetail
1:1Open-Prod purchase orders map to Epicor POHeader and PODetail. Vendor, order date, terms, and expected receipt date transfer to POHeader; line items (part, quantity, cost) transfer to PODetail. Open-Prod supplier price-change tracking in the SRM module maps to VendorPart records in Epicor for part-number cross-referencing at the vendor level.
Open-Prod
Project
Epicor Prophet 21
Project, ProjectPhase, and ProjectTask
1:1Open-Prod project records with associated tasks and milestones map to Epicor Project, ProjectPhase, and ProjectTask. Phase billing types (T&M, Fixed Fee, Rate Based) require mapping to Epicor's Project.UseTM, Project.UseFFT, and Project.UseRT fields during scoping. Open-Prod project-linked financial entries map to ProjectCost records in Epicor if the customer uses project costing. We flag any Open-Prod task dependencies as requiring manual review in Epicor's WBS after migration because dependency tracking differs between the platforms.
Open-Prod
Service / After-Sales Record
Epicor Prophet 21
FSServiceCall and FSJobStage
1:1Open-Prod after-sales service tickets map to Epicor FSM (Field Service Management) records: FSServiceCall for the service ticket header and FSJobStage for task progression. Open-Prod status and priority values map to Epicor FSSched frozen status codes and FSM priority levels. If the destination Epicor instance does not include the FSM module, service records map to Case records in Epicor's standard service layer instead, with a note in the migration scope about module availability.
Open-Prod
Production Job / Work Order
Epicor Prophet 21
JobHead, JobOper, and JobMtl
1:1Open-Prod production orders and job records map to Epicor JobHead (job header), JobOper (operations), and JobMtl (materials allocated). The Open-Prod planned start and due dates map to JobHead.StartDate and JobHead.DueDate; operation scheduling from Open-Prod's planning module maps to JobOper entries with work-center assignments. We migrate open and in-process jobs; completed jobs are candidates for archival rather than full migration given Epicor's performance sensitivity to large job history tables.
Open-Prod
Work Center / Resource
Epicor Prophet 21
WorkCenter and Resource
1:1Open-Prod resource definitions and work-center configurations map to Epicor WorkCenter and Resource. Labor rates from Open-Prod transfer to WorkCenter.HourlyBurdenCost and WorkCenter.HourlyRate. Shift calendars and capacity settings require manual configuration review post-migration against Epicor's scheduling parameters.
Open-Prod
Custom Fields
Epicor Prophet 21
UD Fields (Custom 1-10 per table)
lossyOpen-Prod custom fields are not publicly documented in the schema, which prevents automated mapping. During discovery we request direct access to the customer's Open-Prod configuration to enumerate custom field names and data types. Each Open-Prod custom field identified maps to an Epicor UD column (e.g., Character01, Number01) on the equivalent Epicor table. Epicor requires BPM logic to populate UD fields on standard transactions; we document the required BPMs in the migration handoff and the customer's Epicor VAR implements them.
Open-Prod
Attachments
Epicor Prophet 21
Document and EDMS
1:1Open-Prod attachment export mechanism is not confirmed in available documentation. We cannot guarantee automated migration of file attachments stored within Open-Prod records. We flag this as out-of-scope until we can validate export capability with the customer's Open-Prod instance. If a confirmed export path exists (direct database query or API export), we can assess file migration into Epicor's EDMS (Electronic Document Management System) as a supplementary engagement.
| Open-Prod | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Customer / Account | Customer and ShipTo1:many | Fully supported | |
| Product / Item | Part1:1 | Fully supported | |
| Bill of Materials | PartMtl and PartOpr1:many | Fully supported | |
| Inventory / Stock Levels | PartBin and Warehse1:1 | Fully supported | |
| Sales Order / Invoice | OrderHed and OrderDtl1:1 | Fully supported | |
| Purchase Order | POHeader and PODetail1:1 | Fully supported | |
| Project | Project, ProjectPhase, and ProjectTask1:1 | Fully supported | |
| Service / After-Sales Record | FSServiceCall and FSJobStage1:1 | Fully supported | |
| Production Job / Work Order | JobHead, JobOper, and JobMtl1:1 | Fully supported | |
| Work Center / Resource | WorkCenter and Resource1:1 | Fully supported | |
| Custom Fields | UD Fields (Custom 1-10 per table)lossy | Not supported | |
| Attachments | Document and EDMS1:1 | Not 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.
Open-Prod gotchas
200+ modules means scoping must inventory which are activated
Industry-specific data structures (BOM, MES, GMAO) need careful mapping
French-language data and localization fields
CAD and EDI integration linkages must be re-established at destination
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 migration scope definition
We conduct a structured discovery call and data audit with the customer's Open-Prod team. This includes exporting record counts for every module (Customers, Items, Inventory, Orders, Projects, Service, Jobs), identifying BOM depth and revision complexity, enumerating custom fields (with schema access if available), assessing open purchase orders and pending shipments, and reviewing the Epicor edition and modules in scope (Kinetic manufacturing, Prophet 21 distribution, FSM service, MES). We also establish the historical retention period for production jobs and transactions. The discovery output is a written migration scope document with record counts, object mapping decisions, and an Epicor edition recommendation.
Source extraction and data quality assessment
We extract data from Open-Prod in dependency order: Customers first, then Items (with BOM structures), then Inventory, then Orders and Invoices, then Projects and Service records, then Production Jobs. During extraction we profile field lengths, date formats, special characters, and null rates to identify mismatches with Epicor's schema (for example, part numbers exceeding Epicor's Part.PartNum field length, or non-ASCII characters that Epicor's database will reject). We produce a data quality report with flagged records and remediation steps before any target-system work begins.
Epicor schema design and sandbox preparation
We design the Epicor target schema in a Sandbox or development environment before any production data loads. This includes configuring Part records with the correct TypeCode (make, buy, phantom), creating the PartRev revision tree for configure-to-order items, setting up Warehse and PartBin locations, defining OrderHed and OrderDtl with the correct order types and FOB terms, and configuring FSM FSSchedule and FSSkill records for service records. If UD fields are required, we create them as Character01-10 or Number01-10 columns on the relevant tables. BPMs for UD field population are drafted and unit-tested in the sandbox.
Sandbox migration and reconciliation
We run a full migration into the Epicor Sandbox using production-like data volumes. The customer's operations lead and Epicor VAR reconcile record counts, spot-check random samples against the Open-Prod source, and validate BOM structures, pricing, and inventory levels in Epicor. Any mapping corrections (field truncation, value translation, BOM explosion) are resolved in the sandbox before production migration begins. Sign-off from the customer's admin is required before cutover proceeds.
Production migration in dependency order
We run production migration in strict dependency order: Customers (to create CustNum), Parts (to create PartNum), PartRev revisions and BOM structures, Warehse and PartBin inventory, open Purchase Orders, open Sales Orders and OrderDtl, open Production Jobs (JobHead, JobMtl, JobOper), Projects and ProjectPhase, and Service records. Each phase emits a row-count reconciliation report before the next phase begins. We use Epicor DMT for bulk part and order loads and the Epicor REST API for transactional records that require real-time validation.
Cutover, validation, and workflow handoff
We freeze Open-Prod 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 workflow and automation inventory document listing every Open-Prod workflow, approval chain, and process configuration that requires rebuild in Epicor using Kinetic process management or Prophet 21 configuration tools. We support a one-week hypercare window for reconciliation issues. We do not rebuild Open-Prod workflows as Epicor BPMs or Kinetic process maps inside the migration scope; that work is handled by the customer's Epicor VAR as a separate implementation engagement.
Platform deep dives
Open-Prod
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 Open-Prod 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
Open-Prod: Not publicly documented.
Data volume sensitivity
Open-Prod 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 Open-Prod to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your Open-Prod 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 Open-Prod
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.