ERP migration
Field-level mapping, validation, and rollback between Base ERP and Epicor Prophet 21. We move data and schema; workflows are rebuilt natively in Epicor Prophet 21.
Base ERP
Source
Epicor Prophet 21
Destination
Compatibility
8 of 12
objects map 1:1 between Base ERP and Epicor Prophet 21.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Base ERP to Epicor ERP is a domain-shift migration, not a simple record copy. Base ERP centers on e-commerce inventory, marketplace listings, and stock synchronization across channels like eBay, Amazon, and Allegro. Epicor ERP is a manufacturing-first platform designed for job shops, make-to-order, and mixed-mode production environments with shop floor scheduling, MES, and configure-to-order capabilities. The migration requires translating a product catalog built around marketplace offers into a parts master built for BOMs, routing, and production tracking. We resolve that structural difference during scoping, pre-create the Epicor parts schema with UOM handling and revision control, and preserve warehouse-to-location mapping so that on-hand quantities land in the correct Epicor PartWhse records. Marketplace connector credentials cannot be extracted from BaseLinker; we deliver a documented channel-reconnection checklist so that the customer's team re-establishes each channel manually. We do not migrate automations, workflows, or marketplace listing rules as code; these are inventory-centric and have no Epicor equivalent, so we deliver a written inventory for the customer to evaluate rebuild.
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 Base 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.
Base ERP
Product / Offer
Epicor Prophet 21
Part
1:1Base ERP Products (Offers) carry SKU, name, description, images, and dimensions. We map sku to PartNum, Name to PartDescription, and the product description to the Part's search and marketing text fields. Weight and dimension fields map to Part's UOMClass and the PartWhse on-hand tracking. Large catalogs are chunked into batches of 500-1,000 parts and loaded via Epicor's REST or OData API with part revision control initialized at RevType = new/main. Custom product fields from Base ERP migrate to UD fields on the Part table.
Base ERP
Stock Levels
Epicor Prophet 21
PartWhse
1:1Base ERP real-time stock quantities per Warehouse per Product map to Epicor PartWhse records. We resolve each Base ERP Warehouse to an Epicor WarehouseCode, then create one PartWhse row per Part-Warehouse combination with OnHandQty set to the Base ERP stock snapshot taken at migration start time. Bin locations in Base ERP map to PartBin if the customer uses bin tracking; otherwise stock lands at the warehouse level.
Base ERP
Warehouse
Epicor Prophet 21
Warehouse
1:1Base ERP Warehouses map directly to Epicor Warehse records with WarehouseCode and Name preserved. Multiple warehouses are supported in both platforms but Base ERP naming conventions vary widely between accounts; we run a pre-migration audit, standardize warehouse names to alphanumeric codes compatible with Epicor's schema, and map the full Warehouse list so that each source location resolves to a target location entity.
Base ERP
Order
Epicor Prophet 21
OrderHed + OrderDtl
1:1Base ERP Orders carry customer details, line items, shipping address, payment method, and fulfillment status. We map OrderHed fields (CustomerNum, ShipToNum, OrderDate, DueDate) and create OrderDtl rows per line item linking to the PartNum resolved from the source product catalog. Completed orders include fulfillment tracking fields that map to OrderRel for ship detail. We export open and historical orders; completed orders preserve their historical status.
Base ERP
Pricing Rules
Epicor Prophet 21
PriceLbr + PricePerBreak
lossyBase ERP pricing rules defined per marketplace channel or quantity tier require translation into Epicor's PriceLbr (labor pricing) and PricePerBreak (quantity breaks) tables. The flat key-value pricing export from Base ERP may need expansion into per-channel price lists; we create Epicor Price Lists (PartPlant pricing) and link them to the relevant Customer or Customer Group. Quantity-tier pricing becomes PricePerBreak records on the Part.
Base ERP
Marketplace Connector
Epicor Prophet 21
N/A (manual reconnection required)
lossyBase ERP marketplace connector profiles store channel-specific listing IDs and account credentials for eBay, Amazon, Allegro, and regional channels. These credentials cannot be exported via standard API or CSV. We export the connector configuration (channel type, listing IDs, sync rules) as a written document, map the source channel-to-offer relationships to a channel-reconnection checklist, and note that the customer's team must manually re-enter credentials in their e-commerce integration layer post-migration.
Base ERP
Custom Product Fields
Epicor Prophet 21
UD Fields (Part UD Codes)
1:1Base ERP allows user-defined additional fields per product (custom dimensions, certifications, seasonal flags) exported as extra columns. We map these to Epicor Part UD fields using the UD Column Map approach documented in Epicor user forums. Field types are inferred from Base ERP export column types (text, number, date, boolean) and cast to the nearest Epicor UD data type. Type mismatches are flagged for manual review before import.
Base ERP
Users / Owners
Epicor Prophet 21
Employee
1:1Base ERP user accounts carry roles (Admin, Operator, Warehouse Manager). We map Users to Epicor Employee records and preserve role assignments as a custom field (UserRole__c) since Epicor's security model uses the Employee table with RoleCode assignments rather than a separate user object. Any Base ERP Owner without a matching Epicor Employee goes to a reconciliation queue for manual provisioning.
Base ERP
Invoices
Epicor Prophet 21
N/A
1:1Base ERP does not have a native invoice generation module; invoicing is handled by an external accounting tool integrated via BaseLinker. We do not migrate invoice records. Customers should export invoices from their external accounting platform separately if invoice history is required in Epicor; invoice data can be imported into Epicor's AR Invoice entry post-migration as a separate data load.
Base ERP
BOM / Routing
Epicor Prophet 21
JobMtl + JobOper
lossyBase ERP does not natively support Bills of Materials or production routings. If the customer uses third-party manufacturing add-ons or manual BOM records stored in custom fields, we extract them as part of the custom field audit and map them to Epicor JobMtl (material requirements) and JobOper (operations/routings). If no BOM data exists in Base ERP, this object is omitted from migration scope and Epicor's BOM entry is handled by the customer's engineering team post-migration.
Base ERP
Beta Inventory Control data
Epicor Prophet 21
PartWhse (flagged)
1:1Base ERP's Inventory Control module is explicitly in public beta with a schema that may change without notice. We run a pre-migration audit of any records stored in this module. If the module has reached general availability by migration time, we include the data in PartWhse migration under a versioned schema snapshot. If it remains in beta, we flag the records, extract them under a timestamped schema snapshot, and store them in a staging table for the customer to evaluate post-migration.
Base ERP
Duplicate SKUs
Epicor Prophet 21
Part (deduped)
lossyBase ERP accounts accumulate duplicate product entries over years of use—variants with slightly different spellings, formatting, or abandoned test listings. The CSV export does not deduplicate these. We run a pre-migration similarity analysis on product names and SKUs using Levenshtein distance matching, surface duplicates for customer review, and either merge them (consolidating to a single Part with multiple customer IDs) or archive the inactive duplicates before transfer so the Epicor parts master stays clean.
| Base ERP | Epicor Prophet 21 | Compatibility | |
|---|---|---|---|
| Product / Offer | Part1:1 | Fully supported | |
| Stock Levels | PartWhse1:1 | Fully supported | |
| Warehouse | Warehouse1:1 | Fully supported | |
| Order | OrderHed + OrderDtl1:1 | Fully supported | |
| Pricing Rules | PriceLbr + PricePerBreaklossy | Mapping required | |
| Marketplace Connector | N/A (manual reconnection required)lossy | Fully supported | |
| Custom Product Fields | UD Fields (Part UD Codes)1:1 | Mapping required | |
| Users / Owners | Employee1:1 | Mapping required | |
| Invoices | N/A1:1 | Not supported | |
| BOM / Routing | JobMtl + JobOperlossy | Fully supported | |
| Beta Inventory Control data | PartWhse (flagged)1:1 | Fully supported | |
| Duplicate SKUs | Part (deduped)lossy | 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.
Base ERP gotchas
Inventory Control module is in public beta
Duplicate SKUs accumulate in long-running accounts
Marketplace connector credentials are non-exportable
Order export excludes records from paused connectors
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 schema assessment
We audit the source Base ERP account across plan tier, offer volume, warehouse count, active connectors, custom product fields, order history volume, and any beta Inventory Control usage. We pair this with an Epicor edition and module assessment: which Epicor products (Epicor ERP, Epicor Kinetic, Epicor Commerce) are in scope, which modules are active (Part Master, Inventory, Order Management, MES), and whether BOM and routing data exists in any form. The discovery output is a written migration scope with record counts per object and a migration object checklist confirming what will and will not move.
Duplicate SKU remediation and data quality
We run a similarity analysis on the Base ERP product catalog using SKU and product name fuzzy matching to surface duplicates accumulated over years of use. We present the duplicate list to the customer for review and decision (merge, archive, or keep separate). We also clean up any malformed SKUs, strip non-printable characters from product descriptions, and validate that UOM values in the export are compatible with Epicor's UOMClass structure. Data quality remediation happens before any schema load to prevent import failures in Epicor.
Epicor parts schema pre-creation and UD field setup
We pre-create the Epicor parts schema in a Sandbox or staging environment. This includes Part records initialized with PartNum, PartDescription, UOMClass, and Revision control, PartWhse records per warehouse location, PriceLbr and PricePerBreak entries for migrated pricing rules, and UD fields for any custom Base ERP product fields. We configure the UD Column Map for each custom field so that the import file columns resolve to the correct Epicor UD fields. Schema validation runs in Epicor's UI before production migration begins.
Warehouse mapping and PartWhse population
We map each Base ERP Warehouse to an Epicor Warehse record, resolving naming conventions and creating new Epicor warehouse codes where the source naming is incompatible. We then populate PartWhse records using the Base ERP stock snapshot taken at migration start time, ensuring a consistent point-in-time on-hand quantity. If bin tracking is in use in Epicor, we map Base ERP bin locations to PartBin records; otherwise stock lands at the warehouse level.
Production migration in dependency order
We run production migration in record-dependency order: Warehouses first (Warehse), then Parts (Part master), then PartWhse (on-hand stock), then OrderHed and OrderDtl (with PartNum resolved from the Part master), then custom fields and UD data. Pricing rules migrate to PriceLbr and PricePerBreak as a final step. Each phase emits a row-count reconciliation report before the next phase begins. Any records rejected by Epicor's validation rules are logged, corrected, and retried in the same phase before moving forward.
Channel reconnection handoff and marketplace checklist delivery
We deliver the channel-reconnection checklist documenting every Base ERP marketplace connector, its channel type, listing IDs, and sync rule configuration. The customer's team uses this checklist to manually re-enter credentials in their chosen e-commerce integration layer. We do not rebuild marketplace listing rules or channel-specific pricing as Epicor automations; the checklist documents the current state for the customer's admin to evaluate rebuild options. We do not migrate workflows, automations, or BaseLinker rules as code.
Cutover, validation, and post-migration inventory
We freeze Base ERP 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 reconciliation report comparing source record counts to destination record counts per object. We support a one-week hypercare window for reconciliation issues. We deliver the workflow and automation inventory document separately; rebuilding BaseLinker rules or marketplace automations is outside standard migration scope.
Platform deep dives
Base ERP
Source
Strengths
Weaknesses
Epicor Prophet 21
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. 2 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 Base ERP and Epicor Prophet 21.
Object compatibility
2 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
Base ERP: Not publicly documented.
Data volume sensitivity
Base ERP 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 Base ERP to Epicor Prophet 21 migration scoping. Not seeing yours? Book a call.
Walk through your Base ERP 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 Base ERP
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.